• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            旅途

            如果想飛得高,就該把地平線忘掉

            防火墻之基礎(chǔ)篇(iptable)

            我們知道網(wǎng)上的訪問通過tcp/ip封包來進(jìn)入主機(jī)系統(tǒng)的。在linux中它一般要同過ip過濾機(jī)制來實(shí)現(xiàn)第一層防護(hù),如果通過了這層防護(hù)還的通過下一關(guān)的檢查 那就是TCP_Wrappers 的功能。
            封包過濾( IP Filter ):
            封包過濾是 linux 提供的第一道防火墻呦!但是不同的核心版本會(huì)有不一樣的封包過濾機(jī)制!以 2.2.xx 為核心的 Linux 主要以 ipchains 作為過濾機(jī)制,至于目前新版的 2.4.xx 則以 iptables 為機(jī)制!OK!既然我們的 Red Hat 7.1, 7.2, 7.3 為 kernel 2.4.xx ,所以用 iptables 來進(jìn)行 IP 抵擋的工作啦!那么由于 TCP 封包里頭有 IP 及 port ,所以要抵擋來源 IP 或者是自身的 port ,自然就很容易來進(jìn)行啦!您目前只要知道 iptables 可以經(jīng)由 TCP 的封包表投資料來進(jìn)行分析的工作例如:和附規(guī)則的就通過,否則就把它丟棄 這樣就防止不符合規(guī)則的人進(jìn)入你的電腦。
            至于抵擋封包的工作則可以讓 TCP_Wrappers 來進(jìn)行
            要常常去看 /var/log/messages 與 /var/log/secure 這兩個(gè)個(gè)檔案!都是登陸登錄記錄等。
            要做好主機(jī)的防護(hù),第一步就是要建立完善的密碼規(guī)則啦!因?yàn)檫@個(gè)咚咚常常是 cracker 嘗試入侵的第一步!你必須要建立好主機(jī)的密碼規(guī)則,可以嘗試以 chattr 來將 /etc/passwd 及 /etc/shadow 做成不可變更的檔案!較為安全啦!
            做好安全的幾個(gè)常見的工作
            1.升級(jí)與修補(bǔ)套件漏洞、及移除危險(xiǎn)套件:
            2.每項(xiàng)系統(tǒng)服務(wù)的安全設(shè)定項(xiàng)目
            3.TCP_Wrappers 的基礎(chǔ)防火設(shè)定
            4.iptables 的防火規(guī)則設(shè)定
            5.主機(jī)資源偵測(cè)系統(tǒng)( MRTG )
            6.登錄檔案分析系統(tǒng):

            iptables:
            iptables 是 linux Kernel 2.4.xx 版本以上的主要 IP 過濾機(jī)制!他最大的功能就是可以過濾掉不要的 TCP 封包啦!當(dāng)然功能還不止于此,他還可以用來進(jìn)行 IP 偽裝,以達(dá)成 NAT 的主機(jī)功能呢! iptables 的工作方向,必須要依規(guī)則的順序來分析,底下我們簡單的談一談 iptables 的幾個(gè)概念吧:
            有幾個(gè) tables :
            跟之前版本的 ipchains 不同的地方是, iptables 可以自行定義一些 tables 的新規(guī)定!將可以讓防火墻規(guī)則變的更為便于管理呢!基本上,原本的 iptable 至少有兩個(gè) table ,一個(gè)是 filter ( 預(yù)設(shè)的,沒有填寫 tables 時(shí),就是 filter 這個(gè) table 啦 ),一個(gè)則是相當(dāng)重要的 nat table 。其中, filter 可以用來管理主機(jī)的安全,至于 nat 則是用來處理 NAT 的功能啦!
            清除規(guī)則:
            iptables 的訂定方法其實(shí)很簡單,就是使用指令列的方式來訂定而已,他的基礎(chǔ)語法在清除規(guī)則時(shí),是這樣的:
            [root @test /root]# /sbin/iptables [-FXZ]
            參數(shù)說明:
            -F :清除所有的已訂定的規(guī)則;
            -X :殺掉所有使用者建立的 chain (應(yīng)該說的是 tables )啰;
            -Z :將所有的 chain 的計(jì)數(shù)與流量統(tǒng)計(jì)都?xì)w零
            范例:
            [root @test /root]# /sbin/iptables -F
            [root @test /root]# /sbin/iptables -X
            [root @test /root]# /sbin/iptables -Z
            請(qǐng)注意,如果在遠(yuǎn)程聯(lián)機(jī)的時(shí)候,『這三個(gè)指令必須要用 scripts 來連續(xù)執(zhí)行』,不然肯定『會(huì)讓你自己被主機(jī)擋在門外!』
             
            定義政策( Policy ):
            清除規(guī)則之后,再接下來就是要設(shè)定規(guī)則的政策啦!這個(gè)所謂的政策指的是『當(dāng)你的封包不在你的規(guī)則之內(nèi)時(shí),則該封包的通過與否,以 Policy 的設(shè)定為準(zhǔn)』,例如:你設(shè)定了十條規(guī)則,但有一個(gè)封包來的時(shí)候,這十條規(guī)則都不適用,這個(gè)時(shí)候此一封包就會(huì)依據(jù) Policy 的規(guī)定為準(zhǔn),來決定是否可以通過防火墻啰。通常這個(gè)政策在 INPUT 方面可以定義的比較嚴(yán)格一點(diǎn),而 FORWARD 與 OUTPUT 則可以訂定的松一些!
            [root @test /root]# /sbin/iptables [-t tables] [-P] [INPUT,OUTPUT,FORWARD| PREROUTING,OUTPUT,POSTROUTING] [ACCEPT,DROP]
            參數(shù)說明:
            -t   :定義 table !
            tables :table 的名稱,例如 nat 啰!
            -P   :定義政策( Policy )。
            INPUT :封包為輸入主機(jī)的方向;
            OUTPUT :封包為輸出主機(jī)的方向;
            FORWARD:封包為不進(jìn)入主機(jī)而向外再傳輸出去的方向;
            PREROUTING :在進(jìn)入路由之前進(jìn)行的工作;
            OUTPUT   :封包為輸出主機(jī)的方向;
            POSTROUTING:在進(jìn)入路由之后進(jìn)行的工作。
            范例:
            [root @test /root]# /sbin/iptables -P INPUT ACCEPT
            [root @test /root]# /sbin/iptables -P OUTPUT ACCEPT
            [root @test /root]# /sbin/iptables -P FORWARD ACCEPT
            [root @test /root]# /sbin/iptables -t nat -P PREROUTING ACCEPT
            [root @test /root]# /sbin/iptables -t nat -P OUTPUT ACCEPT
            [root @test /root]# /sbin/iptables -t nat -P POSTROUTING ACCEPT
            將預(yù)設(shè)的政策都定義為接受啰!
             
            增加、插入規(guī)則:
            接下來則要定義規(guī)則啦!我們底下先完全以主機(jī)的角度來觀察!可以這樣來設(shè)定啦!
            [root @test /root]# /sbin/iptables [-AI] [INPUT,OUTPUT,FORWARD] [-io interface] [-p TCP,UDP] [-s IP/network] [--sport ports] [-d IP/network] [--dport ports] -j [ACCEPT,DROP]
            參數(shù)說明:
            -A   :新增加一條規(guī)則,該規(guī)則增加在最后面一行;
            -I   :在第一條規(guī)則加入;
            INPUT :封包為輸入主機(jī)的方向;
            OUTPUT :封包為輸出主機(jī)的方向;
            FORWARD:封包為不進(jìn)入主機(jī)而向外再傳輸出去的方向;
            -i    :流入的網(wǎng)卡接口
            -o    :流出的網(wǎng)卡接口
            interface :網(wǎng)絡(luò)卡接口,例如 ppp0, eth0, eth1....
            -p :請(qǐng)注意,這是小寫呦!封包的協(xié)議啦!
            TCP :封包為 TCP 協(xié)議的封包;
            UDP :封包為 UDP 協(xié)議的封包;
            -s :來源封包的 IP 或者是 Network ( 網(wǎng)域 );
            --sport:來源封包的 port 號(hào)碼;
            -d :目標(biāo)主機(jī)的 IP 或者是 Network ( 網(wǎng)域 );
            --dport:目標(biāo)主機(jī)的 port 號(hào)碼;
            -j   :動(dòng)作,可以接底下的動(dòng)作;
            ACCEPT :接受該封包
            DROP  :丟棄封包
            范例:
            [root @test /root]# /sbin/iptables -A INPUT -i lo -j ACCEPT
            所有的來自 lo 這個(gè)接口的封包,都予以接受
            [root @test /root]# /sbin/iptables -A INPUT -i eth0 -p TCP -s 192.168.0.1 -j ACCEPT
            來自 192.168.0.1 這個(gè) IP 的封包都予以接受
            [root @test /root]# /sbin/iptables -A INPUT -i eth0 -p TCP -s 192.168.1.0/24 -j ACCEPT
            來自 192.168.1.0 這個(gè) C Class 的網(wǎng)域的任何一部計(jì)算機(jī),就予以接受!
            [root @test /root]# /sbin/iptables -A INPUT -i eth0 -p TCP -s 192.168.1.25 -j DROP
            來自 192.168.1.25 的 IP 的封包,就直接全部給他丟棄!
            [root @test /root]# /sbin/iptables -A INPUT -i eth0 -p TCP --dport 21 -j DROP
            只要想要進(jìn)來 21 這個(gè) port 的封包,就把他丟棄!
            [root @test /root]# /sbin/iptables -A INPUT -i eth0 -p TCP -s 192.168.0.24 --dport 22 -j ACCEPT
            來自 192.168.0.24 的主機(jī),想要到我的 port 22 時(shí),就予以接受!
            請(qǐng)注意:防火墻的規(guī)則是『一行一行依序來檢查的,若符合任何一條規(guī)則,則予以動(dòng)作(接受或丟棄),否則繼續(xù)往下檢查到最后一條』上
            TCP_Wrappers:
            這個(gè) TCP_Wrappers 實(shí)在是很簡單的一個(gè)設(shè)定工作,因?yàn)樗灰O(shè)定 /etc/hosts.allow 及 /etc/hosts.deny 就可以啦!基本上,他是經(jīng)由 /usr/sbin/tcpd 這個(gè)程序來進(jìn)行 TCP 的檢驗(yàn)工作!而檢驗(yàn)的方式則是以 /etc/hosts.allow 及 /etc/hosts.deny 來設(shè)定的啦!檢驗(yàn)的流程是先以 /etc/hosts.allow 這個(gè)檔案,檢驗(yàn)完之后,在到 /etc/hosts.deny 去搜尋!好了,那么 hosts.allow 要怎樣設(shè)定呢?
            <服務(wù)名稱> : <IP/network> : <action>
            特別注意, network 可以使用 192.168.0.0/255.255.255.0 ,但不可使用 192.168.0.0/24 !
            [root @test /root]# vi /etc/hosts.allow
            in.telnetd: 127.0.0.1 : allow
            in.ftpd: 127.0.0.1 : allow
            本機(jī)的 127.0.0.1 開放 telnet 及 ftp 哩!
            [root @test /root]# vi /etc/hosts.deny
            in.telnetd: 192.168.2.3 : deny
            將 192.168.2.3 的 telnet 服務(wù)關(guān)掉!




            本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/goldce/articles/426600.aspx

            posted on 2009-08-20 12:49 旅途 閱讀(399) 評(píng)論(0)  編輯 收藏 引用 所屬分類: LINUX基礎(chǔ)、管理

            国产精品久久久天天影视香蕉 | .精品久久久麻豆国产精品 | 青青国产成人久久91网| 久久国产精品99久久久久久老狼| 婷婷综合久久中文字幕| 亚洲国产成人乱码精品女人久久久不卡| 香港aa三级久久三级老师2021国产三级精品三级在 | 无码任你躁久久久久久| 久久精品中文闷骚内射| 久久久久人妻一区二区三区vr | 欧美伊香蕉久久综合类网站| 久久无码一区二区三区少妇| 久久亚洲精品国产精品| 日本精品久久久久影院日本 | 国产呻吟久久久久久久92| 精产国品久久一二三产区区别| 欧美一区二区精品久久| 亚洲伊人久久大香线蕉综合图片| 草草久久久无码国产专区| 久久偷看各类wc女厕嘘嘘| 日韩va亚洲va欧美va久久| 久久综合久久综合久久| 久久久精品久久久久影院| 国产成人综合久久精品尤物| 国内精品久久人妻互换| 亚洲美日韩Av中文字幕无码久久久妻妇 | 亚洲精品无码专区久久久| 久久久久夜夜夜精品国产| 久久精品国产亚洲av影院| 精品综合久久久久久97| 理论片午午伦夜理片久久| 精品久久久久久国产牛牛app| 久久福利青草精品资源站| 国产精品久久久久9999| 久久精品国产网红主播| 久久国产精品一国产精品金尊| 热re99久久6国产精品免费| 亚洲国产精品一区二区久久hs | 九九久久自然熟的香蕉图片| 久久久久久九九99精品| 国产精品99久久99久久久|