logo

Navigation:First_Community->Computer->Virus Goto:New TopicSettingSearch
Linux 防火墙 Iptables
Posted by: imac Date: March 29, 2008 02:44AM

CopyRight owned by the original author.--(www.MegaEntry.com)

 RH 的 防火墙默认的做的不好。例如我的安装时形成的 /etc/sysconfig/iptables : # Firewall configuration written by lokkit # Manual customization of this file is not recommended. # Note: ifup-post will punch the current nameservers through the # firewall; such entries will *not* be listed here. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Lokkit-0-50-INPUT - [0:0] -A INPUT -j RH-Lokkit-0-50-INPUT -A RH-Lokkit-0-50-INPUT -i lo -j ACCEPT -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 0:1023 --syn -j REJECT -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 2049 --syn -j REJECT

MegaEntry - Social networking and discussion site!

-A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 0:1023 -j REJECT -A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 2049 -j REJECT -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 6000:6009 --syn -j REJECT -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 7100 --syn -j REJECT COMMIT
lokkit 其实也不好用。我们 需要 愈简单愈实用 的 防火墙规则。 假若您是客户端,没有对外,您可以去除其所有规则 (/etc/sysconfig/iptables): *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0]

MegaEntry - Social networking and discussion site!

COMMIT *mangle :PREROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] COMMIT *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] COMMIT

 再例如我的 www (MySQL 数据库也在这机器上)服务器上的 /etc/sysconfig/iptables 文件: # ======================= 古公 ======================= # # /etc/sysconfig/iptables 文件: #

CopyRight owned by the original author.--(www.MegaEntry.com)

# mangle 段 *mangle :PREROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] COMMIT # # # nat 段 *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] # # 我的机器可以走这个机器做网关上 Internet 网。 # 需要在 /etc/sysctl.conf 文件里面修改成 net.ipv4.ip_forward = 1

MegaEntry - Social networking and discussion site!

# 或者 echo 1 > /proc/sys/net/ipv4/ip_forward [0:0] -A POSTROUTING -s 192.168.20.18 -j MASQUERADE # 若你的 公网的 IP 地址是固定的,使用这个语句似乎更好些: #[0:0] -A POSTROUTING -s 192.168.20.18 -j SNAT --to 211.148.130.131 COMMIT # # # filter 段 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] # # 屏蔽 来自 microsoft 的站点:

CopyRight owned by the original author.--(www.MegaEntry.com)

#[0:0] -A INPUT -s 207.46.0.0/255.255.0.0 -j DROP #[0:0] -A INPUT -d 207.46.0.0/255.255.0.0 -j DROP # # 防止IP欺骗: # 所谓的IP欺骗就是指在IP包中存在着不可能的IP源地址或目标地址。 # eth1是一个与外部Internet相连,而192.168.20.0则是内部网的网络号, # 也就是说,如果有一个包从eth1进入主机,而说自己的源地址是属于 # 192.168.20.0网络,或者说它的目标地址是属于这个网络的,那么这显 # 然是一种IP欺骗,所以我们使用DROP将这个包丢弃。 [0:0] -A INPUT -d 192.168.20.0/255.255.255.0 -i eth1 -j DROP [0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth1 -j DROP # # 同样的,如果有包要通过eth1向Internet,而且它的源地址或目标地址是属于 # 网络192.168.20.0,那么显然也是不可能的。我们仍然使用DROP将它丢弃。 [0:0] -A OUTPUT -d 192.168.20.0/255.255.255.0 -o eth1 -j DROP

MegaEntry - Social networking and discussion site!

[0:0] -A OUTPUT -s 192.168.20.0/255.255.255.0 -o eth1 -j DROP # # 防止广播包从IP代理服务器进入局域网: [0:0] -A INPUT -s 255.255.255.255 -i eth0 -j DROP [0:0] -A INPUT -s 224.0.0.0/224.0.0.0 -i eth0 -j DROP [0:0] -A INPUT -d 0.0.0.0 -i eth0 -j DROP # 当包的源地址是255.255.255.255或目标地址是0.0.0.0,则说明它是一个 # 广播包,当广播包想进入eth0时,我们就应该DROP,丢弃它。而240.0.0.0/3 # 则是国际标准的多目广播地址,当有一个源地址是属于多目广播地址的包, # 我们将用DROP策略,丢弃它。 # # 屏蔽 windows xp 的 5000 端口(这个端口是莫名其妙的 !) [0:0] -A INPUT -p tcp -m tcp --sport 5000 -j DROP [0:0] -A INPUT -p udp -m udp --sport 5000 -j DROP [0:0] -A OUTPUT -p tcp -m tcp --dport 5000 -j DROP

CopyRight owned by the original author.--(www.MegaEntry.com)

