目錄表

8 SELinux相關設定


在之前我們在修改ssh連接埠時,我們有提到過SELinux,那麼SELinux是做什麼用的呢?其實他就是一個Linux中的安全模組,當我們使用自定義的連接埠時,就需要告訴這個安全機制我們要允許這個連接埠的設定,不是遭到破解或是使用到錯誤的設定。之前我們是關閉SELinux來解決這個問題,這裡教大家怎麼開啟SELinux並管理。

安全增強式Linux

8.1 查看SELinux狀態

[root@localhost cbb104026]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

8.1 開啟或關閉SELinux

我們需要對SELinux的設定檔做編輯,設定檔目錄如下:

[root@localhost cbb104026]# vi /etc/sysconfig/selinux
#修改SELINUX的值為enforcing(執行)或disabled(關閉)

※修改SELinux設定檔後需要重新啟動才會生效。

8.2 管理SELinux

以ssh服務為例,我們可以透過semanage指令來修改

[root@localhost cbb104026]# semanage port -l|grep ssh
ssh_port_t                     tcp      22

如果你有仔細查看ssh設定檔應該會發現,其實SELinux變更連接埠的設定早就寫在裡面啦!

# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER

[root@localhost cbb104026]# semanage port -a -t ssh_port_t -p tcp 2001

TCP/UDP埠列表 - 維基百科