Centos7十五项安全加固标准配置(结合等保3)

写在前面:由于所有操作均涉及系统文件,建议所有操作前备份文件及做好相关记录

一、检查系统空密码账户 | 身份鉴别

描述

检查是否存在空口令和root权限的账号

加固建议

对无口令并且可登录的账户,进行密码设置:(注意密码不能包含用户名,也不能少于7位)

具体操作命令和步骤

1、检查空口令账户

awk -F: '$2=="!!" {print $1}' /etc/shadow

2、检查空口令账户哪些可以登录

grep -v "/sbin/nologin" /etc/passwd

PS: /bin/bash的为可登录账户

3、加固可登录的空口令账户或注销空口令账户

4、检测root权限账号

awk -F: '($3==0)' /etc/passwd

确保uid为0的账号只能是root账号

操作时建议做好记录或备份

二、SSH安全加固 | SSH服务配置

描述

加固SSH远程访问安全策略,限制可登录用户及来源地址

加固建议

编辑文件/etc/ssh/sshd_config,将一应配置修改

具体操作命令和步骤

1、编辑文件/etc/ssh/sshd_config

vim /etc/ssh/sshd_config

2、修改配置

Port = *** --修改默认端口

AllowUsers 用户名[email protected] 用户名[email protected] --设置允许登录用户,多个用户可空格添加

AllowGroup *** --设置允许登录用户组

ListenAddress 0.0.0.0 --设置SSH指定的本地地址,多网卡可用

Protocol 2 --强制使用 V2安全协议 ,SSH1存在漏洞与缺陷

MaxAuthTries = 3 --修改允许密码错误次数

PermitRootLogin no --禁止使用root远程登录

RSAAuthentication yes --设置用户密钥登录,只针对SSH1,此功能另开一篇记录

PubkeyAuthentication yes --设置是否开启公钥验证

PermitEmptyPasswords no --是否允许空密码

ClientAliveInterval 300 --设置SSH空闲超时退出时间,单位:秒

ClientAliveCountMax 0 --设置允许超时的次数 0即表示不允许超时

LogLevel INFO – 开通登录日志的详细记录

AllowAgentForwarding no

AllowTcpForwarding no --设置是否允许允许tcp端口转发,保护其他的tcp连接

UseDNS no --设置不使用dns反向解析

MaxStartups 5 --设置同时允许5尚未登入的联机,当用户连上ssh但并未输入密码即为所谓的联机

3、记录所有用户的登录和操作日志

通过脚本代码实现记录所有用户的登录操作日志,防止出现安全事件后无据可查。vim /etc/profile修改配置文件,在配置文件中输入以下内容:

history
 USER=`whoami`
 USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
 if [ "$USER_IP" = "" ]; then
 USER_IP=`hostname`
 fi
 if [ ! -d /var/log/history ]; then
 mkdir /var/log/history
 chmod 777 /var/log/history
 fi
 if [ ! -d /var/log/history/${LOGNAME} ]; then
 mkdir /var/log/history/${LOGNAME}
 chmod 300 /var/log/history/${LOGNAME}
 fi
 export HIST

你可能感兴趣的:(Centos,安全,安全,网络,linux)