CentOS果然很“麻烦”,或者说是安全考虑太多,需要考虑太多的context问题,之前的samba中已经遇到类似问题,SSH同理。
列出关键修改步骤,稍后研究context标签(自己的翻译,还没有看相关中文教程)问题。文章总结于gino针对自己SSH调整实验工作记录。
参考文献:CentOS 修改SSH默认端口 / RHEL 6: semanage SELinux Command Not Found / RHEL 6: Change OpenSSH Port To 1255 ( SELinux Config )
Linux Server:CentOS 6.2
桌面系统环境: Windows 7
连接工具: putty
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
3.修改 port contexts(关键),需要对context进行修改
semanage port -a -t ssh_port_t -p tcp 2345
4.重启SSH服务
/etc/init.d/sshd restart
此时SSH服务已经迁移到2345端口,并且只有gino用户可以访问,提升安全性。
附录:semanage
1.安装semanage,默认情况下,CentOS没有这个命令,需要查看这个命令由谁来提供的
yum provides /usr/sbin/semanage
然后进行安装
yum -y install policycoreutils-python
2.semanage使用 针对prot context,例如查看ssh端口情况
semanage port -l | grep ssh
应该可以到如下结果:
ssh_port_t tcp 2345, 22
也可以用netstat进行验证
netstat -tulpn | grep 2345
至此,SSH调整完毕,contexts机制还不是很情况,需要进一步深入研究。