以下对ssh的修改多了两个保护,一个是非标准端口,一个是制定登陆用户,这两个都够攻击者猜测了
1.修改SSH配置文件
vi /etc/ssh/sshd_config
修改端口,禁止root登录,添加限制用户
Port 2345
PermitRootLogin no
AllowUsers gino
2.修改iptables
vi /etc/sysconfig/iptables
复制22端口ACCEPT规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2345 -j ACCEPT
service iptables restart
service iptables status
3.修改 port contexts(关键),需要对context进行修改
semanage port -a -t ssh_port_t -p tcp 2345
(可先用getenforce看selinux状态, 该命令时间长)
4.重启SSH服务
/etc/init.d/sshd restart
此时SSH服务已经迁移到2345端口,并且只有gino用户可以访问,提升安全性。
附录:semanage
1.安装semanage,默认情况下,CentOS没有这个命令,需要查看这个命令由谁来提供的
yum provides /usr/sbin/semanage
然后进行安装
yum -y install policycoreutils-python
(需要关联包audit-libs-python,libcgroup,libselinux-python,libsemanage-python,setools-libs,setools-libs-python)
2.semanage使用 针对port context,例如查看ssh端口情况
semanage port -l | grep ssh
应该可以到如下结果:
ssh_port_t tcp 2345, 22
也可以用netstat进行验证
netstat -tulpn | grep 2345
至此,SSH调整完毕,contexts机制还不是很情况,需要进一步深入研究。