天天看點

主機安全(4)iptables實戰

   1,ssh的限制

ssh監控的是22端口,可以通過端口限制來限制ssh登入

[root@mail ~]# netstat -antup|grep ssh

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      3796/sshd

不允許192.168.87.133主機ssh mail

[root@mail ~]# iptables  -A INPUT  -s 192.168.87.133 -p tcp --destination-port 22  -j DROP

隻允許192.168.87.0這個網段的ip來ssh主機

(當拒絕和允許沖突的時候,允許優先)

[root@mail ~]# iptables  -A INPUT  -s 192.168.87.0/24 -p tcp --dport 22  -j  ACCEPT

[root@mail ~]# iptables -A INPUT -p tcp --dport 22 -j DROP

 2,禁止代理端口

#iptables -A INPUT -p tcp –dport 3128 -j REJECT

 3,禁止黑客ping我的主機 

隻允許192.168.87.0網段的主機ping我的主機

[root@mail ~]# iptables -A INPUT -s 192.168.87.0/24 -p  icmp --icmp-type echo-request -j ACCEPT

[root@mail ~]# iptables -A INPUT  -p  icmp --icmp-type echo-request -j DROP

  4,禁止QQ端口

#iptables -D FORWARD -p udp –dport 8000 -j REJECT

  5,強制通路指定的站點

 要使192.168.52.0/24網絡内的計算機(這此計算機的網關應設為192.168.52.10)強制通路指定的站點,在做為防火牆的計算機(192.168.52.10)上應添加以下規則: 1. 打開ip包轉發功能  echo 1 > /proc/sys/net/ipv4/ip_forward 

在NAT/防火牆計算機上的NAT表中添加目的位址轉換規則: iptables -t nat -I PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to-destination 202.96.134.130:80

iptables -t nat -I PREROUTING -i eth0 -p udp –dport 80 -j DNAT –to-destination 202.96.134.130:80 

在NAT/防火牆計算機上的NAT表中添加源位址轉換規則:  iptables -t nat -I POSTROUTING -o eth1 -p tcp –dport 80 -s 192.168.52.0/24 -j SNAT –to-source 202.96.134.10:20000-30000  

測試:在内部網的任一台計算機上打開浏覽器,輸入任一非本網絡的IP,都将指向IP為202.96.134.130的網站.

   6,釋出内部網絡伺服器

要使網際網路上的計算機通路到内部網的FTP伺服器、WEB伺服器,在做為防火牆的計算機上應添加以下規則: 1. echo 1 > /proc/sys/net/ipv4/ip_forward 2. 釋出内部網web伺服器

iptables -t nat -I PREROUTING -p tcp -i eth1 -s 202.96.134.0/24 –dport 80 -j DNAT –to-destination 192.168.52.15:80

iptables -t nat -I POSTROUTING -p tcp -i eth0 -s 192.168.52.15 –sport 80 -j SNAT –to-source 202.96.134.10:20000-30000  3. 釋出内部網ftp伺服器

iptables -t nat -I PREROUTING -p tcp -i eth1 -s 202.96.134.0/24 –dport 21 -j DNAT –to-destination 192.168.52.14:21

iptables -t nat -I POSTROUTING -p tcp -i eth0 -s 192.168.52.14 –sport 21 -j SNAT –to-source 202.96.134.10:40000-50000   4. 注意:内部網的計算機網關要設定為防火牆的ip(192.168.52.1) 5. 測試: 用一台IP位址為202.96.134.0段的計算機虛拟網際網路通路,當在其浏覽器中通路http://202.96.134.10時,實際應看到的是192.168.52.15的的web服務; 當通路ftp://202.96.134.10時,實際應看到的是192.168.52.14上的的ftp服務

  7,智能DNS

1. echo 1 > /proc/sys/net/ipv4/ip_forward 2. 在NAT伺服器上添加以下規則: 在PREROUTING鍊中添加目的位址轉換規則:

iptables -t nat -I PREROUTING -i eth0 -p tcp –dpor 53 -j DNAT –to-destination 202.96.134.130 iptables -t nat -I PREROUTING -i eth0 -p udp –dpor 53 -j DNAT –to-destination 202.96.134.130 在POSTROUTING鍊中添加源位址轉換規則:

iptables -t nat -I POSTROUTING -o eth1 -s 192.168.52.0/24 -p tcp –dpor 53 -j SNAT –to-source 202.96.134.10:40000-50000 iptables -t nat -I POSTROUTING -o eth1 -s 192.168.52.0/24 -p udp –dpor 53 -j SNAT –to-source 202.96.134.10:40000-50000 3. 測試 在内部網任一台計算機上,将DNS設定為任意的外網IP,就可以使用DNS測試工具如nslookup來解析DNS伺服器202.96.134.130上的名稱.

   8,端口映射

見上節透明代理設定 #iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.62.0/24 –dport 80 -j REDIRECT –to-ports 3128

9,通過NAT上網

典型NAT上網

一般做為NAT的計算機同時也是區域網路的網關,假定該機有兩塊網卡eth0、eth1,eth0連接配接外網,IP為202.96.134.134;eth1連接配接區域網路,IP為192.168.62.10 1. 先在核心裡打開ip轉發功能 #echo 1 > /proc/sys/net/ipv4/ip_forward 

使區域網路使用者能通路internet所要做的nat #iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT –to?202.96.134.134 如果上網的IP是動态IP,則使用以下規則: #iptables -t nat -A POSTROUTING -o eth0 -s 192.168.62.0/24 -j MASQUERADE 如果是通過ADSL上網,且公網IP是動态IP,則使用以下規則: #iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.62.0/24 -j MASQUERADE 

. 使internet使用者可以通路區域網路内web主機所要做的nat #iptables -t nat -A PREROUTING -p tcp -d 202.96.134.134 –dport 80 -j DNAT –to-destination 192.168.62.10 注:區域網路内的用戶端需将預設網關、DNS設為防火牆的IP

10,在我們的網絡機房實作NAT共享上網

工作環境:上層代理192.168.60.6(4480),隻授予教師機(192.168.62.111)使用該代理的權限 目标:不使用squid代理上網,而是使用NAT的方式上網 方法: 

1) 確定停止教師機(192.168.62.111)的squid或其它代理服務 

2) 用戶端網關、DNS均指向192.168.62.111,浏覽器代理設定為192.168.60.6(4480)。測試在目前情況下能否上網 

3) 在教師機(192.168.62.111)上添加如下iptables規則: #iptables -t nat -A POSTROUTING -p tcp -d 192.168.60.6/32 –dport 4480 -j SNAT –to-source 192.168.62.111:10000-30000 解釋:對于目的地為192.168.60.6、目的端口為4480的TCP包,在經過防火牆路由後,将其源位址轉換為192.168.62.111,端口轉換為10000-30000間的某個端口。 

4) 用戶端測試能否上網

本文轉自陳仲陽0 51CTO部落格,原文連結:http://blog.51cto.com/wolfword/1212320

繼續閱讀