Linux網(wǎng)絡(luò)服務(wù)器配置管理項目實訓(xùn)教程(第二版)課件:配置防火墻與代理服務(wù)器_第1頁
Linux網(wǎng)絡(luò)服務(wù)器配置管理項目實訓(xùn)教程(第二版)課件:配置防火墻與代理服務(wù)器_第2頁
Linux網(wǎng)絡(luò)服務(wù)器配置管理項目實訓(xùn)教程(第二版)課件:配置防火墻與代理服務(wù)器_第3頁
Linux網(wǎng)絡(luò)服務(wù)器配置管理項目實訓(xùn)教程(第二版)課件:配置防火墻與代理服務(wù)器_第4頁
Linux網(wǎng)絡(luò)服務(wù)器配置管理項目實訓(xùn)教程(第二版)課件:配置防火墻與代理服務(wù)器_第5頁
已閱讀5頁,還剩104頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

Linux網(wǎng)絡(luò)服務(wù)器配置管理項目實訓(xùn)教程(第二版)

配置防火墻與代理服務(wù)器11.1

相關(guān)知識11.3項目實施11.6

練習(xí)題11.7實訓(xùn)11.8

超級鏈接

配置與管理防火墻和代理服務(wù)器11.2項目設(shè)計與準(zhǔn)備11.4

squid服務(wù)器配置實例11.5

iptables服務(wù)器配置實例11.1