[0:0] -A OUTPUT -p udp -m udp --dport 5000 -j DROP # 原来是用来跑 vpn 的,呵呵,我误解了。 # # # 对于本局域网用户不拒绝访问: [0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -j ACCEPT # # # 防止 Internet 网的用户访问 MySQL 服务器(就是 3306 端口): [0:0] -A INPUT -s 211.148.130.129 -i eth1 -p tcp -m tcp --dport 3306 -j DROP [0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT [0:0] -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p tcp -m tcp --dport 3306 -j ACCEPT [0:0] -A INPUT -p tcp -m tcp --dport 3306 -j DROP #

MegaEntry - Social networking and discussion site!

# # 防止 Internet 网的用户访问 SAMBA 服务器: [0:0] -A INPUT -s 211.148.130.129 -i eth1 -p tcp -m tcp --dport 137:139 -j DROP [0:0] -A INPUT -s 211.148.130.129 -i eth1 -p udp -m udp --dport 137:139 -j DROP [0:0] -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p tcp -m tcp --dport 137:139 -j ACCEPT [0:0] -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p udp -m udp --dport 137:139 -j ACCEPT [0:0] -A INPUT -p tcp -m tcp --dport 137:139 -j DROP [0:0] -A INPUT -p udp -m udp --dport 137:139 -j DROP # # [0:0] -A INPUT -i eth1 -p udp -m udp --dport 3 -j DROP [0:0] -A INPUT -i eth1 -p tcp -m tcp --dport 3 -j DROP [0:0] -A INPUT -i eth1 -p tcp -m tcp --dport 111 -j DROP [0:0] -A INPUT -i eth1 -p udp -m udp --dport 111 -j DROP

MegaEntry - Social networking and discussion site!

# # [0:0] -A INPUT -i eth1 -p udp -m udp --dport 587 -j DROP [0:0] -A INPUT -i eth1 -p tcp -m tcp --dport 587 -j DROP # # 让人家 ping 不通我 ! [0:0] -A INPUT -i eth1 -s 192.168.30.0/24 -p icmp -m icmp --icmp-type 8 -j ACCEPT [0:0] -A INPUT -i eth1 -s 211.148.130.128/28 -p icmp -m icmp --icmp-type 8 -j ACCEPT [0:0] -A INPUT -i eth1 -p icmp -m icmp --icmp-type 8 -j DROP # # COMMIT # ======================= 结束 ======================= # ======================= 古公 ======================= 

CopyRight owned by the original author.--(www.MegaEntry.com)

再例如我的 mail 服务器上的 /etc/sysconfig/iptables 文件: # ======================= 古公 ======================= # # /etc/sysconfig/iptables 文件: # # # mangle 段 *mangle :PREROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] COMMIT #

CopyRight owned by the original author.--(www.MegaEntry.com)

# # nat 段 *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] # 我的机器可以走这个机器做网关上 Internet 网。 # 需要在 /etc/sysctl.conf 文件里面修改成 net.ipv4.ip_forward = 1 # 或者 echo 1 > /proc/sys/net/ipv4/ip_forward # 若你的 公网的 IP 地址是固定的,使用这个语句似乎更好些: #[0:0] -A POSTROUTING -s 192.168.20.18 -j SNAT --to 211.148.130.132 COMMIT # #

MegaEntry - Social networking and discussion site!

# filter 段 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] # # 屏蔽 来自 microsoft 的站点: #[2:148] -A INPUT -s 207.46.0.0/255.255.0.0 -j DROP #[0:0] -A INPUT -d 207.46.0.0/255.255.0.0 -j DROP # # 防止IP欺骗: # 所谓的IP欺骗就是指在IP包中存在着不可能的IP源地址或目标地址。 # eth1是一个与外部Internet相连,而192.168.20.0则是内部网的网络号, # 也就是说,如果有一个包从eth1进入主机,而说自己的源地址是属于

CopyRight owned by the original author.--(www.MegaEntry.com)

# 192.168.20.0网络,或者说它的目标地址是属于这个网络的,那么这显 # 然是一种IP欺骗,所以我们使用DROP将这个包丢弃。 [0:0] -A INPUT -d 192.168.20.0/255.255.255.0 -i eth1 -j DROP [0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth1 -j DROP # # 同样的,如果有包要通过eth1向Internet,而且它的源地址或目标地址是属于 # 网络192.168.20.0,那么显然也是不可能的。我们仍然使用DROP将它丢弃。 [0:0] -A OUTPUT -d 192.168.20.0/255.255.255.0 -o eth1 -j DROP [0:0] -A OUTPUT -s 192.168.20.0/255.255.255.0 -o eth1 -j DROP # # 防止广播包从IP代理服务器进入局域网: [0:0] -A INPUT -s 255.255.255.255 -i eth0 -j DROP [0:0] -A INPUT -s 224.0.0.0/224.0.0.0 -i eth0 -j DROP [0:0] -A INPUT -d 0.0.0.0 -i eth0 -j DROP # 当包的源地址是255.255.255.255或目标地址是0.0.0.0,则说明它是一个

MegaEntry - Social networking and discussion site!

