Project

General

Profile

Wissen rund um UFW (Firewall)

Links:
http://wiki.ubuntuusers.de/ufw

default Regeln

Eingehend per default verbieten

ufw default deny

Ausgehend per default verbieten

ufw default deny outgoing

icmp von innen nach außen erlauben

Wenn man den Trafik von innen nach außen per default verbietet und ICMP (ping) erlauben will kann das nicht per ufw Kommandos (wird von ufw nicht unterstützt) eingerichtet werden. Hier müssen entspreche IP-Tables Regeln eingetragen werden.
http://www.kelvinism.com/2010/09/enable-icmp-through-ufw_461.html

Edit /etc/ufw/before.rules

# allow outbound icmp
-A ufw-before-output -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
-A ufw-before-output -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT

Danach UFW restarten.

Eingabe von Regeln

von innen nach außen

BSP: erlauben von DNS Port 53 TCP/UDP

ufw allow out to any port 53

Bsp: erlauben von ssh nach außen für bestimmte ip

ufw allow out to 87.193.201.210 port ssh proto tcp

Bsp: erlauben von HTTP

ufw allow out 80/tcp

Bsp: erlauben ausgehend port range

ufw allow out to any port 10000:20000 proto udp

von außen nach innen

Bsp: erlauben von icinga monitoring nur vom monitoring server

ufw allow from 78.47.68.9 to any port 5666

Bsp: erlauben von außen (Netzwerk) nach innen alle Port

ufw allow from 15.15.15.0/24

Basis Setup

ufw allow ssh
ufw default deny
ufw default deny outgoing
ufw allow out 53
ufw allow out 123/udp
ufw allow out 80/tcp
ufw allow out 443/tcp
# enable outgoing ping siehe oben
ufw enable

NAT (DestNat & HideNat [SNAT])

BSP:

# nat Table rules
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

# Port Forwardings
-A PREROUTING -i eth0 -p tcp --dport 55565 -j DNAT --to-destination 10.30.3.121:22
-A PREROUTING -i eth0 -p tcp --dport 55566 -j DNAT --to-destination 10.30.3.121:443

# Forward traffic through eth0 - Change to match you out-interface
-A POSTROUTING -s 10.30.0.0/16 -o eth0 -j MASQUERADE

# HideNat (SNAT) the package
-A POSTROUTING -j SNAT --to 192.168.3.199

# don't delete the 'COMMIT' line or these nat table rules won't
# be processed
COMMIT