相關(guān)知識11.1.1防火墻概述1.什么是防火墻防火墻通常具備以下幾個特點。(1)位置權(quán)威性。(2)檢測合法性。(3)性能穩(wěn)定性。11.1.1防火墻概述2.防火墻的種類(1)包過濾防火墻。(2)代理防火墻。(3)狀態(tài)檢測技術(shù)。11.1.2iptables簡介早期的Linux系統(tǒng)采用過ipfwadm作為防火墻,但在2.2.0核心中被ipchains所取代。Linux2.4版本發(fā)布后,netfilter/iptables信息包過濾系統(tǒng)正式使用。Netfilter/iptablesIP數(shù)據(jù)包過濾系統(tǒng)實際由netfilter和iptables兩個組件構(gòu)成。Netfilter是集成在內(nèi)核中的一部分,它的作用是定義、保存相應(yīng)的規(guī)則。而iptables是一種工具,用以修改信息的過濾規(guī)則及其他配置。用戶可以通過iptables來設(shè)置適合當(dāng)前環(huán)境的規(guī)則,而這些規(guī)則會保存在內(nèi)核空間中。對于Linux服務(wù)器而言,采用netfilter/iptables數(shù)據(jù)包過濾系統(tǒng),能夠節(jié)約軟件成本,并可以提供強大的數(shù)據(jù)包過濾控制功能,iptables是理想的防火墻解決方案。11.1.3iptables工作原理netfilter是Linux核心中的一個通用架構(gòu),它提供了一系列的“表”(tables),每個表由若干“鏈”(chains)組成,而每條鏈可以由一條或數(shù)條“規(guī)則”(rules)組成。實際上,netfilter是表的容器,表是鏈的容器,而鏈又是規(guī)則的容器。1.iptables名詞解釋(1)規(guī)則(rules)。設(shè)置過濾數(shù)據(jù)包的具體條件,如IP地址、端口、協(xié)議以及網(wǎng)絡(luò)接口等信息,iptables如表條件說明Address針對封包內(nèi)的地址信息進行比對。可對來源地址(SourceAddress)、目的地址(DestinationAddress)與網(wǎng)絡(luò)卡地址(MACAddress)進行比對Port封包內(nèi)存放于Transport層的Port信息設(shè)定比對的條件,可用來比對的Pott信息包含:來源Port(SourcePort)、目的Port(DestinationPort)Protocol通信協(xié)議,指的是某一種特殊種類的通信協(xié)議。Netfilter可以比對TCP、UDP或者ICMP等協(xié)議Interface接口,指的是封包接收,或者輸出的網(wǎng)絡(luò)適配器名稱Fragment不同NetworkInterface的網(wǎng)絡(luò)系統(tǒng),會有不同的封包長度的限制。如封包跨越至不同的網(wǎng)絡(luò)系統(tǒng)時,可能會將封包進行裁切(Fragment)??梢葬槍Σ们泻蟮姆獍畔⑦M行監(jiān)控與過濾Counter可針對封包的計數(shù)單位進行條件比對(2)動作(target)。當(dāng)數(shù)據(jù)包經(jīng)過Linux時,若netfilter檢測該包符合相應(yīng)規(guī)則,則會對該數(shù)據(jù)包進行相應(yīng)的處理,iptables動作如表11.1.3iptables工作原理11.1.3iptables工作原理(3)鏈(chain)。數(shù)據(jù)包傳遞過程中,不同的情況下所要遵循的規(guī)則組合形成了鏈。規(guī)則鏈可以分為以下兩種?!駜?nèi)置鏈(Build-inChains)?!裼脩糇远x鏈(User-DefinedChains)。netfilter常用的為內(nèi)置鏈,其一共有5個鏈,如表11.1.3iptables工作原理netfilter的5條鏈相互地關(guān)聯(lián),如圖iptables數(shù)據(jù)包轉(zhuǎn)發(fā)流程圖11.1.3iptables工作原理(4)表(table)。接受數(shù)據(jù)包時,Netfilter會提供以下3種數(shù)據(jù)包處理的功能?!襁^濾?!竦刂忿D(zhuǎn)換?!褡兏?。Netfilter根據(jù)數(shù)據(jù)包的處理需要,將鏈(chain)進行組合,設(shè)計了3個表(table):filter、nat以及mangle。①filter。這是netfilter默認(rèn)的表,通常使用該表進行過濾的設(shè)置,它包含以下內(nèi)置鏈?!馡NPUT:應(yīng)用于發(fā)往本機的數(shù)據(jù)包?!馞ORWARD:應(yīng)用于路由經(jīng)過本地的數(shù)據(jù)包?!馩UTPUT:本地產(chǎn)生的數(shù)據(jù)包。filter表過濾功能強大,幾乎能夠設(shè)定所有的動作(target)。11.1.3iptables工作原理②nat。當(dāng)數(shù)據(jù)包建立新的連接時,該nat表能夠修改數(shù)據(jù)包,并完成網(wǎng)絡(luò)地址轉(zhuǎn)換。它包含以下3個內(nèi)置鏈?!馪REROUTING:修改到達的數(shù)據(jù)包?!馩UTPUT:路由之前,修改本地產(chǎn)生數(shù)據(jù)包?!馪OSTROUTING:數(shù)據(jù)包發(fā)送前,修改該包。nat表僅用于網(wǎng)絡(luò)地址轉(zhuǎn)換,也就是轉(zhuǎn)換包的源或目標(biāo)地址,其具體的動作有DNAT、SNAT以及MASQUERADE,下面的內(nèi)容將會詳細(xì)介紹。11.1.3iptables工作原理③mangle。該表用在數(shù)據(jù)包的特殊變更操作,如修改TOS等特性。Linux2.4.17內(nèi)核以前,它包含兩個內(nèi)置鏈:PREROUTING和OUTPUT,內(nèi)核2.4.18發(fā)布后,mangle表對其他3個鏈提供了支持?!馪REROUTING:路由之前,修改接受的數(shù)據(jù)包?!馡NPUT:應(yīng)用于發(fā)送給本機的數(shù)據(jù)包?!馞ORWARD:修改經(jīng)過本機路由的數(shù)據(jù)包?!馩UTPUT:路由之前,修改本地產(chǎn)生的數(shù)據(jù)包?!馪OSTROUTING:數(shù)據(jù)包發(fā)送出去之前,修改該包。2.iptables工作流程11.1.3iptables工作原理iptables擁有3個表和5個鏈,其整個工作流程如圖11.1.3iptables工作原理11.1.4NAT的基本知識網(wǎng)絡(luò)地址轉(zhuǎn)換器NAT(NetworkAddressTranslator)位于使用專用地址的Intranet和使用公用地址的Internet之間,主要具有以下幾種功能。(1)從Intranet傳出的數(shù)據(jù)包由NAT將它們的專用地址轉(zhuǎn)換為公用地址。(2)從Internet傳入的數(shù)據(jù)包由NAT將它們的公用地址轉(zhuǎn)換為專用地址。(3)支持多重服務(wù)器和負(fù)載均衡。(4)實現(xiàn)透明代理。這樣在內(nèi)網(wǎng)中計算機使用未注冊的專用IP地址,而在與外部網(wǎng)絡(luò)通信時使用注冊的公用IP地址,大大降低了連接成本。同時NAT也起到將內(nèi)部網(wǎng)絡(luò)隱藏起來,保護內(nèi)部網(wǎng)絡(luò)的作用,因為對外部用戶來說只有使用公用IP地址的NAT是可見的,類似于防火墻的安全措施。11.1.4NAT的基本知識1.NAT的工作過程(1)客戶機將數(shù)據(jù)包發(fā)給運行NAT的計算機。(2)NAT將數(shù)據(jù)包中的端口號和專用的IP地址換成它自己的端口號和公用的IP地址,然后將數(shù)據(jù)包發(fā)給外部網(wǎng)絡(luò)的目的主機,同時記錄一個跟蹤信息在映像表中,以便向客戶機發(fā)送回答信息。(3)外部網(wǎng)絡(luò)發(fā)送回答信息給NAT。(4)NAT將所收到的數(shù)據(jù)包的端口號和公用IP地址轉(zhuǎn)換為客戶機的端口號和內(nèi)部網(wǎng)絡(luò)使用的專用IP地址并轉(zhuǎn)發(fā)給客戶機。以上步驟對于網(wǎng)絡(luò)內(nèi)部的主機和網(wǎng)絡(luò)外部的主機都是透明的,對他們來講就如同直接通信一樣。如圖11.1.4NAT的基本知識11.1.4NAT的基本知識11.1.4NAT的基本知識2.NAT的分類(1)源NAT(SourceNAT,SNAT)。SNAT指修改第一個包的源IP地址。SNAT會在包送出之前的最后一刻做好Post-Routing的動作。Linux中的IP偽裝(MASQUERADE)就是SNAT的一種特殊形式。(2)目的NAT(DestinationNAT,DNAT)。DNAT是指修改第一個包的目的IP地址。DNAT總是在包進入后立刻進行Pre-Routing動作。端口轉(zhuǎn)發(fā)、負(fù)載均衡和透明代理均屬于DNAT。11.1.4NAT的基本知識11.1.5代理服務(wù)器代理服務(wù)器(ProxyServer)等同于內(nèi)網(wǎng)與Internet的橋梁。普通的Internet訪問是一個典型的客戶機與服務(wù)器結(jié)構(gòu):用戶利用計算機上的客戶端程序,如瀏覽器發(fā)出請求,遠(yuǎn)端www服務(wù)器程序響應(yīng)請求并提供相應(yīng)的數(shù)據(jù)。而Proxy處于客戶機與服務(wù)器之間,對于服務(wù)器來說,Proxy是客戶機,Proxy提出請求,服務(wù)器響應(yīng);對于客戶機來說,Proxy是服務(wù)器,它接受客戶機的請求,并將服務(wù)器上傳來的數(shù)據(jù)轉(zhuǎn)給客戶機。它的作用如同現(xiàn)實生活中的代理服務(wù)商。11.1.5代理服務(wù)器1.代理服務(wù)器的工作原理11.1.5代理服務(wù)器11.1.5代理服務(wù)器2.代理服務(wù)器的作用(1)提高訪問速度。(2)用戶訪問限制。(3)安全性得到提高。11.2項目設(shè)計及準(zhǔn)備11.2.1項目設(shè)計網(wǎng)絡(luò)建立初期,人們只考慮如何實現(xiàn)通信而忽略了網(wǎng)絡(luò)的安全。而防火墻可以使企業(yè)內(nèi)部局域網(wǎng)與Internet之間或者與其他外部網(wǎng)絡(luò)互相隔離、限制網(wǎng)絡(luò)互訪來保護內(nèi)部網(wǎng)絡(luò)。大量擁有內(nèi)部地址的機器組成了企業(yè)內(nèi)部網(wǎng),那么如何連接內(nèi)部網(wǎng)與Internet?代理服務(wù)器將是很好的選擇,它能夠解決內(nèi)部網(wǎng)訪問Internet的問題并提供訪問的優(yōu)化和控制功能。本項目設(shè)計在安裝有企業(yè)版Linux網(wǎng)絡(luò)操作系統(tǒng)的服務(wù)器上安裝iptabels。11.2.2項目準(zhǔn)備部署iptables應(yīng)滿足下列需求。(1)安裝好的企業(yè)版Linux網(wǎng)絡(luò)操作系統(tǒng),并且必須保證常用服務(wù)正常工作??蛻舳耸褂肔inux或Windows網(wǎng)絡(luò)操作系統(tǒng)。服務(wù)器和客戶端能夠通過網(wǎng)絡(luò)進行通信。(2)或者利用虛擬機進行網(wǎng)絡(luò)環(huán)境的設(shè)置。

