首頁 > 軟體

RHEL7 學習筆記(31) - 防火牆 (上)

2020-06-16 18:08:25

RHEL7 學習筆記(31) - 防火牆 (上)

這一節內容比較多,主要是學習firewalld的使用和設定。

學習firewalld之前,先簡單的看看另外一個工具 tcp wrapper。這個是一個基於主機的存取控制系統,他一般作為防火牆的一個補充和加強。一些簡單的服務存取控制,通過tcp wrapper很容易就實現了。

紅帽有個官方文件可以檢視詳細的解釋和範例

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sect-Security_Guide-TCP_Wrappers_and_xinetd-TCP_Wrappers_Configuration_Files.html

簡單的說,組態檔有兩個 /etc/hosts.allow 和 /etc/hosts.deny

從名字都猜的出來,放在allow裡面的設定預設就是允許的; 放在deny裡面預設就是拒絕的;如果兩者的設定都不滿足或者都沒設定,那服務預設也是允許的。

基本格式是

daemon1,daemon2, daemon3.. : client1, client2, client3.. : option1, option2,..

如果覺得麻煩,在任何一個檔案裡面,明確的表明 allow 或者 deny也是可以的。比如,我可以在hosts.allow 檔案裡面做以下定義,拒絕來自172.0.10.223的ssh請求

測試看看,果然被拒絕了。

把deny去掉或者改成 allow也行

再試試看,又可以連線了

不過不是所有的服務都可以用tcp wrapper來實現的,只有連線了libwrap模組的daemon才可以。

比如 httpd就沒有

但是sshd就可以

接下來看看重頭戲,firewalld的使用。從RHEL7裡面,預設的防火牆不再是iptables,而是firewalld,儘管他的底層還是iptables。

他們的區別和關係可以參考

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html

firewalld的一個最大的優點是任何改動實時生效,因為他只對變化的部分做了修改;而iptables是重新建立所有的rule,因此會斷掉當前的連線。

下面主要學習一下圖形介面和命令列介面的使用。

系統自帶了一堆防火牆軟體,他們可能會彼此衝突,因此把不用的都mask掉吧

firewalld裡面圖形介面可以用frewall-config 開啟,命令列可以通過 firewall-cmd來實現。

首先看看圖形介面

裡面有很多選項,我們把每一個功能都過一遍。

首先看看左邊的一列Zone。 zone 本意是區域的意思,這些不同的Zone可以理解為不同的“安檢通道”,每個“安檢通道”預先定義了一系列的不同的安全策略。一個網絡卡只能系結到一個“安檢通道”,即一個Zone裡面。

每個zone右邊對應了一堆功能,分別是服務,埠,偽裝,埠轉發,ICMP過濾,富規則,埠和源。

服務選項裡面,勾上的表示允許的服務。不同的zone預設勾上的服務是不同的。

比如說 dmz 預設只允許 ssh 服務存取;home允許更多的服務例如samba-client,dhcpv6等等,而trusted 允許所有的服務存取,即使這個服務沒有勾選上。

下面看看命令列如何處理Zone

我們可以獲取(get)所有zone 的資訊,但是不能自己建立一個新的zone,圖形工具也沒有選項可以建立

可以利用tab來獲取哪些命令,get有很多,但是set只有一個

檢視一下zone 的選項

看看默人的zone是啥

我們可以手動改成home

修改完之後home zone就被自動加粗加黑了

更多詳情見請繼續閱讀下一頁的精彩內容http://www.linuxidc.com/Linux/2015-02/113499p2.htm


IT145.com E-mail:sddin#qq.com