在Linux代理服務器上設置防火墻
更新時間:2006年10月24日 00:00:00 作者:
一般而言,實現Linux的防火墻功能有兩種策略。一種是首先全面禁止所有的輸入、輸出和轉發(fā)數據包,然后根據用戶的具體需要逐步打開各項服務功能。這種方式的特點是安全性很高,但必須全面考慮用戶所需的各項服務功能,不能有任何遺漏,要求系統(tǒng)管理員清楚地知道實現某種服務和功能需要打開哪些服務和端口。第二種方式是首先默認打開所有的輸入、輸出數據包,然后禁止某些危險包、IP欺騙包、廣播包、ICMP服務類型攻擊等;對于應用層的服務,像http、sendmail、pop3、ftp等,可以有選擇地啟動或安裝。這種方式雖然沒有第一種方式安全,但比較容易配置,不需要過多地了解ipchains命令的細節(jié)就可以配置一個基本的防火墻系統(tǒng)。
我所管理的代理服務器是IBM的Netfinity3000,安裝了RedHat Linux 6.2、squid-2.3,有兩塊網卡,外部網卡為eth0(211.98.126.180),內部網卡為eth1 (192.168.0.1),客戶機的IP地址是192.168.0.xxx。按照第二種方法設置了一個防火墻,具體過程如下:
安裝完系統(tǒng)之后,以root的身份登錄,在/etc/rc.d/目錄下用vi創(chuàng)建一個腳本叫firewall.rules;創(chuàng)建完成后,執(zhí)行命令chmod 755 firewall.rules,確保其為可執(zhí)行文件;然后用vi打開/etc/rc.d/rc.local文件,加入一行/etc/rc.d/firewall.rules,確保機器每次啟動即可執(zhí)行所設定的各項防火墻規(guī)則。
firewall.rules文件的內容略。
如果你的機器只有一塊網卡,通過Modem撥號上網,那么連接內部網絡的網卡應該是eth0,IP地址可能是192.168.0.1,外部接口就是ppp0,你只須將firewall.rules文件內容中的eth0改為ppp0即可。設置了以上防火墻規(guī)則之后,你可以在/etc/inetd.conf中禁止所有不需要的服務,只保留ftp和telnet;同時設置/etc/hosts.allow和/etc/hosts.deny,僅允許內部某些管理用戶登錄到該防火墻。以上方法在筆者所在的環(huán)境中成功運行,并解決了outlook express收發(fā)郵件的問題。