Iptabes設置實驗報告.doc_第1頁
Iptabes設置實驗報告.doc_第2頁
Iptabes設置實驗報告.doc_第3頁
Iptabes設置實驗報告.doc_第4頁
Iptabes設置實驗報告.doc_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Project 6 Lab-ReportComputer Network Security實驗名稱: 小組成員: 指導教師: 所屬班級: 一 實驗描述 【實驗背景】IP-Table是與最新的2.6.x版本Linux內核集成的IP信息包過濾系統(tǒng)。如果Linux系統(tǒng)連接到因特網或LAN的服務器,或連接到LAN和因特網的代理服務器, 則該系統(tǒng)有利于在 Linux系統(tǒng)上更好地控制IP 信息包過濾和防火墻配置。 netfilter/IP-Table IP 信息包過濾系統(tǒng)是一種功能強大的工具,可用于添加、編輯和除去規(guī)則,這些規(guī)則是在做信息包過濾決定時,防火墻所遵循和組成的規(guī)則。這些規(guī)則存儲在專用的信息包過濾表中,而這些表集成在 Linux 內核中。在信息包過濾表中,規(guī)則被分組放在我們所謂的鏈(chain)中?!緦嶒災康摹扛鶕嶒炓笈渲肐P-Table,掌握IP-Table規(guī)則的編寫?!緦嶒灜h(huán)境】虛擬機使用信息: VirtualBox 與 VmwareLinux 版本信息: Ubuntu 12.04.2 (Final)Linux 內核版本: 3.8.0二 實驗準備在進行IP-Table設置前需要搭建實驗環(huán)境,實驗所需的環(huán)境配置如下圖所示:【基于實驗指導書Lab-6】其中,1號機、3號機是內網計算機,2號機為網關,最右邊藍色區(qū)域為外網。實驗環(huán)境搭建成功之后,需要完成下面的實驗步驟:【Part A】1、在2號機上用NAT表的POSTROUTING鏈配置NAT1)偽裝(MASQUERADE)包使內網的IP地址從外網隱藏2)從1號機和3號機,只允許通過SSH連接到外網2、此步驟的NAT配置在整個實驗過程中持續(xù)有效【Part B】為來自或者到達2號機(網關)的包編寫規(guī)則,到達以下目的:1、允許來自或者到達2號機的SSH連接2、允許來自或者到達2號機的ping連接3、阻斷來自或者到達2號機的其他所有通信4、提示:Part B需要INPUT和OUTPUT鏈,但不需要FORWARD鏈【Part C】1、清除Part B中filter表設置的規(guī)則2、僅允許1號機(不允許3號機)向外網中的主機發(fā)起SSH通信3、阻斷其他所有通信4、提示:Part C需要FORWARD,INPUT和OUTPUT鏈三 IP-Table規(guī)則分析【IP-Table規(guī)則】基于網絡百科知識(摘要)功效:IP-Table規(guī)則指定所檢查包的特征和目標。如果包不匹配某條規(guī)則,將送往該鏈中下一條規(guī)則檢查。1)目標值(TARGETS)目標值可以是用戶定義的鏈名,也可以是某個專用值,如:ACCEPT(通過)、DROP(刪除)、QUEUE(排隊)或者RETURN(返回)。 ACCEPT:表示讓這個包通過;DROP:表示將這個包丟棄;QUEUE:表示把這個包傳遞到用戶空間;RETURN:表示停止這條鏈的匹配,到前一個鏈的規(guī)則重新開始。如果到達了一個內建的鏈的末端,或者遇到內建鏈的規(guī)則是RETURN,包的命運將由鏈準則指定的目標決定。2)表(TABLES)-t table:指定命令要操作的匹配包的表。在IP-Table規(guī)則中有三個表,分別為:filter:這是默認的表,包含了內建的鏈INPUT(處理進入的包)、FORWARD(處理通過的包)和OUTPUT(處理本地生成的包)。nat:這個表被查詢時表示遇到了產生新的連接的包。它由三個內建的鏈構成:PREROUTING (修改到來的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING(修改準備出去的包)。mangle:這個表用來對指定的包進行修改。它有兩個內建規(guī)則:PREROUTING(修改路由之前進入的包)和OUTPUT(修改路由之前本地的包)。3)選項(OPTIONS)可被IP-Table識別的選項可以區(qū)分不同的種類,分別為:l 命令(COMMANDS)這些選項指定執(zhí)行明確的動作。若指令行下沒有其他規(guī)定,該行只能指定一個選項。對于長格式的命令和選項名,所用字母長度只要保證IP-Table能從其他選項中區(qū)分出該指令就行了。常用命令如下:-F flush:清空所選鏈。這等于把所有規(guī)則一個個的刪除。 -X -delete-chain:刪除指定的用戶自定義鏈。這個鏈必須沒有被引用,如果被引用,在刪除之前你必須刪除或者替換與之有關的規(guī)則。如果沒有給出參數,這條命令將試著刪除每個非內建的鏈。-Z zero:把所有鏈的包及字節(jié)的計數器清空。-L list:顯示所選鏈的所有規(guī)則。如果沒有選擇鏈,所有鏈將被顯示。也可以和-Z選項一起使用,這時鏈會被自動列出和歸零。精確輸出受其它所給參數影響。-A append:在所選擇的鏈末添加一條或更多規(guī)則。當源(地址)或者/與目的(地址)轉換為多個地址時,這條規(guī)則會加到所有可能的地址(組合)后面。 -D delete:從所選鏈中刪除一條或更多規(guī)則。這條命令可以有兩種方法:可以把被刪除規(guī)則指定為鏈中的序號(第一條序號為1),或者指定為要匹配的規(guī)則。-P policy:設置鏈的目標規(guī)則。l 參數(PARAMETERS)以下參數構成規(guī)則詳述,如用于add、delete、replace、append 和 check命令。-p -protocal !protocol :規(guī)則或者包檢查(待檢查包)的協(xié)議。指定協(xié)議可以是tcp、udp、icmp中的一個或者全部,也可以是數值,代表這些協(xié)議中的某一個。當然也可以使用在/etc/protocols中定義的協(xié)議名。在協(xié)議名前加上!表示相反的規(guī)則。數字0相當于所有(all)。Protocol all會匹配所有協(xié)議,而且這是缺省時的選項。在和check命令結合時,all可以不被使用。-s -source ! address/mask:指定源地址,可以是主機名、網絡名和清楚的IP地址。mask說明可以是網絡掩碼或清楚的數字,在網絡掩碼的左邊指定網絡掩碼左邊1的個數,因此,mask值為24等于。在指定地址前加上!說明指定了相反的地址段。標志 -src 是這個選項的簡寫。-d -destination ! address/mask:指定目標地址,使用方法和-s類似。-i -in-interface ! name:這是包經由該接口接收的可選的入口名稱,包通過該接口接收(在鏈INPUT、FORWORD和PREROUTING中進入的包)。當在接口名前使用!說明后,指的是相反的名稱。如果接口名后面加上+,則所有以此接口名開頭的接口都會被匹配。如果這個選項被忽略,會假設為+,那么將匹配任意接口。 -o -out-interface !name:這是包經由該接口送出的可選的出口名稱,包通過該口輸出(在鏈FORWARD、OUTPUT和POSTROUTING中送出的包)。當在接口名前使用!說明后,指的是相反的名稱。如果接口名后面加上+,則所有以此接口名開頭的接口都會被匹配。如果這個選項被忽略,會假設為+,那么將匹配所有任意接口。-j -jump target :-j: 目標跳轉。指定規(guī)則的目標。也就是說,如果包匹配應當做什么。目標可以是用戶自定義鏈(不是這條規(guī)則所在的),某個會立即決定包的命運的專用內建目標,或者一個擴展。如果規(guī)則的這個選項被忽略,那么匹配的過程不會對包產生影響,不過規(guī)則的計數器會增加。四 建立相應實驗環(huán)境在本實驗中需要數臺計算機,分別使用相同的虛擬機以及ubuntu版本,并且其中1號機、3號機處于內網環(huán)境(它們處于同一個子網之下,并且相互間可以Ping通),另外有一臺計算機(2號機)作為網關連接內網和外網,還需要有一臺計算機處于外網環(huán)境。因此要圓滿完成本實驗,至少需要4臺計算機(最后這一臺計算機可以我們利用了學校機房線程的機子)。針對我的計算機的實際情況,可以將本機作為外網計算機,另外運行1個虛擬機作為2號機,再運行2個虛擬機作為1號機和3號機??墒俏业挠嬎銠C在運行兩個虛擬機的時候處理速度就變得非常慢,因此我只能運行1臺虛擬機作為2號機,再運行一個虛擬機作為1號機,至于3號機,由于在Part A和Part B中,1號機和3號機的規(guī)則是相同的,因此只要有一個就足以達到驗證規(guī)則的目的。而在Part C中,二者的規(guī)則有區(qū)別,這可以通過修改1號機的IP地址達到驗證的目的。因此只運行兩臺虛擬機同樣能達到驗證規(guī)則,完成本實驗的效果。綜上,在本實驗中,我用本機作為外網計算機,用虛擬機ubuntu2作為內網計算機1號機,用虛擬機“ubuntu2的克隆”作為網關2號機。配置實驗環(huán)境的過程如下:【2號機相關配置】由于2號機是網關連接內網和外網,因此它必須有兩塊網卡,一塊實現(xiàn)內網和2號機的直接通信,另一塊實現(xiàn)外網和2號機的直接通信。因此配置2號機的過程如下:1)增加一個網卡點擊VMware左側目錄中的虛擬機“3000Shana”圖標,右鍵“設置”,得到如下界面(圖2),在左邊界面中單擊“添加”按鈕進行硬件的添加,在彈出界面中選擇硬件類型為“網絡適配器”,然后點擊“Next”?!揪庉嬏摂M機設置】【選擇添加硬件的類型】之后選擇網絡連接方式為“自定義”,然后點擊“完成”,完成增加網卡的過程。 【選擇新增網卡的網絡連接方式】然后查看虛擬機的主界面,可以發(fā)現(xiàn)多了一個網絡適配器圖標,而且它連接方式變?yōu)椤巴ㄓ谩?!【新增網卡后“Ubuntu2的克隆”的主界面】2)運行“Ubuntu2的克隆”,修改新增網卡的有關配置開啟虛擬機“Ubuntu2的克隆”,以root用戶登錄。登錄后右鍵單擊桌面上方網絡連接的小圖標,選擇“編輯連接”,可以看到“有線”一欄下有“Auto eth1”和“Auto eth2”兩個網絡接口,“Auto eth2”是新增的。單擊“Auto eth2”,選擇“編輯”,在彈出界面中選擇“IPv4設置”,然后選擇方法為“手動”,可以看到“地址”部分變?yōu)榭删庉?。單擊“添加”,將地址設定為“”(我認為這個IP地址的設置只要不和“Auto eth1”的IP地址在一個網段就可以),子網掩碼設為默認的“”,網關可以任意設定。設定完之后選擇“應用”?!拘略鼍W卡接口“Auto eth2”的設置】3)查看2號機的IP地址PS:后繼所有關于ubuntu上的終端操作均以root權限為主選擇“應用程序”“附件”“終端”,在終端中輸入命令“ifconfig”查看2號機的IP地址等信息:【2號機的IP地址】可以看到與外網連接的網口eth1的IP地址為:8(Vmware中可以在子網范圍內自由設置),與內網連接的網口eth2的IP地址為,和我之前設置的一樣,這說明2號機的配置成功!2. 配置1號機1)選擇“Ubuntu2”的網絡連接方式點擊VMware的“Ubuntu2”的主界面中的“編輯虛擬機設置”,在彈出界面中單擊 “Network Adapter”,然后選擇界面右側的“Custom”,點擊“OK”。即將“Ubuntu2”的網絡連接方式設為自定義,和“Ubuntu2的克隆”中和內網連接的網卡是一樣的。2)運行“Ubuntu2”,修改網卡的有關配置開啟虛擬機“Ubuntu2”,以root用戶登錄。登錄后右鍵單擊桌面上方網絡連接的小圖標,選擇“編輯連接”,可以看到“有線”一欄下有“Auto eth0”這一個網絡接口。單擊“Auto eth0”,選擇“編輯”,在彈出界面中選擇“IPv4設置”,然后選擇方法為“手動”,可以看到“地址”部分變?yōu)榭删庉嫛螕簟疤砑印?,將地址設定為“”(需要和2號機中“Auto eth1”的IP地址在一個網段),子網掩碼設為默認的“”,網關設定為“Auto eth1”的IP地址。設定完之后選擇“應用”?!?號機(ubuntu2)中“Auto eth0”的設置】3)查看1號機的IP地址選擇ubuntu2的“應用程序”“附件”“終端”,在終端中輸入命令“ifconfig”查看1號機的IP地址等信息:【1號機的IP地址】可以看到IP地址為為,和我之前設置的一樣,這說明1號機的配置成功!3、驗證環(huán)境配置成功1)1號機和2號機能互相通信1號機 ping 2號機其中2號機的IP地址是與內網連接的網口“Auto eth2”的IP地址【1號機能ping通2號機】2號機 ping 1號機【2號機能ping通1號機】2)2號機和外網能互相通信首先查看本機的IP地址。在本機點擊“開始”“運行”,輸入CMD并點擊確定,在出現(xiàn)的小黑框中輸入“IPCONFIG”命令查看本機的IP地址【本機IP地址】外網 ping 2號機其中2號機的IP地址是與外網連接的網口“Auto eth1”的IP地址8【圖13 外網能ping通2號機】2號機 ping 外網【圖14 2號機能ping通外網】3)1號機和外網不能互相通信使外網ping 1號機【外網不能ping通1號機】4)綜合1)、2)和3),可以證明符合實驗要求的環(huán)境已經搭建成功!五 實驗Part A1、在本機安裝SSH服務器WinSSHD1)從網上下載WinSSHD安裝包,根據提示進行安裝,安裝成功后會出現(xiàn)提示信息2)點擊提示信息中的“確定”后會出現(xiàn)WinSSHD的配置界面,點擊“3.Virtual accounts”設置虛擬賬戶,賬戶名和密碼都設為zmj,其他項采取默認設置,然后點擊“Save changes”保存設置?!網inSSHD設置虛擬賬戶】3)打開WinSSHD的主界面“WinSSHD Control Panel”,選擇“Server”,點擊“Start WinSSHD”開啟WinSSHD【開啟WinSSHD】 至此就完成了WinSSHD的安裝、配置及開啟!2、在1號機和2號機上安裝openSSH-server在“Ubuntu2”和“Ubuntu2的克隆”中輸入命令“apt-get install openssl-server”進行 openssl-server的安裝,安裝成功會有相應信息:【在1號機和2號機中成功安裝openssl-server】由上圖知,在1號機和2號機中成功安裝openssl-server,且SSH自動啟動3、編寫符合要求的規(guī)則根據IP-Table規(guī)則的說明和實驗要求,編寫規(guī)則如下:1)清空表filter中的所有鏈及計數器(具體規(guī)則如下所示)【PartA清空表filter中的所有鏈及計數器】2)清空表nat中的所有鏈及計數器【PartA清空表nat中的所有鏈及計數器】3)修改表filter的默認規(guī)則由于從1號機和3號機,只允許通過SSH連接到外網,因此要禁止INPUT鏈和OUTPUT鏈,允許FORWARD(轉發(fā))鏈:【PartA修改表filter的默認規(guī)則】4)配置POSTROUTING鏈,實現(xiàn)內網IP地址對外網的隱藏(具體規(guī)則如下圖23所示)【PartA配置POSTROUTING鏈,實現(xiàn)內網IP地址對外網的隱藏】此規(guī)則的含義為:-t nat:指定nat表-A POSTROUTING:在POSTROUTING鏈后添加一條規(guī)則-p tcp:SSH連接為tcp協(xié)議的連接。此條命令比較tcp協(xié)議-s /24:包來源于內網-o eth1:包通過網口eth1輸出,表示是向外網發(fā)的包-dport 22:目的端口是22,表示是SSH連接-j MASQUERADE:如果包匹配,就跳轉到MASQUERADE目標,即實現(xiàn)偽裝5)保存IP-Table設置使用命令“IP-Table-save”保存IP-Table設置,并查看當前規(guī)則:【PartA保存IP-Table設置】由上圖可知,之前對IP-Table的設置都已成功保存!4、修改配置文件為了能實現(xiàn)成功轉發(fā),還需要修改一些配置文件。1)去掉/etc/sysctl.conf中“net.ipv4.ip_forward=1”前的注釋去掉/etc/sysctl.conf中“net.ipv4.ip_forward=1”前的注釋2)輸入命令,將/proc/sys/net/ipv4/ip_forward的值設為1【將/proc/sys/net/ipv4/ip_forward的值設為1】5、驗證規(guī)則是否正確有效在1號機(ubuntu2)中輸入命令“SSH zmj13”,通過SSH連接外網,在確定(yes)繼續(xù)連接之后輸入密碼zmj,可以看到本機的命令框界面【PartA 1號機通過SSH成功連接外網】同時可以看到WinSSHD顯示Session信息:【PartA規(guī)則設置成功2_WinSSHD顯示Session信息】【分析】不難看出,1號機通過SSH成功連接外網;從上圖可以看出,Remote IP為8,即為2號機中連接外網的網卡的IP,這說明內網IP成功實現(xiàn)了隱藏。綜上可以看出,Part A中規(guī)則的設置是符合實驗要求的!六 實驗Part B1、初步編寫符合要求的規(guī)則根據實驗要求及提示,在保留Part A所有設置和規(guī)則的情況下,編寫其他規(guī)則。1)修改表filter的默認規(guī)則本實驗中要禁止FORWARD(轉發(fā))鏈:【 Part B禁止FORWARD(轉發(fā))鏈】2)允許來自或者到達2號機的SSH連接【Part B允許來自或者到達2號機的SSH連接】3)允許來自或者到達2號機的ping連接【PartB允許來自或者到達2號機的ping連接】4)保存IP-Table設置使用命令“IP-Table-save”保存IP-Table設置,并查看當前規(guī)則:【PartB保存IP-Table設置】【分析】由上圖可知,我之前對IP-Table的設置都已成功保存!2、驗證規(guī)則是否正確有效1)驗證:允許來自或者到達2號機的ping連接首先使2號機 ping 外網計算機:【PartB使2號機 ping 外網計算機】【分析】由上圖可知,IP-Table允許來自2號機的ping連接!然后使外網計算機 ping 2號機:【PartB使外網計算機ping 2號機】【分析】由圖34可知,IP-Table允許到達2號機的ping連接!綜上說明,規(guī)則中關于ping的部分是正確的!2)驗證:允許來自或者到達2號機的SSH連接使2號機通過SSH連接外網計算機【PartB 2號機通過SSH無法連接外網計算機】【分析】從圖35可以知道,2號機通過SSH無法連接外網計算機,這說明規(guī)則中關于SSH的部分是錯誤的!3、修改規(guī)則中關于SSH的部分1)最開始我認為是相關INPUT和OUTPUT鏈中源端口和目的端口指定的問題,因此做了如下修改(如下圖36所示):【PartB 修改規(guī)則1】【分析】可是保存規(guī)則后再次試圖通過SSH連接,仍然失敗。2)之后我將相關INPUT和OUTPUT鏈中源端口和目的端口寫在不同規(guī)則中,并保存IP-Table設置,然后試圖讓2號機通過SSH連接外網計算機,發(fā)現(xiàn)可以成功連接! 【PartB 修改規(guī)則2,實現(xiàn)2號機通過SSH成功連接外網計算機】【分析】前兩種規(guī)則都不正確的原因是:第一種規(guī)則所描述的條件不夠完整,主要是源端口和目的端口的問題;第二種規(guī)則在INPUT和OUTPUT鏈中,都把源端口和目的端口同時寫在同一條規(guī)則中,這構成的應該是“與”的關系,因此導致規(guī)則限定的條件太過苛刻,達不到實驗的要求。4、修改規(guī)則后驗證規(guī)則的有效性在之前的步驟中,我已經驗證了ping相關規(guī)則的有效性,且實現(xiàn)了2號機通過SSH成功連接外網計算機。接下來需要驗證外網計算機可以通過SSH連接2號機,且此規(guī)則可以阻斷來自或者到達2號機的其他所有通信。1)驗證外網計算機可以通過SSH連接2號機為了驗證外網計算機可以通過SSH連接2號機,我需要在本機安裝SSH的客戶端,在此我選擇安裝的是Putty。我從網上下載了Putty軟件的壓縮包,解壓后可直接使用。軟件的主界面如下:【Putty軟件的壓縮包】雙擊“Session”,在界面右側的“Host Name”中輸入想要連接到的目的IP地址,即2號機中eth1的IP地址8,“Port”中輸入SSH的端口22。然后單擊選中“Default Settings”后,點擊“Save”進行保存。之后點擊Open,即進行外網計算機通過SSH連接2號機的過程。之后我們會看到彈出界面。用戶名輸入root,密碼為ubuntu2的克隆的root用戶的密碼,然后我們可以看到連接到ubuntu的歡迎信息,這說明外網計算機可以通過SSH連接2號機!【PartB外網計算機可以通過SSH連接到2號機】【分析】綜上可以驗證,修改后的規(guī)則中關于SSH的部分是正確的!2)驗證規(guī)則阻斷來自或者到達2號機的其他所有通信我們不能對所有通信手段加以驗證,在此只驗證ftp通信。試圖讓外網計算機通過ftp連接到2號機,發(fā)現(xiàn)無法連接【PartB外網計算機無法通過ftp連接到2號機】之后試圖讓2號機通過ftp連接到外網計算機,發(fā)現(xiàn)同樣無法連接【PartB 2號機無法通過ftp連接到外網計算機】【分析】這說明規(guī)則阻斷了來自和到達2號機的ftp連接!綜上可以驗證出,Part B修改后的規(guī)則是正確的!七 實驗Part C1、編寫符合要求

溫馨提示

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

評論

0/150

提交評論