信息安全基礎知識筆記05防火牆網絡地址轉換技術NAT(下)


信息安全基礎知識筆記05防火牆網絡地址轉換技術NAT(下) 

  內網服務器映射(NAT Server 

  內部服務器(Nat Server)功能是使用一個公網地址來代表內部服務器對外地址。 

  在防火牆上,專門為內部的服務器配置一個對外的公網地址來代表私網地址。對於外網用戶來說,防火牆上配置的外網地址就是服務器的地址。 

   

 

 

  (1)基本概念 

  NAT Server,即內部服務器。NAT隱藏了內部網絡的結構,具有“屏蔽”內部主機的作用。但是在實際應用中,可能需要提供給外部主機一個訪問內部服務器的機會,如提供給外部一台WWW的服務器,而外部主機根本沒有指向內部地址的路由,因此無法正常訪問。這時可以使用內部服務器(Nat Server)功能來實現這個功能應用。 

    

  外部用戶訪問內部服務器時,有如下兩部分操作: 

  ① 防火牆將外部用戶的請求報文的目的地址轉換成內部服務器的私有地址。 

  ② 防火牆將內部服務器的回應報文的源地址(私網地址)轉換成公網地址

 

  防火牆支持基於安全區域的內部服務器。例如,當需要對處於多個網段的外部用戶提供訪問服務時,防火牆結合安全區域配置內部服務器可以為一個內部服務器配置多個公網地址。 

  通過配置防火牆的不同級別的安全區域對應不同網段的外部網絡,並根據不同安全區域配置同一個內部服務器對外的不同的公網地址,使處於不同網段的外部網絡訪問同一個內部服務器時,即通過訪問對應配置的公網地址來實現對內部服務器的訪問能力。

 

 

  (2)配置方法(命令行界面) 

  如下圖所示:DMZ區域(內網)存在兩台服務器,一台對外提供Web服務(使用192.168.20.2:80)的Web Server和一台對外提供FTP服務(192.168.20.3:21)的FTP Server。 

  現有一台外網的主機(202.169.10.2)通過防火牆訪問內網的這兩台服務器。其中通過防火牆出接口的地址的8080端口訪問Web Server,通過21端口訪問FTP Server。

   

  Step 1:網絡接口,區域,設備IP,安全策略等基本配置步驟省略。以下貼出防火牆FW_A的部分配置。 

    

   

   

 

  Step 2:配置域間包過濾規則 

  為外網訪問內網的Web Server配置安全訪問策略 

    

  為外網訪問內網的FTP Server配置安全訪問策略 

    

  

  Step 3:配置NAT Server功能,使外網可以訪問內網的Web Server和FTP Server。 

    

  如上圖所示,global后面表示公網地址,inside后面表示內網地址,通過這兩條命令將內網的兩台服務器分別映射到防火牆對公網出接口地址的不同端口號上。 

  

  

  (2)配置方法(Web界面) 

  Step 1:點擊“策略”=》“NAT策略”=》“服務器映射”,並點擊“新建”來新建服務器映射列表。(創建安全策略的步驟已經省略) 

   

   

  

  Step 2:配置NAT Server功能,使外網可以訪問內網的Web Server。 

   

 

  Step 3:配置NAT Server功能,使外網可以訪問內網的FTP Server。 

   

 

  (4)實驗結果驗證 

  在外網主機上輸入http://202.169.10.1:8080訪問內網提供Web的服務器(192.168.20.2:80),可以看到返回狀態碼200,表示訪問成功。 

    

  在外網主機通過202.169.10.1:21訪問內網提供FTP服務器(192.168.20.3:21),可以看到成功打開了FTP的文件服務器目錄,表示訪問成功。 

    

  查看會話表,可以看到數據包到達防火牆后,對其目的地址進行轉換的結果。 

   

  

  NAT擴展知識 

  (1)NAT ALG 

  ① 基本概念 

  NAT ALG(Application Level Gateway,應用級網關)是特定的應用協議的轉換代理,可以完成應層數據中攜帶的地址及端口號信息的轉換。 

    

  在以太網數據幀結構中,IP首部包含32位的源IP地址和32位的目的IP地址,TCP首部包含16位的源端口號和16位的目的端口號。 

  但是很多協議會通過IP報文的數據載荷進行新端口甚至新IP地址的協商。協商完成之后,通信雙方會根據協商結果建立新的連接進行后續報文的傳輸。而這些協商出來的端口和IP地址往往是隨機的,管理員並不能為其提前配置好相應的NAT規則,這些協議在NAT轉換過程中就會出現問題。 

  普通NAT實現了對UDP或TCP報文頭中的的IP地址及端口轉換功能,但對應用層數據載荷中的字段無能為力,在許多應用層協議中,比如多媒體協議(H.323、SIP等)、FTP、SQLNET等,TCP/UDP載荷中帶有地址或者端口信息,這些內容不能被NAT進行有效的轉換,就可能導致問題。 

  NAT ALG(Application Level Gateway,應用層網關)技術能對多通道協議進行應用層報文信息的解析和地址轉換,將載荷中需要進行地址轉換的IP地址和端口或者需特殊處理的字段進行相應的轉換和處理,從而保證應用層通信的正確性。 

  例如,FTP應用就由數據連接和控制連接共同完成,而且數據連接的建立動態地由控制連接中的載荷字段信息決定,這就需要ALG來完成載荷字段信息的轉換,以保證后續數據連接的正確建立。 

  為了實現應用層協議的轉發策略而提出了ASPF功能。ASPF功能的主要目的是通過對應用層協議的報文分析,為其開放相應的包過濾規則,而NAT ALG的主要目的,是為其開放相應的NAT規則。由於兩者ASPF和NAT ALG)通常都是結合使用的,所以使用同一條命令就可以將兩者同時開啟

 

  ② 實現原理 

  此處使用FTP主動模式下的NAT ALG應用作為舉例。 

    

  圖中私網側的主機要訪問公網的FTP服務器。NAT設備上配置了私網地址192.168.1.2到公網地址8.8.8.11的映射,實現地址的NAT轉換,以支持私網主機對公網的訪問。 

  組網中,若沒有ALG對報文載荷的處理,私網主機發送的PORT報文到達服務器端后,服務器無法根據私網地址進行尋址,也就無法建立正確的數據連接。整個通信過程包括如下四個階段: 

  Step 1私網主機和公網FTP服務器之間通過TCP三次握手成功建立控制連接。 

  Step 2控制連接建立后,私網主機向FTP服務器發送PORT報文,報文中攜帶私網主機指定的數據連接的目的地址和端口,用於通知服務器使用該地址和端口和自己進行數據連接。 

  Step 3:PORT報文在經過支持ALG特性的NAT設備時,報文載荷中的私網地址和端口會被轉換成對應的公網地址和端口。即設備將收到的PORT報文載荷中的私網地址192.168.1.2轉換成公網地址8.8.8.11,端口1084轉換成12487。 

  Step 4公網的FTP服務器收到PORT報文后,解析其內容,並向私網主機發起數據連接,該數據連接的目的地址為8.8.8.11,目的端口為12487。 

  

  Tips:題外話 

  一般情況下,公網向私網主機發送數據連接的報文源端口為20,但由於FTP協議沒有嚴格規定,有的服務器發出的數據連接源端口為大於1024的隨機端口,如本例采用的是wftpd服務器,采用的源端口為3004。由於該目的地址是一個公網地址,因此后續的數據連接就能夠成功建立,從而實現私網主機對公網服務器的訪問。 

 

 

  (2)雙向NAT技術 

  ① 應用場景 

   

  雙向NAT應用場景的通信雙方訪問對方的時候目的地址都不是真實的地址,而是NAT轉換后的地址。一般來說,內網屬於高優先級區域,外網屬於低優先級區域。當低優先級安全區域的外網用戶訪問內部服務器的公網地址時,會將報文的目的地址轉換為內部服務器的私網地址,但內部服務器需要配置到該公網地址的路由。 

  如果要避免配置到公網地址的路由,則可以配置從低優先級安全區域到高優先級安全區域方向的NAT(不同區域)這種NAT叫雙向NAT。 

  還有一種常見情況是,若有另一台用戶設備與服務器處於同一個安全區域內,且這台設備需要通過訪問服務器的公網地址進行通信時,同一個安全區域內的訪問需要作NAT,這種NAT叫雙向NAT

 

  ② 域雙向NAT 

  為了簡化配置服務器至公網的路由,可在NAT Server基礎上,增加源NAT配置。 

    

  當配置NAT Server時,服務器需要配置到公網地址的路由才可正常發送回應報文。如果要簡化配置,避免配置到公網地址的路由,則可以對外網用戶的源IP地址也進行轉換,轉換后的源IP地址與服務器的私網地址在同一網段。這樣內部服務器會缺省將回應報文發給網關,即設備本身,由設備來轉發回應報文。 

    

  運用上面給出的拓撲圖作為示例: 

  FTP服務器與防火牆相連,對外公布的地址為防火牆的出接口202.20.1.5,對外使用的端口號為21。實際內網(隱藏的)IP為192.168.1.5,使用端口21。現有一台外網的主機2.2.2.5需要訪問FTP服務器。 

  基礎配置(設備IP,接口配置,防火牆安全策略,訪問外網的靜態路由等)這里省略。不過需要注意的是,為了達到實驗目的,內網服務器不需要填寫網關。 

  首先為內網服務器(192.168.1.5)做NAT Server映射,使其對公網的地址為防火牆的出接口地址(202.20.1.5)。 

    

  然后配置源NAT,將外網IP映射為與內網服務器同網段的內網IP。 

    

  配置完成后,使用外網主機訪問內網服務器,訪問成功 

    

  查看防火牆會話表,可以看到防火牆產生的會話表項中源NAT映射的結果。 

   

 

  ③ 域雙向NAT 

  防火牆將用戶的請求報文的目的地址轉換成FTP服務器的內網IP地址,源地址轉換成用戶對外公布的IP地址。 

  防火牆將FTP服務器回應報文的源地址轉換成對外公布的地址,目的地址轉換成用戶的內網IP地址。 

    

  若需要地址轉換的雙方都在同一個安全域內,那么就涉及到了域內NAT的情況。FTP服務器和用戶均在Trust區域,用戶訪問FTP服務器的對外的公網IP地址,這樣用戶與FTP服務器之間所有的交互報文都要經過防火牆。這時需要同時配置內部服務器和域內NAT。 

 

  域內NAT是指當內網用戶和服務器部署在同一安全區域的情況下,仍然希望內網用戶只能通過訪問服務器的公網地址的場景在實現域內NAT過程中,既要將訪問內部服務器的報文的目的地址由公網地址轉換為私網地址,又需要將源地址由私網地址轉換為公網地址。 

 

  運用上面給出的拓撲圖作為示例: 

  此拓撲是上圖拓撲基礎上加入了一台內網用戶主機,因此基礎配置只需要再加一條由DMZ區域到Untrust區域允許放行的安全策略即可,其他不變。 

  注意:FTP服務器必須配置上網關。 

   

    

  如圖所示,FTP服務器和PC均在防火牆Trust安全區域,FTP服務器的IP地址為192.168.1.5,Client2客戶端IP地址為192.168.1.20,二者通過交換機與防火牆相連。 

  當Client2客戶端訪問FTP服務器的公網IP地址時,PC機的地址也進行地址轉換。這樣做的目的是保證Client2客戶端FTP服務器交互的所有報文能夠經過防火牆,並處理正確。 

  基礎配置(設備IP,接口配置,防火牆安全策略,訪問外網的靜態路由等)這里省略。 

  首先,增加一條安全策略,允許DMZ區域訪問Untrust區域。 

    

  然后,使用基於地址池的源NAT轉換。配置地址池如下: 

    

  當內網用戶Client2客戶端(192.168.1.20)訪問外網IP時,防火牆作源NAT轉換成202.20.1.100到202.20.1.200范圍內隨機的一個IP。 

   

 

  配置完成后,對實驗結果進行驗證。 

    

  查看防火牆會話表,可以看到兩個地址對應的轉換結果。 

   

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM