Mój Firewall przyk

Archiwalne, stare wpisy FAQ i HowTo Użytkowników
AK-105
Posty: 5
Rejestracja: 13 lutego 2007, 22:27

Mój Firewall przykładowy skrypt

Post autor: AK-105 »

Oto przykład mojego firewalla.
Nikt nie chciał sprawdzić, więc sprawdziłem sam.
Firewall działa i dość dobrze spełnia swoją rolę.

LAN - eth0
WAN - ppp0
System: DEBIAN Sarge

Kod: Zaznacz cały

#!/bin/sh
#włączenie w kernelu forwardowania
echo 1 > /proc/sys/net/ipv4/ip_forward

#załadowanie modulu niezbednego dla RELATED
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

#oczyszczenie wszystkich tablic z poprzednio wpisanych reguł
iptables -F
iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter

#domyślna polityka działania
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT

#wpuszczamy wszystko na interfejsie lokalnym
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT

#wpuszczamy pakiety z połączeń wcześniej nawiązanych oraz pakiety RELATED dla FTP w trybie pasywnym
iptables -A INPUT -p tcp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p udp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p icmp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p icmp -j ACCEPT -m state --state RELATED
iptables -A FORWARD -p tcp -j ACCEPT -m state --state ESTABLISHED
iptables -A FORWARD -p udp -j ACCEPT -m state --state ESTABLISHED
iptables -A FORWARD -p icmp -j ACCEPT -m state --state ESTABLISHED
iptables -A FORWARD -p tcp -j ACCEPT -m state --state RELATED
iptables -A FORWARD -p icmp -j ACCEPT -m state --state RELATED
iptables -A OUTPUT -p tcp -j ACCEPT -m state --state ESTABLISHED
iptables -A OUTPUT -p udp -j ACCEPT -m state --state ESTABLISHED
iptables -A OUTPUT -p icmp -j ACCEPT -m state --state ESTABLISHED
iptables -A OUTPUT -p tcp -j ACCEPT -m state --state RELATED
iptables -A OUTPUT -p icmp -j ACCEPT -m state --state RELATED

#informacja dla FTP i IRC (odrzucanie połączeń na portach 113 i 1080 - info o braku serwerów IDENT i SOCKS)
iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with icmp-port-unreachable
iptables -A INPUT -p tcp --dport 1080 -j REJECT --reject-with icmp-port-unreachable

#akceptacja pingów ale tylko 12 na minutę
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 12/minute -j ACCEPT


#odblokowujemy dostęp dla apacha dla wszystkich
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT

#odblokowujemy dostęp dla SSH dla LANu
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -j ACCEPT

#odblokowujemy dostęp do samby
iptables -I INPUT -i eth0 -p udp --dport 137:139 -j ACCEPT
iptables -I INPUT -i eth0 -p tcp --dport 137:139 -j ACCEPT



#przekierowanie portu dla shareazy
iptables -A PREROUTING -t nat -i ppp0 -p tcp -d 0/0 --dport 6346 -j DNAT --to-destination 192.168.1.101



# maskarada dla sieci wewn oraz udostępnienie łącza
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
Mam nadzieję, że się komuś przyda.
Zablokowany