linux 基线加固
1、隐藏SSH的banner信息
检查办法
cat /etc/ssh/sshd_config 是否为注释Banner /etc/issue.net 行,不存在未注释Banner行或Banner值为none也是合规的
加固办法
隐藏SSH的Banner信息:
先备份sshd_config
cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
vim /etc/ssh/sshd_config 隐藏Banner 信息
2、定时账户自动退出
检查办法
bash 下空闲等待时间TMOUT 设置:
TMOUT的值大于0且小于等于300 为合规
cat /etc/profile|grep export
加固办法
备份profile 文件
cp /etc/profile /etc/profile_bak
vim /etc/profile
添加/新增
export TMOUT=300
然后执行source /etc/profile
3、配置远程日志服务器
检查办法
配置远程日志服务器:
查看日志文件是否配置远程日志服务器,存在则合规
查看命令:cat /etc/rsyslog.conf;cat /etc/syslog/conf;cat /etc/rsyslog.d/50-default.conf
加固配置
先配置文件cp -p /etc/rsyslog.conf /etc/rsyslog.conf_bak
配置文件
vim /etc/rsyslog.conf
添加如下行
*.* @172.0.0.1
根据实际情况配置远程ip地址
4、检查新建用户的home目录的缺省访问权限
检查办法
查看/etc/login.defs中是否存在UMASK 027,存在则合规
加固办法
检查新建用户的home目录的缺省访问权限
备份/etc/login.defs /etc/login.defs_bak
vim /etc/login.defs 在尾部增加UMASK 027(如果文件中有umask,则需要先循环注释),将缺省访问权限设置为750
5、检查是否指定用户组成员使用su 命令
检查办法
检查是否指定用户组使用su命令
存在auth requires pam_wheel.so group=wheel 表示合规
查看文件:cat /etc/pam.d/su
加固配置
先备份 cp /etc/pam.d/su /etc/pam.d/su_bak
编辑文件
vim /etc/pam.d/su
添加或修改如下行auth requires pam_wheel.so group=wheel (其中wheel组为可以su到root的用户组)
6、检查账户口令是否符合要求
检查办法
设置账户口令有效期
PASS_MAX_DAYS 的值大于0且小于等于90则为合规
查看命令:cat /etc/login.defs
加固配置
设置账户口令有效期
执行命令配置文件
编辑文件/etc/login.defs
PASS_MAX_DAYS 90
7、检查密码字符串中含有大写字符个数:
使用pam_cracklib.so模块
备份文件/etc/pam.d/system-auth或/etc/pam.d/passwd
修改文件文件system-auth或passwd
password required pam_cracjlib.so dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1
使用pam_pwquality.so模块
备份文件/etc/pam.d/system-auth或/etc/pam.d/passwd
修改文件文件system-auth或passwd
password required pam_pwquality.so dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1
或在pwquality.conf修改 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1
注意只需要修改文件其中两个中的一个
8、检查vsftp回显信息
检查办法
修改vsftp回显信息
cat /etc/vsftpd/vsftpd.conf
加固配置
修改vsftp.conf 回显信息
vim /etc/vsftpd/vsftpd.conf
ftpd_banner="Authorized users only .All activity may be monitired and reported"
重启服务:
/etc/init.d/xinetd restart
9、限制超级管理员的用户远程登录
检查办法
禁止root用户远程登录
查看文件sshd_conf 文件中的PermitRootLogin的值是否为no ,为no为合规
cat /etc/ssh/sshd_config|grepPermitRootLogin
加固配置
vim /etc/ssh/sshd.conf
修改 PermitRootLogin no
10、账户目录中不存在危险文件
检查办法
账户目录中不存在.rhosts文件:
返回值不包含.rhosts文件
查看命令:ls -la $(cut -d":" -f6 /etc/passwd) 2>/dev/null| grep -E ".rhosts|/" --color=never
账户目录中不存在.netrc文件
查看命令:ls -la $(cut -d":" -f6 /etc/passwd) 2>/dev/null| grep -E ".netrc|/" --color=never
加固配置
账户目录中不存在.rhost文件:
rm -f 文件
账户目录中不存在.netrc文件:
rm -f 文件
11、关闭不必要的服务
检查方法
关闭不必要的服务
查看服务列表
查看命令 LANG="en_US" chkconfig --list > /tmp/systemctl.txt && cat /tmp/systemctl.txt
rm -f /tmp/systemctl.txt
加固配置
关闭不必要的服务
禁止非必要服务
chkconfig [servicce] off
12、查看组和组内用户
检查办法
查看命令:cat /etc/group
加固办法
备份文件cp /etc/group /etc/group_bak
修改用户所属组
usermod -g group username
13、对用户登录认证、权限变更进行记录
检查办法
配置记录用户权限变更日志
查看cat /etc/rsyslog.conf;cat /etc/syslog.conf;cat /etc/rsyslog.d/50-default.conf 是否配置authpriv.info /<path>或authpriv.* /</path> 存在则为合规
加固配置
配置记录用户权限变更日志:
备份配置文件cp -p etc/syslog.conf etc/syslog.conf_bak
vim /etc/rsyslog.conf
添加authpriv.info /<path>或authpriv.* /</path>.
14、限制部分用户访问ftp
检查办法
cat /etc/ftpaccess
加固配置
将禁止访问的用户加入/etc/ftpaccess 文件
15、重要文件和目录的权限进行设置
passwd 文件权限应小于等于644
ll /etc/passwd
shadow 文件的权限,应小于等于400
ll /etc/shadow
group文件权限应小于等于644
ll /etc/group
加固配置
passwd 修改配置文件
修改passwd 文件权限chmod 644 /etc/passwd
shadow 文件权限
备份shadow 文件
修改shadow文件权限 chmod 400 /etc/shadow
备份group文件
修改group 文件权限chmod 644 /etc/group