11.3

項目實施11.3.1任務(wù)1安裝iptables11.3.1任務(wù)1安裝iptables11.3.1任務(wù)1安裝iptables5.自動加載iptables服務(wù)(1)chkconfig。使用chkconfig命令自動加載iptables服務(wù),如下所示。(2)ntsysv。使用ntsysv命令,利用文本圖形界面對iptables自動加載進行配置。11.3.2任務(wù)2認(rèn)識iptables的基本語法如果想靈活運用iptables來加固系統(tǒng)安全的話,就必須熟練地掌握iptables的語法格式。iptables的語法格式如下。iptables[-t表名]-命令-匹配-j動作/目標(biāo)1.表選項iptables內(nèi)置了filter、nat和mangle3張表,使用-t參數(shù)來設(shè)置對哪張表生效。例如,如果對nat表設(shè)置規(guī)則的話,可以在-t參數(shù)后面加上nat,如下所示。iptables-tnat-命令-匹配-j動作/目標(biāo)-t參數(shù)是可以省略的,如果省略了-t參數(shù),則表示對filter表進行操作。例如:iptables-AINPUT-picmp-jDROP11.3.2任務(wù)2認(rèn)識iptables的基本語法2.命令選項命令選項是指定對提交的規(guī)則要做什么樣的操作。例如添加/刪除規(guī)則,或者查看規(guī)則列表等。下面先來介紹一些最為常用的命令。(1)-P或--policy。作用:定義默認(rèn)的策略,所有不符合規(guī)則的包都被強制使用這個策略。例如:iptables-tfilter-PINPUTDROP

注意:只有內(nèi)建的鏈才可以使用規(guī)則。

(2)-A或--append。作用:在所選擇的鏈的最后添加一條規(guī)則。例如:iptables-AOUTPUT-ptcp--sport22DROP11.3.2任務(wù)2認(rèn)識iptables的基本語法(3)-D或--delete。作用:從所選鏈中刪除規(guī)則。例如:iptables-DOUTPUT1

注意:刪除規(guī)則的時候可以把規(guī)則完整寫出來刪除,就像創(chuàng)建規(guī)則時一樣,但是更快的是指定規(guī)則在所選鏈中的序號。

(4)-L或--list。作用:顯示所選鏈的所有規(guī)則。如果沒有指定鏈,則顯示指定表中的所有鏈。例如:iptables-tnat-L

注意:如果沒有指定-t參數(shù),就顯示默認(rèn)表filter中的所有鏈。11.3.2任務(wù)2認(rèn)識iptables的基本語法(5)-F或--flush。作用:清空所選的鏈中的規(guī)則。如果沒有指定鏈,則清空指定表中的所有鏈的規(guī)則。例如:iptables-FOUTPUT(6)-I或--insert。作用:根據(jù)給出的規(guī)則序號向所選鏈中插入規(guī)則。如果序號為1,規(guī)則會被插入鏈的頭部。如果序號為2,則表示將規(guī)則插入第二行,依次類推。例如:iptables-IINPUT2-ptcp--dport80-jACCEPT