# 广播包,当广播包想进入eth0时,我们就应该DENY,丢弃它。而240.0.0.0/3 # 则是国际标准的多目广播地址,当有一个源地址是属于多目广播地址的包, # 我们将用DENY策略,丢弃它。 # # 屏蔽 windows xp 的 5000 端口(这个端口是莫名其妙的 !) [0:0] -A INPUT -p tcp -m tcp --sport 5000 -j DROP [0:0] -A INPUT -p udp -m udp --sport 5000 -j DROP [0:0] -A OUTPUT -p tcp -m tcp --dport 5000 -j DROP [0:0] -A OUTPUT -p udp -m udp --dport 5000 -j DROP # 原来是用来跑 vpn 的,呵呵,我误解了。 # # # 防止 Internet 网的用户访问 MySQL 服务器(就是 3306 端口): #[0:0] -A INPUT -s 211.148.130.129 -i eth1 -p tcp -m tcp --dport 3306 -j DROP

MegaEntry - Social networking and discussion site!

#[0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT #[0:0] -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p tcp -m tcp --dport 3306 -j ACCEPT #[0:0] -A INPUT -p tcp -m tcp --dport 3306 -j DROP # # # 防止 Internet 网的用户访问 SAMBA 服务器: [0:0] -A INPUT -s 211.148.130.129 -i eth1 -p tcp -m tcp --dport 137:139 -j DROP [0:0] -A INPUT -s 211.148.130.129 -i eth1 -p udp -m udp --dport 137:139 -j DROP [0:0] -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p tcp -m tcp --dport 137:139 -j ACCEPT [0:0] -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p udp -m udp --dport 137:139 -j ACCEPT [0:0] -A INPUT -p tcp -m tcp --dport 137:139 -j DROP [0:0] -A INPUT -p udp -m udp --dport 137:139 -j DROP # #

CopyRight owned by the original author.--(www.MegaEntry.com)

# 对于本局域网用户不拒绝访问: [0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -p tcp -j ACCEPT [0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -p udp -j ACCEPT # # # 防止 Internet 网的用户访问 pop3 服务器(110 端口): [0:0] -A INPUT -s 211.148.130.129 -i eth1 -p tcp -m tcp --dport 110 -j DROP [0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 110 -j ACCEPT [0:0] -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p tcp -m tcp --dport 110 -j ACCEPT [0:0] -A INPUT -p tcp -m tcp --dport 110 -j DROP # # # 防止 Internet 网的用户访问 imap 服务器(143 端口): [0:0] -A INPUT -s 211.148.130.129 -i eth1 -p tcp -m tcp --dport 143 -j DROP

MegaEntry - Social networking and discussion site!

[0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 143 -j ACCEPT [0:0] -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p tcp -m tcp --dport 143 -j ACCEPT [0:0] -A INPUT -p tcp -m tcp --dport 143 -j DROP # # # 防止 Internet 网的用户访问 X windows 服务器(6000 端口): [0:0] -A INPUT -s 211.148.130.129 -i eth1 -p tcp -m tcp --dport 6000 -j DROP [0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 6000 -j ACCEPT [0:0] -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p tcp -m tcp --dport 6000 -j ACCEPT [0:0] -A INPUT -p tcp -m tcp --dport 6000 -j DROP # # # 防止 Internet 网的用户访问 X XFS 字体服务器(7100 端口): [0:0] -A INPUT -s 211.148.130.129 -i eth1 -p tcp -m tcp --dport 7100 -j DROP

CopyRight owned by the original author.--(www.MegaEntry.com)

[0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 7100 -j ACCEPT [0:0] -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p tcp -m tcp --dport 7100 -j ACCEPT [0:0] -A INPUT -p tcp -m tcp --dport 7100 -j DROP # # [0:0] -A INPUT -i eth1 -p udp -m udp --dport 3 -j DROP [0:0] -A INPUT -i eth1 -p tcp -m tcp --dport 3 -j DROP [0:0] -A INPUT -i eth1 -p tcp -m tcp --dport 111 -j DROP [0:0] -A INPUT -i eth1 -p udp -m udp --dport 111 -j DROP # # [0:0] -A INPUT -i eth1 -p udp -m udp --dport 587 -j DROP [0:0] -A INPUT -i eth1 -p tcp -m tcp --dport 587 -j DROP #

MegaEntry - Social networking and discussion site!

# 让人家 ping 不通我 ! [0:0] -A INPUT -i eth1 -s 192.168.30.0/24 -p icmp -m icmp --icmp-type 8 -j ACCEPT [0:0] -A INPUT -i eth1 -s 211.148.130.128/28 -p icmp -m icmp --icmp-type 8 -j ACCEPT [0:0] -A INPUT -i eth1 -p icmp -m icmp --icmp-type 8 -j DROP # # COMMIT # ======================= 结束 ======================= # ======================= 古公 =======================


Prev:Linux实现简单而有效的IDS系统Next:linux 下免费防毒软件安装及使用经验!!

Reply To This Message
Subject: 

IE 6.0 or above is perfect