很多網友提到linux的防火牆就犯難,現在又多出一個selinux,愈加分不清了。曾幾何時,小編也是如此,不過當你看完這篇文章之後,再也無需為此犯難了。
何為SELinux
簡單來書,SELinux(全稱:Security-Enhanced Linux),它是美國NSA國家安全局主導開發的一套增強Linux系統安全的強制訪問控制體系,集成到Linux內核(2.6及以上)中運行。在RHEL7中,基於SELinux體系針對用戶、進程、目錄和文件提供了預設的保護策略,以及管理工具。
SELinux的運行模式包括三種:enforcing(強制)、permissive(寬鬆)以及disabled(徹底禁用)。但是,任何模式再切換到disabled(徹底禁用)模式,都必須要經歷重起系統。
SELinux切換運行模式
臨時切換:setenforce 1|0 (1 啟用,0 告警,不啟用。暫時在本次開機有效)
固定配置:/etc/selinux/config 文件 ,修改:SELINUX=disabled(不影響當前SELinux狀態)。
查看運行模式:getenforce
何為防火牆
linux中的防火牆,和windows中的防火牆概念是一樣的,都是軟體層面的防護管理,用來在網絡找那個構建一道相對隔絕的保護屏障。Linux中有兩種防火牆軟體,ConterOS7.0以上使用的是firewall,ConterOS7.0以下使用的是iptables。
firewall防火牆服務
firewall防火牆服務,從某種意義上來說是在iptables防火牆服務的基礎上演變和發展而來,從趨勢上來說會逐漸代替iptables。
開啟防火牆:systemctl start firewalld關閉防火牆:systemctl stop firewalld查看防火牆狀態:systemctl status firewalld
設置開機啟動:systemctl enable firewalld禁用開機啟動:systemctl disable firewalld重啟防火牆:firewall-cmd --reload開放埠(修改後需要重啟防火牆方可生效):firewall-cmd --zone=public --add-port=8080/tcp --permanent查看開放的埠:firewall-cmd --list-ports關閉埠:firewall-cmd --zone=public --remove-port=8080/tcp --permanentiptables防火牆服務
在CenterOS7.0以上版本並沒有預裝Iptables,如果你只習慣使用iptables,那麼你需要自行安裝。安裝iptables防火牆時,你需要先關閉firewall防火牆,使用命令:yum install iptables來安裝iptables,然後再使用命令:yum install iptables-services來安裝iptables-services。
常見的iptables防火牆使用命令。
開啟防火牆:systemctlstartiptables.service關閉防火牆:systemctlstopiptables.service查看防火牆狀態:systemctlstatusiptables.service設置開機啟動:systemctl enable iptables.service禁用開機啟動:systemctl disable iptables.service查看filter表的幾條鏈規則(INPUT鏈可以看出開放了哪些埠):iptables -L -n
查看NAT表的鏈規則:iptables -t nat -L -n清除防火牆所有規則:iptables -Fiptables -Xiptables -Z給INPUT鏈添加規則(開放8080埠):iptables -I INPUT -p tcp --dport 8080 -j ACCEPT查找規則所在行號:iptables -L INPUT --line-numbers -n根據行號刪除過濾規則(關閉8080埠):iptables -D INPUT 1不要把linux的防火牆想的過於複雜,命令記不住也沒有關係,使用-h幫助命令就可以啦。