注意:iptables對參數(shù)的大小寫敏感,也就是說大寫的參數(shù)-P和小寫的參數(shù)-p表示不同的意思。3.匹配選項匹配選項用來指定需要過濾的數(shù)據(jù)包所具備的條件。換句話說就是在過濾數(shù)據(jù)包的時候,iptables根據(jù)什么來判斷到底是允許數(shù)據(jù)包通過,還是不允許數(shù)據(jù)包通過,過濾的角度通??梢允窃吹刂?、目的地址、端口號或狀態(tài)等信息。如果使用協(xié)議進行匹配的話,就是告訴iptables從所使用的協(xié)議來進行判斷是否丟棄這些數(shù)據(jù)包。在TCP/IP的網(wǎng)絡(luò)環(huán)境里,大多數(shù)的數(shù)據(jù)包所使用的協(xié)議不是TCP類型的就是UDP類型的,還有一種是ICMP類型的數(shù)據(jù)包,例如ping命令所使用的就是ICMP協(xié)議。下面先來介紹一些較為常用的匹配選項。更多介紹請參考相關(guān)文獻。11.3.2任務(wù)2認(rèn)識iptables的基本語法11.3.2任務(wù)2認(rèn)識iptables的基本語法(1)-p或--protocol。作用:匹配指定的協(xié)議。例如:iptables-AINPUT-pudp-jDROP

注意:設(shè)置協(xié)議時可以使用它們對應(yīng)的整數(shù)值。例如ICMP的值是1,TCP是6,UDP是17,默認(rèn)設(shè)置為ALL,相應(yīng)數(shù)值是0,僅代表匹配TCP、UDP和ICMP協(xié)議。

(2)--sport或--source-port。作用:基于TCP包的源端口來匹配包,也就是說通過檢測數(shù)據(jù)包的源端口是不是指定的來判斷數(shù)據(jù)包的去留。例如:iptables-AINPUT-ptcp--sport80-jACCEPT

注意:如果不指定此項,則表示針對所有端口。11.3.2任務(wù)2認(rèn)識iptables的基本語法(3)--dport或--destination-port。作用:基于TCP包的目的端口來匹配包,也就是說通過檢測數(shù)據(jù)包的目的端口是不是指定的來判斷數(shù)據(jù)包的去留。端口的指定形式和--sport完全一樣。例如:iptables-IINPUT-ptcp--dport80-jACCEPT(4)-s或--src或--source。作用:以IP源地址匹配包。例如:iptables-AINPUT-s-jDROP注意:在地址前加英文感嘆號表示取反,注意空格,如:-s!/24表示除此地址外的所有地址。11.3.2任務(wù)2認(rèn)識iptables的基本語法(5)-d或--dst或--destination。作用:基于TCP包的目的端口來匹配包,也就是說通過檢測數(shù)據(jù)包的目的端口是不是指定的來判斷數(shù)據(jù)包的去留。端口的指定形式和-sport一致。例如:iptables-IOUTPUT-d/24-jACCEPT(6)-i或--in-interface作用:以數(shù)據(jù)包進入本地所使用的網(wǎng)絡(luò)接口來匹配。例如:iptables-AINPUT-ieth0-jACCEPT

注意:這個匹配操作只能用于INPUT、FORWARD和PREROUTING這3個鏈,否則會報錯。在接口前加英文感嘆號表示取反,注意空格,如:-i!eth0意思是匹配來自eth0外的所有數(shù)據(jù)包。

