/etc/init.d/firewall
Kod: Zaznacz cały
#!/bin/sh
# zmienne
IPT="/sbin/iptables"
ECHO="/bin/echo"
# ignorowanie pakietów icmp
$ECHO 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
$ECHO 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
# wyłączamy akceptowanie pakietów zmieniających tablice routingu
# interfejs eth0
$ECHO 0 > /proc/sys/net/ipv4/conf/eth0/accept_source_route
$ECHO 0 > /proc/sys/net/ipv4/conf/eth0/accept_redirects
$ECHO 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
# intefejs wlan0
#$ECHO 0 > /proc/sys/net/ipv4/conf/wlan0/accept_source_route
#$ECHO 0 > /proc/sys/net/ipv4/conf/wlan0/accept_redirects
#$ECHO 0 > /proc/sys/net/ipv4/conf/wlan0/send_redirects
# maskowanie systemu
$ECHO 128 > /proc/sys/net/ipv4/ip_default_ttl
$ECHO 0 > /proc/sys/net/ipv4/tcp_window_scaling
$ECHO 0 > /proc/sys/net/ipv4/tcp_timestamps
# przepływ informacji na interfejsie lo
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
# blokada przepływu pakietów
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
# usuwanie poprzednio ustawionych reguł (nie wpływa na powyższe)
$IPT -F
# odrzucanie pakietów z błednymi flagami
$IPT -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
$IPT -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
$IPT -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPT -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
$IPT -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
$IPT -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP
$IPT -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP
# blokada pakietów icmp - ruch wchodzący i wychodzący
$IPT -A INPUT -p icmp -j DROP
$IPT -A OUTPUT -p icmp -j DROP
# reguły pakietów udp - ruch wchodzący i wychodzący
$IPT -A INPUT -p udp -j DROP
$IPT -A INPUT -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p udp --dport 1:52 -j DROP
$IPT -A OUTPUT -p udp --dport 53 -j ACCEPT
$IPT -A OUTPUT -p udp --dport 54:65535 -j DROP
# reguły pakietów tcp - ruch wchodzący i wychodzący
$IPT -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p tcp -j ACCEPT
# kasujemy zmienne
unset IPT
unset ECHO
Na obu komputerach zainstalowany jest Debian Lenny.