作為例子,我們來為一個(gè)普通家庭用戶創(chuàng)建一個(gè)防火墻。假設(shè)該家庭用戶一般將自己的計(jì)算機(jī)用于Internet瀏覽、電子郵件等。我們所要做的就是允許所有必須的連接通過,而禁止所有不相關(guān)的連接。以下是防火墻配置文件的內(nèi)容:
1 *filter
2 :INPUT DROP [0:0]
3 :FORWARD DROP [0:0]
4 :OUTPUT DROP [0:0]
5
6 # 允許本地loopback連接
7 -A INPUT -i lo -j ACCEPT
8
9 # drop非法連接
10 -A INPUT -m state --state INVALID -j DROP
11 -A OUTPUT -m state --state INVALID -j DROP
12 -A FORWARD -m state --state INVALID -j DROP
13
14 # 允許所有已經(jīng)建立的和相關(guān)的連接
15 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
16 -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
17
18 # 允許連接的ISP的DNS服務(wù)器
19 -A OUTPUT -d 2.3.4.10 -m state --state NEW -p udp --dport 53 -o eth0 -j ACCEPT
20 -A OUTPUT -d 2.3.4.11 -m state --state NEW -p udp --dport 53 -o eth0 -j ACCEPT
21
22 # 允許向外連接到Web服務(wù)器
23 -A OUTPUT -d 0/0 -m state --state NEW -p tcp --dport http -o eth0 -j ACCEPT
24 -A OUTPUT-m state --state NEW -p tcp --dport https -o eth0 -j ACCEPT
25
26 # 允許向外連接到ISP的SMTP和POP3服務(wù)器
27 -A OUTPUT -d 2.3.4.5 -m state --state NEW -p tcp --dport smtp -o eth0 -j ACCEPT
28 -A OUTPUT -d 2.3.4.5 -m state --state NEW -p tcp --dport pop3 -o eth0 -j ACCEPT
29
30 # 記錄其它試圖向外進(jìn)行的連接
31 -A OUTPUT -o eth0 -j LOG
32 # 缺省情況下是DROP向外的連接
33
34 COMMIT
有關(guān)具體命令行的意義參照上文很容易就可以理解,這里就不在贅述。事實(shí)上,只要熟悉了某一特定環(huán)境下防火墻的設(shè)置,我們就可以比較容易地為其它的應(yīng)用環(huán)境創(chuàng)建相應(yīng)的防火墻。
編后語:
這里,我們介紹了在Linux上使用iptables創(chuàng)立防火墻的基本方法。實(shí)際上,由于需求不同,因此并不存在什么完全的防火墻指南。我們只能在了解了基本概念和術(shù)語后再自己進(jìn)行深入的學(xué)習(xí)。
隨著計(jì)算機(jī)技術(shù)的發(fā)展,系統(tǒng)安全日益成為一個(gè)熟悉而又陌生的話題。因?yàn)椋F(xiàn)在的計(jì)算機(jī)世界正日漸成為網(wǎng)絡(luò)功能的技術(shù)集合,但是從概念上來看,網(wǎng)絡(luò)和安全又是根本矛盾的。網(wǎng)絡(luò)的設(shè)計(jì)目的是盡可能地實(shí)現(xiàn)一臺(tái)計(jì)算機(jī)的開放性,而安全則要盡可能地實(shí)現(xiàn)一臺(tái)計(jì)算機(jī)的封閉性。
因此,在現(xiàn)實(shí)中討論的安全性,實(shí)際上是要在二者中尋找到一個(gè)平衡點(diǎn),一個(gè)讓用戶可以接受的平衡點(diǎn)。從這個(gè)意義上講,計(jì)算機(jī)安全是一個(gè)無窮無盡的主題,因此,在計(jì)算機(jī)領(lǐng)域沒有終極的安全方案。也就是說,對(duì)于計(jì)算機(jī)來說,安全本身就是一個(gè)相對(duì)的概念。
此外,建議學(xué)習(xí)一些有關(guān)TCP/IP方面的知識(shí)。如果想要了解更全面的有關(guān)iptables的知識(shí),可以查看以下鏈接,這是一個(gè)非常不錯(cuò)的iptables教程:
http://iptables-tutorial.frozentux.net/


