NOTE:针对防火墙的操作需要在每个节点上执行!
1. 安装并启动防火墙(略)
2. 管理可信任的域
2.1. 创建可信任的域
~]# firewall-cmd --permanent --add-source=192.168.10.0/24 --zone=trusted
success
~]# firewall-cmd --permanent --add-source=172.16.36.0/24 --zone=trusted
success
~]# firewall-cmd --permanent --add-source=172.16.38.0/24 --zone=trusted
success
~]# firewall-cmd --reload
success
~]# firewall-cmd --list-sources --zone=trusted
192.168.10.0/24 172.16.36.0/24
2.2. 移除可信任的域
~]# firewall-cmd --permanent --remove-source=172.16.37.0/24 --zone=trusted
success
~]# firewall-cmd --reload
success
~]# firewall-cmd --list-sources --zone=trusted
3. 设置公共域的访问
3.1. 移除公共域中ssh登录
~]# firewall-cmd --permanent --remove-service=ssh --zone=public
success
~]# firewall-cmd --reload
success
3.2. 允许特定IP地址ssh登录
~]# firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.70.26/32 service name=ssh accept' --zone=public
success
~]# firewall-cmd --reload
success
3.3. 允许特定IP地址访问数据库IP
~]# firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=210.26.116.109/32 port port=1521 protocol=tcp accept' --zone=public
success
~]# firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.70.26/32 port port=1521 protocol=tcp accept' --zone=public
success
~]# firewall-cmd --reload
success
3.4. 移除特定IP地址访问数据库IP
~]# firewall-cmd --permanent --remove-rich-rule 'rule family=ipv4 source address=192.168.70.26/32 port port=1521 protocol=tcp accept' --zone=public
success
~]# firewall-cmd --reload
success
虽然操作系统在防火墙层做了限制,但是决定能否访问数据库端口的第一要素仍然是网络层有没有做限制。
4. ssh搭配pam_tally2
上图中显示
4.1. 认证选项
- deny 指定最大几次认证错误,如果超出此错误,将执行后面的策略。如锁定N秒,如果后面没有其他策略指定时,默认永远锁定,除非手动解锁。
- lock_time 一次失败,锁定多长时间,按秒为单位;
- unlock_time 指定认证deny次数被锁后,多长时间自动解锁用户;
- magic_root 如果用户uid=0(即root账户或相当于root的帐户)在帐户认证时调用该模块发现失败时,不计入统计;
- no_lock_time 不使用.fail_locktime项在/var/log/faillog 中记录用户 ---按英文直译不太明白,个人理解即不进行用户锁定;
- even_deny_root root用户在认证出错时,一样被锁定(该功能慎用,搞不好就要单用户时解锁了)
- root_unlock_time root用户在失败时,锁定多长时间。该选项一般是配合even_deny_root 一起使用的。
4.2. 命令行管理
pam_tally2 查看所有用户失败状态
pam_tally2 --user=root 指定查看该用户失败状态 简写 pam_tally2 -u root
pam_tally2 --user=root --reset 解除用户限制 简写 pam_tally2 -r -u root