使用iptables做爲網絡防火牆構建安全的網絡環境

前言

通常狀況下iptables只做爲主機防火牆使用,可是在特殊狀況下也可使用iptables對整個網絡進行流量控制和網絡安全防禦等功能,在本文中,咱們使用iptables對三臺服務器的安全進行安全防禦linux

網絡防火牆的優點

網絡防火牆相比於主機防火牆而言,範圍更大,不用對網絡內的各主機各自設置防火牆規則就能夠保證其安全性,可是必須在網絡的進出口才能對出入數據包進行限制web

實驗拓撲圖

下載.png

實驗環境


主機 IP地址 功用
fire.anyisalin.com 192.168.2.2,192.168.1.112 控制整個網段的數據報文的流入流出及過濾
ns.anyisalin.com 192.168.2.3 提供DNS服務
ftp.anyisalin.com 192.168.2.5 提供FTP服務
www.anyisalin.com 192.168.2.4 提供web服務


除了fire主機,其餘主機皆關閉SElinuxiptables安全

實驗步驟

FTP,WEB,DNS服務器安裝配置這裏就不寫了,有興趣的看我之前的博客AnyISalIn的文章bash

防火牆未設置前對全部服務器的測試

如下操做在192.168.1.103進行服務器

dns服務可以正常使用 網絡

blob.png

ftp服務可以正常使用 
blob.pngssh


web服務可以正常使用 tcp

blob.png

針對不一樣服務器進行」非法」訪問

咱們對dns,web.ftp服務器分別進行ping,ssh等操做 ide

blob.png

blob.png

定義網絡防火牆規則

你們應該夠知道,服務器開放的端口越多就越危險,因此咱們在網絡防火牆對其進行規則定義測試

[root@fire ~]# iptables -P FORWARD DROP  #設置FORWARD鏈默認策略爲DROP
[root@fire ~]# modprobe nf_conntrack_ftp  #裝載追蹤FTP被動鏈接模塊
[root@fire ~]# iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
[root@fire ~]# iptables -A FORWARD -d 192.168.2.0/24 -p tcp -m multiport --dports 21,80 -m state --state NEW -j ACCEPT
[root@fire ~]# iptables -A FORWARD -d 192.168.2.3 -p udp --dport 53 -m state --state NEW -j ACCEPT

解釋一下上面幾條規則的做用 
第一條規則將
FORWARD鏈的默認策略設置爲DROP,那麼默認全部的數據包將不能經過FORWARD的轉發 
第二條規則狀態
nf_conntrack_ftp模塊,使得iptables可以追蹤FTP連接的狀態,使數據鏈接得以創建 
第三條意思是狀態使
ESTABLISHEDRELATED容許經過,指的是已創建連接或者追蹤連接創建可以經過 
第四條意思是容許訪問目標地址爲
192.168.2.0網段,端口爲21/TCP80/TCP狀態爲NEW能夠經過,指的是新的連接能經過 
第五條是爲
DNS查詢而添加的規則,指的是容許訪問目標地址爲192.168.2.3的地址且目標端口爲53/UDPNEW`狀態可以經過,同指新的連接可以經過

再次針對不一樣服務器進行」非法」訪問

你們看!如今已經不能對服務器進行非法訪問了 

blob.png

測試服務器是否可訪問

ftp服務能正常訪問 

blob.png 

web服務能正常訪問 
blob.png 

dns服務能正常訪問 

blob.png

總結

本文只作了一些簡單的限制,不過足以限制用戶只能訪問」該訪問」的服務,這固然不能運用於生產環境中,畢竟設計簡陋,你們笑笑就好 做者:AnyISalIn 感謝:MageEdu

相關文章
相關標籤/搜索