例 1:改变 sshd 守护进程的默认端口
在 RHCSA 系列(八): 加固 SSH,设定主机名及启用网络服务 中,我们解释了更改 sshd 所监听的默认端口是加固你的服务器免受外部攻击的首要安全措施。下面,就让我们编辑 /etc/ssh/sshd_config
文件并将端口设置为 9999:
Port9999
保存更改并重启 sshd:
#systemctl restart sshd
#systemctl status sshd
重启 SSH 服务
正如你看到的那样, sshd 启动失败,但为什么会这样呢?
快速检查 /var/log/audit/audit.log
文件会发现 sshd 已经被拒绝在端口 9999 上开启(SELinux 的日志信息包含单词 "AVC",所以这类信息可以被轻易地与其他信息相区分),因为这个端口是 JBoss 管理服务的保留端口:
#cat/var/log/audit/audit.log |grep AVC |tail-1
查看 SSH 日志
在这种情况下,你可以像先前解释的那样禁用 SELinux(但请不要这样做!),并尝试重启 sshd,且这种方法能够起效。但是, semanage
应用可以告诉我们在哪些端口上可以开启 sshd 而不会出现任何问题。
运行:
# semanage port -l |grepssh
便可以得到一个 SELinux 允许 sshd 在哪些端口上监听的列表:
Semanage 工具
所以让我们在 /etc/ssh/sshd_config
中将端口更改为 9998 端口,增加这个端口到 sshportt 的上下文,然后重启 sshd 服务:
# semanage port -a -t ssh_port_t-p tcp 9998
#systemctl restart sshd
#systemctlis-active sshd
semanage 添加端口
如你所见,这次 sshd 服务被成功地开启了。这个例子告诉我们一个事实:SELinux 用它自己的端口类型的内部定义来控制 TCP 端口号。
2015职称计算机考试书PowerPoint2007中 .. 定价:¥45 优惠价:¥42 更多书籍 | |
2015年全国职称计算机考试教材(2007模 .. 定价:¥225 优惠价:¥213 更多书籍 |