密码复杂度要求:最小长度8位,至少2位大写字母,1位小写字母,4位数字,1位特殊字符
1)执行备份:
#cp -p /etc/login.defs /etc/login.defs_bak
#cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
2)修改策略设置:
(1)密码有效期:
#vi /etc/login.defs
修改PASS_MIN_LEN的值为8
修改PASS_MAX_DAYS的值为90
保存退出
(2)密码复杂度
#vi /etc/pam.d/system-auth
将文件中的下面两行:
password ???requisite ????pam_cracklib.so try_first_pass retry=3 type=
password ???sufficient ???pam_unix.so sha512 shadow nullok try_first_pass use_authtok
改为:
password ???requisite ????pam_cracklib.so try_first_pass retry=5?type= minlen=8 ucredit=-2 lcredit=-1?dcredit=-4 ocredit=-1
password ???sufficient ???pam_unix.so md5 shadow nullok try_first_pass use_authtok
1)备份
#cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak2
#cp /etc/pam.d/sshd /etc/pam.d/sshd.bak
2)修改
#vi /etc/pam.d/system-auth
auth ???????required ?????pam_tally2.so onerr=fail deny=5 unlock_time=300 root_unlock_time=300
#vi?/etc/pam.d/sshd
auth ??????required ????pam_tally2.so onerr=fail deny=5 unlock_time=300 root_unlock_time=300
1)执行备份:
#cp -p /etc/profile /etc/profile_bak
2)在/etc/profile文件修改:
#vi /etc/profile
export?TMOUT=300
保存退出,刷新
#source /etc/profile
1) 在/etc/profile文件修改:
#vi /etc/profile
export?HISTSIZE=0
保存退出,刷新
#source /etc/profile
1)备份
#cp?/etc/logrotate.conf /etc/logrotate.conf.bak
2)修改文件
编辑/etc/logrotate.conf文件
保存退出,重启日志服务
#service rsyslog restart
1)备份
#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
2)修改/etc/ssh/sshd_config
#vi?/etc/ssh/sshd_config
#仅允许特定用户
AllowUsers user1
#仅允许特定用户特定IP
AllowUsers user1@10.10.10.1
#禁止某个用户
DenyUsers user2
保存退出
重启服务
#systemctl restart sshd
1)备份
cp etc/hosts.deny etc/hosts.deny.bak
cp?/etc/hosts.allow /etc/hosts.allow.bak
2)编辑?/etc/hosts.deny
?vi /etc/hosts.deny
添加
sshd:ALL??#先禁止所有IP登录
3)编辑 /etc/hosts.allow
vi /etc/hosts.allow
#添加允许的IP,多个用逗号隔开
sshd:10.133.20.21,10.138.20.22,10.133.48.136:allow
或者下面这种格式
sshd:192.168.0.1/24,192.168.0.,192.168.1.:allow
无需重启ssh
?
1)检查设备存在非系统内置可登录账号;
2)检查设备不存在常见的test、admin、ceshi等账号;
3)检查设备不存在常见的厂商命名账号,如xjwh、tywh等;
建议,默认系统用户uid中,root为0;系统用户为1-999;普通用户为1000-65535;应保证只有root用户的uid为0,并检查有无其他可疑账户,及时进行删除或禁用。
(1)检查账号
cat /etc/passwd
awk -F':' '{ print $1?$3}' /etc/passwd
(2)删除账号
userdel 用户名 ?#仅删除用户
userdel -r 用户名??#删除用户和目录
以下服务都需要关闭:
amanda chargen chargen-udp cups cups-lpd daytime daytime-udp echo echo-udp eklogin ekrb5-telnet finger gssftp imap imaps ipop2 ipop3 klogin krb5-telnet kshell ktalk ntalk rexec rlogin rsh rsync talk tcpmux-server telnet tftp time-dgram time-stream uucp; ?
(1)#chkconfig --list
(2)禁止非必要服务:#chkconfig [service] off
????????开启服务为:#chkconfig [service] on
禁用135,137,138,139,21,23,25,445,3389,6000,177,514等端口
(1)查看端口
netstat -pantu
(2)查看端口对应服务
lsof -i :22
cat /etc/services | grep -w 22
(3)chkconfig --list |grep ssh (过滤出ssh服务)
(4)关闭服务
service sshd stop
systemctl?stop sshd
并且设置此服务为开机不启动:
chkconfig sshd off
1)查看和开启auditd
#service auditd status
#service auditd start
2)查看enable 是否为1
#auditctl -s
所有的审计日志会记录在/var/log/audit/audit.log文件中,配置信息在/etc/audit/auditd.conf
3)审计指定文件
(1)临时添加规则
auditctl -w path -p permission -k key_name
(2)永久添加规则
备份文件
#cp?/etc/audit/audit.rules /etc/audit/audit.rules.bak
(3)编辑文件
# vim /etc/audit/rules.d/audit.rules
-w /etc/passwd -p wa -k passwd_changes
-w /usr/sbin/fdisk -p x -k partition_disks
(4)重启服务
service auditd restart
auditctl -l 查看定义的规则
管理员帐号,安全员帐号,审计员帐号
(1)添加用户
useradd sysadmin
passwd sysadmin
(2)创建组
groupadd sysgroup
usermod -G sysgroup sysadmin
(3)授予权限
chown -R sysadmin:sysgroup /
useradd secadmin
passwd secadmin
chown -R secadmin:secadmin /etc
chmod 700 /etc
useradd auditadmin
passwd auditadmin
vi /etc/sudoers后编辑插入以下内容:
auditadmin ????ALL = (root) NOPASSWD: /usr/bin/cat , /usr/bin/less , /usr/bin/more , /usr/bin/tail , /usr/bin/head
chown -R auditadmin:auditadmin /var/log
chmod 700 /var/log
chmod 700 /var/log