为应付检查,设置简单安全策略,系统版本Ubuntu 18.04.2 LTS (GNU/Linux 4.18.0-15-generic x86_64)
1.创建三权分立账号
1.1创建安全管理员账户(例如 secadmin)
sudo useradd -m -s /bin/bash secadmin
sudo passwd secadmin(设置密码)
1.2创建审计管理员账户(例如 audadmin)
sudo useradd -m -s /bin/bash audadmin
sudo passwd audadmin(设置密码)
1.3设置权限
sudo visudo
secadmin ALL=(ALL) /sbin/iptables, /sbin/ip6tables, /usr/sbin/ufw,
/usr/bin/passwd, /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod,
/usr/sbin/groupadd, /usr/sbin/groupdel, /usr/sbin/groupmod, /usr/bin/chage,
/sbin/reboot, /sbin/shutdown, /usr/sbin/dpkg, /usr/bin/apt-get, /usr/bin/apt
audadmin ALL=(ALL) /usr/bin/tail /var/log/, /usr/bin/cat /var/log/, /bin/cat /var/log/,
/usr/bin/last, /usr/bin/lastb, /usr/bin/lastlog, /usr/bin/w, /usr/bin/who,
/usr/bin/find /var/log, /bin/grep /var/log, /usr/bin/head /var/log/
1.4切换到安全管理员测试
sudo su - secadmin
sudo iptables -L # 应该可以执行(安全操作)
sudo tail /var/log/auth.log # 应该被拒绝(审计操作)
1.5切换到审计管理员测试
sudo su - audadmin
sudo tail /var/log/auth.log # 应该可以执行(审计操作)
sudo iptables -L # 应该被拒绝(安全操作)
2.限制ssh访问ip
2.1确认ssh端口
sudo grep -E "Port|#Port" /etc/ssh/sshd_config
2.2验证UFW状态
sudo ufw status verbose
2.3启用 UFW
sudo ufw enable
2.4查看规则
sudo ufw status numbered
2.5根据序号查看原有规则,每次删除前需要确认序号
sudo ufw delete 1
2.6限制访问ip段 (ssh端口1212)
sudo ufw allow from 172.16.211.0/24 to any port 1212
sudo ufw deny 1212
2.7将默认入站策略改为允许,只限制ssh端口访问,不限制其他端口
sudo ufw default allow incoming
2.8重新加载使配置生效
sudo ufw reload
3.添加密码复杂度要求
3.1安装libpam-pwquality(离线安装)
3.1.1在线下载deb包
sudo apt-get download libpam-pwquality
3.1.2复制进内网服务器安装
sudo dpkg -i libpam-pwquality_1.4.2-1build1_amd64.deb
3.2common-password开头添加规则
sudo vi /etc/pam.d/common-password
password required pam_pwquality.so dcredit=-1 lcredit=-1 minlen=8 ocredit=-1 retry=10 ucredit=-1
3.3修改密码测试
sudo passwd username
4.添加登录失败锁定用户
4.1判断用pam_tally2还是pam_faillock
4.1.1检查 pam_tally2 是否存在(用pam_tally2)
ls /lib/*/security/pam_tally2.so
4.1.2检查 pam_faillock 是否存在
ls /lib/*/security/pam_faillock.so
4.2修改common-auth
sudo vi /etc/pam.d/common-auth
4.3开头添加登录失败计数
auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root root_unlock_time=300
4.4末尾添加重置登录计数器
account required pam_tally2.so
4.5查看锁定用户
pam_tally2
4.6新建ssh窗口测试
pam_tally2 ssh -p 1212 username@localhost