使用Linux高效構建無線網關/防火墻(3)
網關/防火墻的安全策略
無線網升級完成后,為了解決網絡安全問題,我們進行了一系列的設置。
首先要確保網關本身的安全。我們采取了如下措施。
1.使用TCP Wrapper的訪問限制功能,設置僅允許一個指定的IP(由網絡管理人員使用)訪問,這是通過修改/etc/hosts.allow和/etc/hosts.deny等文件來實現的,具體方法可參見本刊2000年第44期《設置安全的Linux服務器》一文(以下簡稱《設》文)。
2.在Linux網關上停止一切不必要的服務,包括telnet和ftp,并取而代之以SSH和scp,從而實現網絡管理員和網關通訊時僅傳輸加密數據,并摒棄了口令認證的方式,使用更為先進的密鑰交換認證。這是通過修改/etc/inetd.conf文件(可參見《設》文)和安裝、配置SSH來實現的。現在SSH已經向SSH2全面轉移,可在下載。
3.為了加強網關的開機安全性,我們為BIOS設置口令,并為LILO設置口令,以防止未授權用戶使用"Linux single"進入系統單用戶模式。
4.在內、外兩個邊界路由器設置對Linux網關的直接訪問限制。具體做法是,在FDDI環的上與Linux網關直接連接的一臺900EF上禁止所有指向Linux網關兩個IP(分別綁定在有線和無線兩塊網卡上)的IP包;在內部網的IBM 8274上設置禁止除源地址為網管IP以外的所有指向Linux網關IP的數據包。這里可能有些難以理解,有些人會認為因為這樣阻斷了Linux網關與外界的連接,使得Linux無法施行路由功能。事實上,所有目的地址不是Linux網關IP的數據包仍然可以通過網關,被正常路由。在這個方案中,把Linux看作一個可管理的網絡設備更恰當。
通過以上的設置,我們幾乎可以保證,除了IPChains和路由部分以外,即使Linux有后門,黑客也無法利用之。
然后是通過在Linux網關上設置IP包過濾防火墻來增強內部網的安全性。設置時,我們通過拒絕外來的SYN包來禁止從Internet向內部網發起主動TCP連接。僅允許指向特定IP特定端口(比如E-mail服務器的25端口和Web服務器的80端口)的數據包通過。這樣基本上擋住了Internet對內部網絡的攻擊。這樣設置后,內部網絡的用戶基本上可以透明地訪問Internet,對于FTP等少數需要反向連接的應用,在客戶端使用被動模式就可以使其恢復正常了。