天天看点

ufw生成防火墙

  ufw是个很简单的防火墙生成器。

简单操作便可生的可靠的规则。

sudo apt-get install ufw 

sudo ufw enable 

sudo ufw default deny 

sudo ufw allow proto tcp from 192.168.0.0/16 to any port 22 

sudo ufw allow proto tcp from 123.123.123.123/32 to any port 22 

sudo ufw allow proto udp from 192.168.0.0/16 to any port 123 

sudo ufw allow proto udp from 192.168.0.0/16 to any port 161 

sudo ufw allow proto tcp from 192.168.0.0/16 to any port 5666 

sudo ufw allow proto tcp from 192.168.0.0/16 to any port 9102 

sudo ufw allow 80/tcp 

查看ufw状态

$ sudo ufw status 

Status: active 

To                         Action      From 

--                         ------      ---- 

22/tcp                     ALLOW       192.168.0.0/16 

22/tcp                     ALLOW       123.123.123.123 

123/udp                    ALLOW       192.168.0.0/16 

161/udp                    ALLOW       192.168.0.0/16 

5666/tcp                   ALLOW       192.168.0.0/16 

9102/tcp                   ALLOW       192.168.0.0/16 

80/tcp                     ALLOW       Anywhere 

80/tcp                     ALLOW       Anywhere (v6) 

查看规则

$ sudo iptables-save 

# Generated by iptables-save v1.4.12 on Fri Nov  2 19:24:23 2012 

*filter 

:INPUT DROP [1:32] 

:FORWARD DROP [0:0] 

:OUTPUT ACCEPT [0:0] 

:ufw-after-forward - [0:0] 

:ufw-after-input - [0:0] 

:ufw-after-logging-forward - [0:0] 

:ufw-after-logging-input - [0:0] 

:ufw-after-logging-output - [0:0] 

:ufw-after-output - [0:0] 

:ufw-before-forward - [0:0] 

:ufw-before-input - [0:0] 

:ufw-before-logging-forward - [0:0] 

:ufw-before-logging-input - [0:0] 

:ufw-before-logging-output - [0:0] 

:ufw-before-output - [0:0] 

:ufw-logging-allow - [0:0] 

:ufw-logging-deny - [0:0] 

:ufw-not-local - [0:0] 

:ufw-reject-forward - [0:0] 

:ufw-reject-input - [0:0] 

:ufw-reject-output - [0:0] 

:ufw-skip-to-policy-forward - [0:0] 

:ufw-skip-to-policy-input - [0:0] 

:ufw-skip-to-policy-output - [0:0] 

:ufw-track-input - [0:0] 

:ufw-track-output - [0:0] 

:ufw-user-forward - [0:0] 

:ufw-user-input - [0:0] 

:ufw-user-limit - [0:0] 

:ufw-user-limit-accept - [0:0] 

:ufw-user-logging-forward - [0:0] 

:ufw-user-logging-input - [0:0] 

:ufw-user-logging-output - [0:0] 

:ufw-user-output - [0:0] 

-A INPUT -j ufw-before-logging-input 

-A INPUT -j ufw-before-input 

-A INPUT -j ufw-after-input 

-A INPUT -j ufw-after-logging-input 

-A INPUT -j ufw-reject-input 

-A INPUT -j ufw-track-input 

-A FORWARD -j ufw-before-logging-forward 

-A FORWARD -j ufw-before-forward 

-A FORWARD -j ufw-after-forward 

-A FORWARD -j ufw-after-logging-forward 

-A FORWARD -j ufw-reject-forward 

-A OUTPUT -j ufw-before-logging-output 

-A OUTPUT -j ufw-before-output 

-A OUTPUT -j ufw-after-output 

-A OUTPUT -j ufw-after-logging-output 

-A OUTPUT -j ufw-reject-output 

-A OUTPUT -j ufw-track-output 

-A ufw-after-input -p udp -m udp --dport 137 -j ufw-skip-to-policy-input 