(7)-o或--out-interface作用:以包離開本地所使用的網(wǎng)絡(luò)接口來匹配包。接口的指定形式和-i一致。例如:iptables -AOUTPUT -o eth1 -j ACCEPT4.動作/目標(biāo)選項動作/目標(biāo)決定符合條件的數(shù)據(jù)包將如何處理,其中最為基本的有ACCEPT和DROP。介紹常用的動作/目標(biāo)如表11.3.2任務(wù)2認(rèn)識iptables的基本語法11.3.3任務(wù)3設(shè)置默認(rèn)策略在iptables中,所有的內(nèi)置鏈都會有一個默認(rèn)策略。當(dāng)通過iptables的數(shù)據(jù)包不符合鏈中的任何一條規(guī)則時,則按照默認(rèn)策略來處理數(shù)據(jù)包。定義默認(rèn)策略的命令格式如下。iptables[-t表名]-P鏈名動作【例11-1】將filter表中INPUT鏈的默認(rèn)策略定義為DROP(丟棄數(shù)據(jù)包)。[root@server~]#iptables-PINPUTDROP【例11-2】將nat表中OUTPUT鏈的默認(rèn)策略定義為ACCEPT(接受數(shù)據(jù)包)。[root@server~]#iptables-tnat-POUTPUTACCEPT11.3.4任務(wù)4配置iptables規(guī)則【例11-4】查看filter表中FORWARD鏈的規(guī)則。11.3.4任務(wù)4配置iptables規(guī)則2.添加、刪除、修改規(guī)則【例11-5】為filter表的INPUT鏈添加一條規(guī)則,規(guī)則為拒絕所有使用ICMP協(xié)議的數(shù)據(jù)包。11.3.4任務(wù)4配置iptables規(guī)則11.3.4任務(wù)4配置iptables規(guī)則【例11-6】為filter表的INPUT鏈添加一條規(guī)則,規(guī)則為允許訪問TCP協(xié)議的80端口的數(shù)據(jù)包通過。11.3.4任務(wù)4配置iptables規(guī)則【例11-7】在filter表中INPUT鏈的第2條規(guī)則前插入一條新規(guī)則,規(guī)則為不允許訪問TCP協(xié)議的53端口的數(shù)據(jù)包通過。11.3.4任務(wù)4配置iptables規(guī)則【例11-8】在filter表中INPUT鏈的第一條規(guī)則前插入一條新規(guī)則,規(guī)則為允許源IP地址屬于/16網(wǎng)段的數(shù)據(jù)包通過。11.3.4任務(wù)4配置iptables規(guī)則【例11-9】刪除filter表中INPUT鏈的第2條規(guī)則。11.3.4任務(wù)4配置iptables規(guī)則當(dāng)某條規(guī)則過長時,可以使用數(shù)字代碼來簡化操作,如下所示。使用-1ine-n參數(shù)來查看規(guī)則代碼。[root@server~]#iptables-LINPUT--line-nChainINPUT(policyACCEPT)num target prot opt source destination1ACCEPT all --/16 anvwhere2DROP icmp --anvwhere anvwhere3DROP tcp --anvwhere anvwhere tcp dpt:domain4ACCEPT tcp --anvwhere anvwhere tcp dpt:http11.3.4任務(wù)4配置iptables規(guī)則#直接使用規(guī)則代碼進行刪除11.3.4任務(wù)4配置iptables規(guī)則【例11-10】清除filter表中INPUT鏈的所有規(guī)則。[root@server~]#iptables-FINPUT#查看規(guī)則列表[root@server~]#iptables-LINPUTChainINPUT(policyACCEPT)target prot opt source destination11.3.4任務(wù)4配置iptables規(guī)則3.保存規(guī)則與恢復(fù)iptables提供了兩個很有用的工具來保存和恢復(fù)規(guī)則,這在規(guī)則集較為龐大的時候非常實用。它們分別是iptables-save和iptables-restore。iptables-save用來保存規(guī)則,它的用法比較簡單,命令格式如下。iptables-save[-c][-t表名]-c:保存包和字節(jié)計數(shù)器的值。這可以使在重啟防火墻后不丟失對包和字節(jié)的統(tǒng)計。-t:用來選擇保存哪張表的規(guī)則,如果不跟-t參數(shù)則保存所有的表。11.3.4任務(wù)4配置iptables規(guī)則當(dāng)使用iptables-save命令后可以在屏幕上看到輸出結(jié)果,其中*表示的是表的名字,它下面跟的是該表中的規(guī)則集。11.3.4任務(wù)4配置iptables規(guī)則11.3.4任務(wù)4配置iptables規(guī)則可以使用重定向命令來保存這些規(guī)則集,如下所示。[root@server~]#iptables–save>/etc/iptables-saveiptables-restore用來裝載由iptables-save保存的規(guī)則集。其命令格式如下所示。iptables-restore[c][-n]-c:如果加上-c參數(shù),表示要求裝入包和字節(jié)計數(shù)器。-n:表示不要覆蓋已有的表或表內(nèi)的規(guī)則。默認(rèn)情況是清除所有已存在的規(guī)則。使用重定向來恢復(fù)由iptables-save保存的規(guī)則集,如下所示。[root@server~]#iptables-restore</etc/iptables-save所有的添加、刪除、修改規(guī)則都是臨時生效。當(dāng)重新啟動系統(tǒng)后,恢復(fù)成原有的配置,如果想保持所做的修改在重新啟動系統(tǒng)后依舊生效,可以使用以下命令來保存iptables的規(guī)則配置,如下所示。[root@iptables/]#iptables-save>/etc/iptables-save[root@iptables/]#serviceiptablessave將當(dāng)前規(guī)則保存在/etc/sysconfig/iptables。 [確定]11.3.5任務(wù)5從常用實例中掌握配置iptables技巧1.禁止訪問不健康網(wǎng)站很多的企業(yè)為了確保網(wǎng)絡(luò)的安全性而禁止員工訪問不健康的網(wǎng)站。iptables可以使用限制域名或IP地址的方式靈活地進行控制?!纠?1-11】禁止員工訪問域名為的網(wǎng)站。[root@server~]#iptables-AFORWARD-d–jDROP#查看FORWARD鏈的規(guī)則[root@server~]#iptables–LFORWARDChainFORWARD(policyACCEPT)target Prot opt source destinationDROP all -- anywhere 11.3.5任務(wù)5從常用實例中掌握配置iptables技巧【例11-12】禁止員工訪問IP地址為的網(wǎng)站。[root@iptables/]#iptables-AFORWARD-d–jDROP#查看FORWARD鏈的規(guī)則[root@server~]#iptables–LFORWARDChainFORWARD(policyACCEPT)target Prot opt source destinationDROP all -- anywhere DROP all -- anywhere 11.3.5任務(wù)5從常用實例中掌握配置iptables技巧2.禁止用戶使用QQ軟件員工上網(wǎng)聊天似乎已經(jīng)成為一種司空見慣的事情,大多數(shù)人對此習(xí)以為常??墒窃诶习宓难劾锼麄儾⒉幌M吹竭@些。所以很多的網(wǎng)絡(luò)管理者在部署企業(yè)內(nèi)部網(wǎng)絡(luò)的時候都紛紛禁止使用QQ軟件,早期的QQ都采用UDP協(xié)議進行傳輸數(shù)據(jù),而且所使用的端口通常是從4

