使用SELinux开放SSH端口

什么是SELinux

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。

NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。

使用SELinux开放SSH端口

  1. 查看SELinux开放给ssh使用的端口
1
semanage port -l|grep ssh

如果系统打印如下,则说明没有开放新添加端口。

1
ssh_port_t                    tcp      22
  1. 添加新端口
1
semanage port -a -t ssh_port_t -p tcp 22222

正确添加后再次查看,会显示如下:

1
ssh_port_t                    tcp      22,22222

参考链接

  1. SELinux
  2. CentOS7增加或修改SSH端口号
  3. 第十七章、程序管理与 SELinux 初探