這周為止,學習Linux剛好整整一個月,下面是一道目前對我來說比較大的一道題,用到了DNS的視圖(要求必須用),LAMP, VSFTP 的虛擬使用者,還有iptabels的各項配置。但是,我今天想要總結的不是這道題的做法,而是對這道題的感想。
題目如下:
我畫的設計圖:
DMZ區分析:
1.根據題意需要建立一個DMZ地區,裡面提供NFS ,FTP,HTTP,MYSQL的服務
2.內網使用者可以使用所有服務,外網使用者能用到ftp,http,mysql,dns
我用了兩台伺服器來實現DMZ地區的服務,這樣負載也均衡一些:
192.168.0.1提供httpd,dns(主), ftp服務,網頁檔案儲存在nfs伺服器上,這樣這台伺服器並不儲存重要資料。
192.168.0.2提供NFS服務和mysql服務,這樣重要的資料都儲存在一台不提供http的服務更安全一些,並且提供一個DNS的從伺服器,如果0.1掛掉的話,它就會工作,確保內網使用者正常上網。
防火牆分析:
1.需要配置DNAT來將DMZ區的httpd,dns,mysql映射出去。
2.內網使用者需要可以直接轉寄到DMZ地區,外網使用者不能訪問內網主機。
3.不允許DMZ地區的主機主動請求任何主機
蹩腳的地方: 因為只有同一台HTTPD伺服器,所有DNS無論視圖內網還是外網使用者,都最終指向了DMZ地區的主機。
例如:外網訪問www.test.org , 網域名稱解析請求到達防火牆時,轉寄給主DNS伺服器,DNS再解析到外網地址,防火牆再DNAT到192.168.0.1,中間經曆了一個迴圈如:
那麼這種方式是否有好處?
1)安全方面
在經曆了整個過程後,外網看到的仍然是123.18.1.32:80 ,期間兩次經過了防火牆都允許通過,安全嗎?
2)負載方面
網域名稱是註冊過的,也就是說,浪費了一次網域名稱解析,其實可以直接通過iptables的DNAT來直接存取。
3)擴充方面
內網使用者可以通過這個DNS服務來進入內部頁面,可以構建內網的各種服務(郵箱),那麼內網可以通過其他網域名稱直接存取到自己的郵箱。比如:mail.test.org
以目前的知識,我只能推斷出在第三項裡有好處,其他兩項都先得有點多餘,但是要求必須在DMZ地區實現這些功能,所以沒有其他的方法讓DNS發揮更大的作用。在我看來,有些不合理。
從DMZ區的概念來看是否合理
DMZ區概念:
點擊此處添加圖片說明DMZ是英文“demilitarized zone”的縮寫,中文名稱為“隔離區”,也稱“非軍事化區”。它是為瞭解決安裝防火牆後外部網路不能訪問內部網路伺服器的問題,而設立的一個非安全系統與安全系統之間的緩衝區,這個緩衝區位於企業內部網路和外部網路之間的小網路地區內,在這個小網路地區內可以放置一些必須公開的伺服器設施,如企業Web伺服器、FTP伺服器和論壇等。另一方面,通過這樣一個DMZ地區,更加有效地保護了內部網路,因為這種網路部署,比起一般的防火牆方案,對攻擊者來說又多了一道關卡。
那麼從這個角度來看,攻擊著想要攻擊內網使用者地區,就必須先攻克這個DMZ地區,但是這道題的要求可以實現這個要求嗎?通過iptables的設定,只允許外網主機訪問DMZ地區,而且不允許DMZ地區的任何主機發起任何主動請求,這樣有效防止了反彈木馬。
反彈木馬的概念:反彈木馬,是駐留在使用者電腦裡的一段服務程式,而攻擊者控制的則是相應的用戶端程式。服務程式通過特定的連接埠,開啟使用者電腦的串連資源。一旦攻擊者所掌握的用戶端程式發出請求,反彈木馬便和他串連起來,將使用者的資訊竊取出去。
所以綜合得出結論:雖然是一道蹩腳的題目,但是卻要求必須明確的理解以下概念:
1. DNS的解析流程 ,視圖
2. iptables裡各個表的應用,“堵”於“開” DNAT
3. DMZ地區的概念,工作機制
4. 反彈木馬的機制,怎麼樣去防止
好了,總結到這,晚上寫出iptables的表,實現防火牆功能。