000開始,目前新版本的QQ既可以使用TCP協(xié)議,也可以使用UDP協(xié)議,而且端口號也有所改變,這使得封鎖QQ軟件的難度加大。不過只要知道QQ使用的服務(wù)器地址和端口號依舊可以進行封鎖。獲取QQ使用的服務(wù)器地址和端口號很容易,進入QQ安裝目錄,在任意以QQ號碼命名的目錄中找到Config.db的文件,并用記事本或其他編輯器打開,即可看到QQ使用的服務(wù)器地址和端口號,如圖11.3.5任務(wù)5從常用實例中掌握配置iptables技巧11.3.6任務(wù)6使用日志監(jiān)控iptables11.3.6任務(wù)6使用日志監(jiān)控iptables可以先將LOG功能的使用方式理解成以下這樣。iptables[-t表名]-命令-匹配-jLOG但是這并不完整,LOG目標(biāo)后面可以跟5個選項來規(guī)范和完善LOG功能,例如設(shè)置日志記錄的詳細(xì)程度,或者是否去跟蹤一個特定地址的數(shù)據(jù)包。當(dāng)然這5個選項并不是都需要寫出來,不過,我們還是先來看看它們分別是什么意思。11.3.6任務(wù)6使用日志監(jiān)控iptables11.3.6任務(wù)6使用日志監(jiān)控iptables11.3.6任務(wù)6使用日志監(jiān)控iptables11.3.7任務(wù)7實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)11.3.7任務(wù)7實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)2.配置SNATSNAT功能是進行源IP地址轉(zhuǎn)換,也就是重寫數(shù)據(jù)包的源IP地址。若網(wǎng)絡(luò)內(nèi)部主機采用共享方式,訪問Internet連接時就需要用到SNAT的功能,將本地的IP地址替換為公網(wǎng)的合法IP地址。SNAT只能用在nat表的POSTROUTING鏈,并且只要連接的第一個符合條件的包被SNAT進行地址轉(zhuǎn)換,那么這個連接的其他所有的包都會自動地完成地址替換工作,而且這個規(guī)則還會應(yīng)用于這個連接的其他數(shù)據(jù)包。SNAT使用選項--to-source,命令語法如下。iptables-tnat-APOSTROUTING-o網(wǎng)絡(luò)接口-jSNAT--to-sourceIP地址11.3.7任務(wù)7實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)11.3.7任務(wù)7實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)【例11-13】公司內(nèi)部主機使用/8網(wǎng)段的IP地址,并且使用Linux主機作為服務(wù)器連接互聯(lián)網(wǎng),外網(wǎng)地址為固定地址2,現(xiàn)需要修改相關(guān)設(shè)置保證內(nèi)網(wǎng)用戶能夠正常訪問Internet,如圖11.3.7任務(wù)7實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)11.3.7任務(wù)7實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)11.3.7任務(wù)7實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)DNAT主要能夠完成以下幾個功能。(1)發(fā)布內(nèi)網(wǎng)服務(wù)器。iptables能夠接收外部的請求數(shù)據(jù)包,并轉(zhuǎn)發(fā)至內(nèi)部的應(yīng)用服務(wù)器,整個過程是透明的,訪問者感覺像直接在與內(nèi)網(wǎng)服務(wù)器進行通信一樣,如圖11.3.7任務(wù)7實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)【例11-14】公司網(wǎng)絡(luò)內(nèi)部搭建了一臺Web服務(wù)器,其IP地址為,防火墻外部IP地址為7,現(xiàn)需要調(diào)整防火墻設(shè)置,保證外網(wǎng)用戶能夠正常訪問該服務(wù)器。使用DNAT將發(fā)送至7,并且端口為80的數(shù)據(jù)包轉(zhuǎn)發(fā)至,如下所示。[root@server~]#iptables-tnat-APREROUTING-d7-ptcp

--dport80–jDNAT--to-destination:8011.3.7任務(wù)7實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)(2)實現(xiàn)負(fù)載均衡。如果內(nèi)部網(wǎng)絡(luò)存在多臺相同類型應(yīng)用的服務(wù)器,可以使用DNAT,將外部的訪問流量分配到多臺Server上,實現(xiàn)負(fù)載均衡,減輕服務(wù)器的負(fù)擔(dān)?!纠?-15】公司內(nèi)部共有3臺數(shù)據(jù)相同的Web服務(wù)器,IP地址分別為0、1以及3,防火墻外部地址為3,為了提高頁面的響應(yīng)速度,需要對Web服務(wù)進行優(yōu)化。[root@server~]#iptables-tnat-APREROUTING-d3-ptcp

--dport80-jDNAT–to-destination0-211.3.7任務(wù)7實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)4.MASQUERADEMASQUERADE和SNAT作用相同,也是提供源地址轉(zhuǎn)換的操作,但它是針對外部接口為動態(tài)IP地址而設(shè)計的,不需要使用--to-source指定轉(zhuǎn)換的IP地址。如果網(wǎng)絡(luò)采用的是撥號方式接入Internet,而沒有對外的靜態(tài)IP地址,那么,建議使用MASQUERADE?!纠?1-16】公司內(nèi)部網(wǎng)絡(luò)有230臺計算機,網(wǎng)段為/24,并配有一臺撥號主機,使用接口ppp0接入Internet,所有客戶端通過該主機訪問互聯(lián)網(wǎng)。這時,需要在撥號主機進行設(shè)置,將/24的內(nèi)部地址轉(zhuǎn)換為ppp0的公網(wǎng)地址,如下所示。[root@server~]#iptables-tnat-APOSTROUTING–oppp0

-s/24-jMASQUERADE

注意:MASQUERADE是特殊的過濾規(guī)則,它只可以偽裝從一個接口到另一個接口的數(shù)據(jù)。11.3.7任務(wù)7實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)5.連接跟蹤(1)什么是連接跟蹤。通常,在iptables防火墻的配置都是單向的,例如,防火墻僅在INPUT鏈允許主機訪問Google站點,這時,請求數(shù)據(jù)包能夠正常發(fā)送至Google服務(wù)器,但是,當(dāng)服務(wù)器的回應(yīng)數(shù)據(jù)包抵達時,因為沒有配置允許的策略,則該數(shù)據(jù)包將會被丟棄,無法完成整個通信過程。所以,配置iptables時需要配置出站、入站規(guī)則,這無疑增大了配置的復(fù)雜度。實際上,連接跟蹤能夠簡化該操作。連接跟蹤依靠數(shù)據(jù)包中的特殊標(biāo)記,對連接狀態(tài)“state”進行檢測,Netfilter能夠根據(jù)狀態(tài)決定數(shù)據(jù)包的關(guān)聯(lián),或者分析每個進程對應(yīng)數(shù)據(jù)包的關(guān)系,決定數(shù)據(jù)包的具體操作。連接跟蹤支持TCP和UDP通信,更加適用于數(shù)據(jù)包的交換。11.3.7任務(wù)7實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)11.3.7任務(wù)7實現(xiàn)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)11.3.8任務(wù)8安裝、啟動與停止Squid服務(wù)

對于Web用戶來說,Squid是一個高性能的代理緩存服務(wù)器,可以加快內(nèi)部網(wǎng)瀏覽Internet的速度,提高客戶機的訪問命中率。Squid將數(shù)據(jù)元緩存在內(nèi)存中,同時也緩存DNS查尋的結(jié)果,除此之外,它還支持非模塊化的DNS查詢,對失敗的請求進行消極緩存。Squid由一個主要的服務(wù)程序Squid,一個DNS查詢程序dnsserver,幾個重寫請求和執(zhí)行認(rèn)證的程序,以及幾個管理工具組成。Squid的另一個優(yōu)越性在于它使用訪問控制清單(ACL)和訪問權(quán)限清單(ARL)。11.3.8任務(wù)8安裝、啟動與停止Squid服務(wù)

Squid的主要功能如下所示?!翊砗途彺鍴TTP、FTP和其他的URL請求?!翊鞸SL請求?!裰С侄嗉壘彺??!裰С滞该鞔??!裰С諭CP、HTCP、CARP等緩存摘要?!裰С侄喾N方式的訪問控制和全部請求的日志記錄。●提供HTTP服務(wù)器加速?!衲軌蚓彺鍰NS查詢。Squid的官方網(wǎng)站是。11.3.8任務(wù)8安裝、啟動與停止Squid服務(wù)

11.3.8任務(wù)8安裝、啟動與停止Squid服務(wù)

2.啟動、停止Squid服務(wù)啟動和重新啟動Squid服務(wù)的命令和界面如下所示。11.3.8任務(wù)8安裝、啟動與停止Squid服務(wù)

