雖然Linux操作系統(tǒng)具有很多優(yōu)點,其安全性也較高,但是你不應(yīng)當(dāng)由此產(chǎn)生一種虛假的安全感,因為你的Linux系統(tǒng)的安全性仍舊可能受到損害?,F(xiàn)在就讓我們來看看如何通過使用IP鏈(IPchains)來建立Linux系統(tǒng)的防火墻,保護(hù)你的系統(tǒng)不受侵害。 先假設(shè)你已經(jīng)具備了一些關(guān)于因特網(wǎng)的基本知識。應(yīng)當(dāng)說,熟悉像IP地址、TCP端口和網(wǎng)絡(luò)傳輸數(shù)據(jù)之類的詞匯是很有用處的。對防火墻有一個大概的了解也是十分有必要的。 ■命令: 我們需要確立起一系列的規(guī)則,這樣IP鏈才能進(jìn)入來來往往的網(wǎng)絡(luò)路徑。每一條規(guī)則都被置于三鏈之一,這三個鏈分別為:存放輸入數(shù)據(jù)的輸入鏈、存放輸出數(shù)據(jù)的輸出鏈和傳輸鏈。 每增加一條規(guī)則,都要從IP鏈開始,并且要增加下面的某些或全部步驟。附加(Append)、刪除(Delete)、插入(Insert)和替換(Replace),這些命令通常是跟在起始的IP鏈命令之后,并且指示程序應(yīng)當(dāng)把規(guī)則命令添加在哪條鏈上以及如何添加。添加時,以-A、-D、- I,或者-R開始,這些字母的后面再加上鏈的名稱(輸入鏈或輸出鏈)。 當(dāng)你要使用插入命令時,必須在要加入該命令的位置上,在鏈的名稱后面,具體指定行號。 在使用替換命令時,需要指定被替換的行號,使用刪除命令的時候,也必須指定刪除的行號。 在使用刪除選項時,無須在行號后面再輸入什么別的內(nèi)容。你只要鍵入ipchains -L,就可以發(fā)現(xiàn)命令所作用的行號。
■協(xié)議(Protocol): 在這里你要針對每一條規(guī)則命令具體地指明某種協(xié)議。在大多數(shù)情形下,使用TCP/IP協(xié)議。 也有可能你不想讓你的計算機(jī)對另一臺計算機(jī)發(fā)出的Ping信號做出反應(yīng)。為了做到這一點,需要具體指定ICMP(互聯(lián)網(wǎng)控制報文協(xié)議)。在具體地指定某個協(xié)議的時候,要使用-p命令,如:-p icmp。 ■源(Source): 源可以確定從某個特定的IP地址而來的路徑以及使用-s命令的端口。如果你知道一個標(biāo)準(zhǔn)的IP地址,就可以直接使用IP地址,或者干脆指定一個域名(比如www.ccidnet.com)。假如你想指定任意一個地址,不妨用0.0.0.0/0。 我們可以在IP地址的后面用數(shù)字來指定某一個端口(比如110),也可以用服務(wù)器的名稱(pop3)來指定某一個端口。使用冒號可以將兩個端口數(shù)字分隔開,這樣就能指定一連串的端口。例如: -s mail.mailserver.com pop3 -s 127.0.0.1 139:164 ■目的(Destination): 用法與源地址是一樣的,只要指定目的地址和端口即可。 ■跳轉(zhuǎn)(Jump): 我們需要了解的最后一個選項是-j命令。這個命令告訴防火墻,如果一項規(guī)則命令與正在輸入的數(shù)據(jù)相匹配時,防火墻應(yīng)該采取什么步驟。在大多數(shù)情況下,這種步驟就是接受或拒絕。舉個例子吧,假如你想拒絕某組與命令相符的數(shù)據(jù)時,防火墻就跳轉(zhuǎn)至拒絕。如果一組數(shù)據(jù)不符合某條命令規(guī)則,該數(shù)據(jù)就會往前進(jìn)入下一個命令。如果沒有任何規(guī)則符合這組數(shù)據(jù)的話,數(shù)據(jù)就會在缺省的狀態(tài)下被拒絕。 當(dāng)然還有一些其它的選項和命令能夠與IP鏈的命令一起使用。假如你想深入了解更多的信息,可以在命令行欄鍵入ipchains -h。
建立防火墻 建立Linux系統(tǒng)的防火墻的核心部分就是在你接近你想要訪問的服務(wù)器的同時,又要阻止其它服務(wù)器接近你的系統(tǒng)。這里我們提出一些忠告。 首先,你在建立你的防火墻時盡量對所有的“拒絕”規(guī)則使用-I命令。當(dāng)某條規(guī)則將一組數(shù)據(jù)擋在外面的時候,就會產(chǎn)生一行信息,加入到你的核心程序信息記錄中(變量/記錄/核心程序/信息)。你讀一讀這個文件就能明白為什么一組數(shù)據(jù)會被擋在外面。一條記錄詳細(xì)說明了被采取的步驟、能解釋某條規(guī)則源目的鏈、源地址和端口以及目的地址和端口,因而你能運用這些信息來調(diào)整防火墻??梢园凑漳阆氲玫降姆绞綋碛腥魏螙|西,這時就不再需要-I命令了。 其次,建立防火墻可以擋住所有流入的Syn數(shù)據(jù)。Syn數(shù)據(jù)是用于啟動鏈接的數(shù)據(jù)組,但它們不應(yīng)該出現(xiàn)在大部分的桌面系統(tǒng)上。可以這樣運用-y命令: ipchains -I input 1 -p tcp -y -j DENY 你還可用下面這條命令擋住ICMP數(shù)據(jù): ipchains -I input 2 -p icmp -j DENY 把這兩條規(guī)則放在最前面,就能保證系統(tǒng)不會隨便接收這些數(shù)據(jù)。下一步,該擋住像ftp、telnet、smtp和pop3之類的一些常用的服務(wù)器端口: ipchains - A input -p tcp - s 0.0.0.0/0 ftp DENY ipchains - A input -p tcp - s 0.0.0.0/0 telnet DENY ipchains - A input -p tcp - s 0.0.0.0/0 smtp DENY ipchains - A input -p tcp - s 0.0.0.0/0 pop3 DENY ipchains - A input -p tcp - s 0.0.0.0/0 nntp DENY 如果在連接發(fā)送郵件的服務(wù)器時出現(xiàn)問題,可以在smtp 和pop3 DENY的規(guī)則前面插入一條規(guī)則,這樣便能使所謂的DENY規(guī)則失去作用。不過要保證這條規(guī)則的明確性,因為這樣才能使得DENY規(guī)則失效。通常來說,明確地指明一個IP地址是個不錯的做法: ipchains - I 3 input - 1 - p tcp - s mail.mailserver.com pop3 - j ACCEPT ipchains - I 4 input - 1 - p tcp - s mail.mailserver.com smtp - j ACCEPT 可以用你發(fā)送郵件的服務(wù)器的地址替代域名“mail.mailserver.com”,對于一個新的服務(wù)器或者任何一個鏈接有困難的FTP網(wǎng)址,都可以這樣做。 雖然這些規(guī)則是一些基本性的,但有助于建立一個安全有效的防火墻。我們可以在像Gibson Research Center (http://www.grc.com) 和DSL Reports (http://www.secure-me.net/) 之類的網(wǎng)站檢測防火墻的安全和有效性。上面兩個網(wǎng)站都可以免費提供關(guān)于因特網(wǎng)的端口查詢。一旦找到了有用的規(guī)則,就用ipchain-save命令將這些規(guī)則保存到某個文件中。 當(dāng)重新啟動系統(tǒng)的時候就可以運用這個保存了規(guī)則的文件。鍵入ipchains-save/etc/ipchains.rules就能保存防火墻設(shè)置數(shù)據(jù)。在重新啟動你的系統(tǒng)后保持有關(guān)防火墻的設(shè)置時,請鍵入ipchains-restore/etc/ipchains.rules 。當(dāng)你的系統(tǒng)斷電或者重新啟動時,Linux系統(tǒng)不會自動保存這些設(shè)置數(shù)據(jù)。
熱詞搜索:
上一篇:軟盤里的Linux防火墻 下一篇:Linux防火墻配置初級入門
Copyright © 2009-2022 網(wǎng)絡(luò)安全和運維網(wǎng) All rights reserved. 京ICP備10047140號 京公安網(wǎng)備11010802014307
掃碼關(guān)注微信