CSF(configserver firewall)是一種基於iptables的防火牆,為實作iptables規則提供了更簡單的方法。有時我們需要加入一些特定的規則(例如,CSF未涵蓋的IPtables規則)來新增CSF。如果我們直接從shell使用iptables指令新增這些規則,它們將在下次CSF重新啟動時被刪除。
在Linux上安裝了CSF防火牆之後,本篇文章將介紹如何使用CSF新增自訂iptables規則。
CSF提供在CSF規則設定之前或之後執行的前腳本和後腳本。例如,如果想開啟3306埠(預設mysql)到特定的IP,可以在腳本前或腳本後加入下列規則
csfpre.sh:在csf設定iptables之前執行外部指令
# csfpost.sh:在csf設定iptables之後執行外部命令
在CSF規則之前
建立一個檔案/etc/csf/csfpre.sh並新增iptables規則,希望在csf應用自己的規則之前執行這些規則。
iptables -I INPUT -s1.2.3.4-p tcp -m state --state NEW -m tcp --dport3306-j ACCEPT
在CSF規則之後
建立一個檔案/etc/csf/csfpost.sh並加入iptables規則,希望在csf將自己的規則加入防火牆之後應用這些規則。
iptables -I INPUT -s1.2.3.4-p tcp -m state --state NEW -m tcp --dport3306-j ACCEPT
重啟CSF
要重新啟動csf,只需輸入下面的命令並查看結果。 CSF產生大量的輸出,因此可能無法在一個腳本中看到整個輸出,因此還可以添加更多命令來查看頁面結果。
# csf -r | more
請參閱下面輸出的一些部分
... ... Deleting chain `LOCALOUTPUT' Deleting chain `LOGDROPIN' Deleting chain `LOGDROPOUT'Running /etc/csf/csfpre.shDROP tcp opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 tcp dpt:67 DROP udp opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 udp dpt:67 ... ... ... ACCEPT tcp opt -- in * out !lo 0.0.0.0/0 -> 8.8.8.8 tcp dpt:53 LOCALOUTPUT all opt -- in * out !lo 0.0.0.0/0 -> 0.0.0.0/0 LOCALINPUT all opt -- in !lo out * 0.0.0.0/0 -> 0.0.0.0/0 LOCALOUTPUT all opt in * out !lo ::/0 -> ::/0 LOCALINPUT all opt in !lo out * ::/0 -> ::/0Running /etc/csf/csfpost.sh
這篇文章到這裡就已經全部結束了,更多其他精彩內容可以關注PHP中文網的linux教程視頻欄位!
以上是如何使用CSF新增自訂iptables規則的詳細內容。更多資訊請關注PHP中文網其他相關文章!