3.自動加載Squid服務(wù)(1)使用chkconfig。[root@server~]#chkconfid--level3squidon //運行級別3自動加載[root@server~]#chkconfid--level3squidoff //運行級別3不自動加載(2)使用ntsysv。使用ntsysv命令,利用文本圖形界面對Squid自動加載進行配置,在“squid”選項前按空格加上“*”。11.3.9任務(wù)9配置squid服務(wù)器1.幾個常用的選項(1)http_port3128。http_port54:8080(2)cache_mem512MB。內(nèi)存緩沖設(shè)置是指需要使用多少內(nèi)存來作為高速緩存。(3)cache_dirufs/var/spool/squid409616256。用于指定硬盤緩沖區(qū)的大小。(4)cache_effective_usersquid。設(shè)置使用緩存的有效用戶。cache_effective_usernobody(5)cache_effective_groupsquid。設(shè)置使用緩存的有效用戶組,默認(rèn)為squid組,也可更改。11.3.9任務(wù)9配置squid服務(wù)器(6)dns_nameservers00。設(shè)置有效的DNS服務(wù)器的地址。(7)cache_access_log/var/log/squid/access.log。設(shè)置訪問記錄的日志文件。(8)cache_log/var/log/squid/cache.log。設(shè)置緩存日志文件。該文件記錄緩存的相關(guān)信息。(9)cache_store_log/var/log/squid/store.log。設(shè)置網(wǎng)頁緩存日志文件。網(wǎng)頁緩存日志記錄了緩存中存儲對象的相關(guān)信息,例如存儲對象的大小、存儲時間、過期時間等。11.3.9任務(wù)9配置squid服務(wù)器(10)visible_hostname。visible_hostname字段用來幫助Squid得知當(dāng)前的主機名,如果不設(shè)置此項,在啟動Squid的時候就會碰到“FATAL:Couldnotdeterminefullyqualifiedhostname.Pleaseset‘visiblehostname’”這樣的提示。當(dāng)訪問發(fā)生錯誤時,該選項的值會出現(xiàn)在客戶端錯誤提示網(wǎng)頁中。(11)cache_mgrmaster@。設(shè)置管理員的郵件地址。當(dāng)客戶端出現(xiàn)錯誤時,該郵件地址會出現(xiàn)在網(wǎng)頁提示中,這樣用戶就可以寫信給管理員來告知發(fā)生的事情。11.3.9任務(wù)9配置squid服務(wù)器2.設(shè)置訪問控制列表Squid代理服務(wù)器是Web客戶機與Web服務(wù)器之間的中介,它實現(xiàn)訪問控制,決定哪一臺客戶機可以訪問Web服務(wù)器以及如何訪問。Squid服務(wù)器通過檢查具有控制信息的主機和域的訪問控制列表(ACL)來決定是否允許某客戶機進行訪問。ACL是要控制客戶的主機和域的列表。使用acl命令可以定義ACL,該命令在控制項中創(chuàng)建標(biāo)簽。用戶可以使用http_access等命令定義這些控制功能,可以基于多種acl選項,如源IP地址、域名、甚至?xí)r間和日期等來使用acl命令定義系統(tǒng)或者系統(tǒng)組。(1)acl。acl命令的格式如下。11.3.9任務(wù)9配置squid服務(wù)器acl列表名稱列表類型[-i]列表值其中,列表名稱用于區(qū)分Squid的各個訪問控制列表,任何兩個訪問控制列表不能用相同的列表名。一般來說,為了便于區(qū)分列表的含義應(yīng)盡量使用意義明確的列表名稱。列表類型用于定義可被Squid識別的類別。例如,可以通過IP地址、主機名、域名、日期和時間等。常見的列表類型如表ACL列表類型說明srcip-address/netmask客戶端源IP地址和子網(wǎng)掩碼srcaddr1-addr4/netmask客戶端源IP地址范圍dstip-address/netmask客戶端目標(biāo)IP地址和子網(wǎng)掩碼myipip-address/netmask本地套接字IP地址srcdomaindomain源域名(客戶機所屬的域)dstdomaindomain目的域名(Internet中的服務(wù)器所屬的域)srcdom_regexexpression對來源的URL做正則匹配表達式dstdom_regexexpression對目的URL做正則匹配表達式time指定時間。用法:aclaclnametime[day-abbrevs][h1:m1-h2:m2]其中day-abbrevs可以為:S(Sunday)、M(Monday)、T(Tuesday)、W(Wednesday)、H(Thursday)、F(Friday)、A(Saturday)注意:h1:m1一定要比h2:m2小port指定連接端口,如:aclSSL_portsport443proto指定所使用的通信協(xié)議,如:aclallowprotolistprotoHTTPurl_regex設(shè)置URL規(guī)則匹配表達式urlpath_regex:URL-path設(shè)置略去協(xié)議和主機名的URL規(guī)則匹配表達式11.3.9任務(wù)9配置squid服務(wù)器(2)http_access。設(shè)置允許或拒絕某個訪問控制列表的訪問請求。格式如下:http_access[allow|deny]訪問控制列表的名稱Squid服務(wù)器在定義了訪問控制列表后,會根據(jù)http_access選項的規(guī)則允許或禁止?jié)M足一定條件的客戶端的訪問請求?!纠?1-17】拒絕所有的客戶端的請求。aclallsrc/http_accessdenyall11.3.9任務(wù)9配置squid服務(wù)器【例11-18】禁止/24網(wǎng)段的客戶機上網(wǎng)。aclclient1src/http_accessdenyclient1【例11-19】禁止用戶訪問域名為的網(wǎng)站。aclbaddomaindstdomainhttp_accessdenybaddomain【例11-20】禁止/24網(wǎng)絡(luò)的用戶在周一到周五的9:00-18:00上網(wǎng)。aclclient1src/aclbadtimetimeMTWHF9:00-18:0011.3.9任務(wù)9配置squid服務(wù)器【例11-21】禁止用戶下載*.mp3、*.exe、*.zip和*.rar類型的文件。aclbadfileurlpath_regex-i\.mp3$\.exe$\.zip$\.rar$http_accessdenybadfile【例11-22】屏蔽站點。aclbadsitedstdomain-ihttp_accessdenybadsite-i表示忽略大小寫字母,默認(rèn)情況下Squid是區(qū)分大小寫的?!纠?1-23】屏蔽所有包含“sex”的URL路徑。aclsexurl_regex-isexhttp_accessdenysex11.3.9任務(wù)9配置squid服務(wù)器【例11-24】禁止訪問22、23、25、53、110、119這些危險端口。acldangerous_portport22232553110119http_accessdenydangerous_port如果不確定哪些端口具有危險性,也可以采取更為保守的方法,就是只允許訪問安全的端口。默認(rèn)的squid.conf包含了下面的安全端口ACL,如下所示。11.3.9任務(wù)9配置squid服務(wù)器11.3.10任務(wù)10配置透明代理

利用Squid和NAT功能可以實現(xiàn)透明代理。透明代理的意思是客戶端根本不需要知道有代理服務(wù)器的存在,客戶端不需要在瀏覽器或其他的客戶端工作中做任何設(shè)置,只需要將默認(rèn)網(wǎng)關(guān)設(shè)置為Linux服務(wù)器的IP地址即可(eth0是內(nèi)網(wǎng)網(wǎng)卡)。1.配置squid服務(wù)器為了使Squid支持透明代理,必須設(shè)置以下4項。httpd_accel_hostvirtualhttpd_accel_port80httpd_ac

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論