-A ufw-after-input -p udp -m udp --dport 138 -j ufw-skip-to-policy-input 

-A ufw-after-input -p tcp -m tcp --dport 139 -j ufw-skip-to-policy-input 

-A ufw-after-input -p tcp -m tcp --dport 445 -j ufw-skip-to-policy-input 

-A ufw-after-input -p udp -m udp --dport 67 -j ufw-skip-to-policy-input 

-A ufw-after-input -p udp -m udp --dport 68 -j ufw-skip-to-policy-input 

-A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input 

-A ufw-after-logging-forward -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] " 

-A ufw-after-logging-input -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] " 

-A ufw-before-forward -j ufw-user-forward 

-A ufw-before-input -i lo -j ACCEPT 

-A ufw-before-input -m state --state RELATED,ESTABLISHED -j ACCEPT 

-A ufw-before-input -m state --state INVALID -j ufw-logging-deny 

-A ufw-before-input -m state --state INVALID -j DROP 

-A ufw-before-input -p icmp -m icmp --icmp-type 3 -j ACCEPT 

-A ufw-before-input -p icmp -m icmp --icmp-type 4 -j ACCEPT 

-A ufw-before-input -p icmp -m icmp --icmp-type 11 -j ACCEPT 

-A ufw-before-input -p icmp -m icmp --icmp-type 12 -j ACCEPT 

-A ufw-before-input -p icmp -m icmp --icmp-type 8 -j ACCEPT 

-A ufw-before-input -p udp -m udp --sport 67 --dport 68 -j ACCEPT 

-A ufw-before-input -j ufw-not-local 

-A ufw-before-input -d 224.0.0.251/32 -p udp -m udp --dport 5353 -j ACCEPT 

-A ufw-before-input -d 239.255.255.250/32 -p udp -m udp --dport 1900 -j ACCEPT 

-A ufw-before-input -j ufw-user-input 

-A ufw-before-output -o lo -j ACCEPT 

-A ufw-before-output -m state --state RELATED,ESTABLISHED -j ACCEPT 

-A ufw-before-output -j ufw-user-output 

-A ufw-logging-allow -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW ALLOW] " 

-A ufw-logging-deny -m state --state INVALID -m limit --limit 3/min --limit-burst 10 -j RETURN 

-A ufw-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] " 

-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN 

-A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN 

-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN 

-A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny 

-A ufw-not-local -j DROP 

-A ufw-skip-to-policy-forward -j DROP 

-A ufw-skip-to-policy-input -j DROP 

-A ufw-skip-to-policy-output -j ACCEPT 

-A ufw-track-output -p tcp -m state --state NEW -j ACCEPT 

-A ufw-track-output -p udp -m state --state NEW -j ACCEPT 

-A ufw-user-input -s 192.168.0.0/16 -p tcp -m tcp --dport 22 -j ACCEPT 

-A ufw-user-input -s 123.123.123.123/32 -p tcp -m tcp --dport 22 -j ACCEPT 

-A ufw-user-input -s 192.168.0.0/16 -p udp -m udp --dport 123 -j ACCEPT 

-A ufw-user-input -s 192.168.0.0/16 -p udp -m udp --dport 161 -j ACCEPT 

-A ufw-user-input -s 192.168.0.0/16 -p tcp -m tcp --dport 5666 -j ACCEPT 

-A ufw-user-input -s 192.168.0.0/16 -p tcp -m tcp --dport 9102 -j ACCEPT 

-A ufw-user-input -p tcp -m tcp --dport 80 -j ACCEPT 

-A ufw-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] " 

-A ufw-user-limit -j REJECT --reject-with icmp-port-unreachable 

-A ufw-user-limit-accept -j ACCEPT 

COMMIT 

# Completed on Fri Nov  2 19:24:23 2012 

生成的规则果然还是比较漂亮的。

本文转自 紫色葡萄 51CTO博客,原文链接:http://blog.51cto.com/purplegrape/1048575,如需转载请自行联系原作者

继续阅读