Linux7系统基线加固
修改默认SNMP团体名public为xxxxxxxxx,命令:vi /etc/snmp/snmpd.conf 重启SNMP服务:systemctl start snmpd.service
密码策略 修改命令:vi etc/login.defs;检查口令更改最小间隔天数,PASS_MIN_DAYS默认为0,改为180天,密码最小长度8,提示周期90天
账户锁定: 编辑vi /etc/pam.d/login 添加: auth required pam_tally2.so deny=15 lock_time=300 even_deny_root root_unlock_time=300 deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户。
设置密码复杂度规则 编辑命令 vi /etc/pam.d/system-auth 注释原来:#password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= 添加一行:password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root 说明: minlen=8 密码最小长度为8个字符。lcredit=-1 密码应包含的小写字母的至少一个ucredit=-1 密码应包含的大写字母至少一个dcredit=-1 将密码包含的数字至少为一个ocredit=-1 设置其他符号的最小数量,例如@,#、! $%等,至少要有一个enforce_for_root 确保即使是root用户设置密码,也应强制执行复杂性策略。
启用屏保 gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set /apps/gnome-screensaver/mode blank-only 启用空闲激活 gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type int --set /apps/gnome-screensaver/idle_delay 15 启用屏幕锁 gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type bool --set /apps/gnome-screensaver/lock_enabled true
限制root远程登录范围
限制远程登录IP范围,启用白名单功能 vi /etc/hosts.allow,其中“*”代表网段部分Linux系统没有hosts.allow和hosts.deny黑白名单
hosts.allow添加以下配置: sshd:192.168.*.*:allow hosts.deny添加以下配置: sshd:all:deny
检查超权账户
查看uid为0的用户,uid为0就拥有root权限,awk -F: ‘($3==0){print $1}’ /etc/passwd,目前只有root用户拥有root权限
登录时间超时,强制注销 编辑vi /etc/profile 在histsize=1000,添加TMOUT=600秒,10分钟
使用pam禁止用户su为root 编辑vi /etc/pam.d/su找到 #auth required pam_wheel.so use_uid 去掉行首的“#”普通用户也无法使用su切换到root
SSH远程端口和SSH协议版本 SSH远程root登录,因为业务需要,不配置SSH的root登录控制选项,协议版本不存在Protocol 2 不配置。SSH端口使用TCP 22 不更改。#PermitEmptyPasswords no #不允许空密码登录 PasswordAuthentication yes #验证登录密码
关闭多IP绑定,IP伪装
编辑vi /etc/host.conf 由on改为off,添加nospoof on
设置ssh登录前警告Banner
vi /etc/ssh/sshd_config,添加Banner /etc/ssh_banner。