View previous topic :: View next topic |
Author |
Message |
ryba84 Tux's lil' helper
Joined: 31 Dec 2008 Posts: 109
|
Posted: Sun Apr 19, 2009 7:17 pm Post subject: [iptables]Skrypt firewalla czy coś poprawić? |
|
|
Code: | # czyszczenie reguł iptables i blokada dostępu z zewnątrz
iptables -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# blokada odpowiedzi na pingi
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# ochrona przed atakami smurf
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# ochrona przed komunikacją ICMP error
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# logowanie dziwnych pakietów
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
# Nie akceptujemy datagramu IP z opcja "source route"
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
# bez pakietów ICMP redict, ktore moga zmienic tablice routingu
echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
# ochrona przed spoofingiem -każdy interfejs sieciowy będzie przyjmował tylko te pakiety które znajdują się w tablicy routingu
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
# Blokada przed atakami typu SYN FLOODING
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
# włączenie loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# pozwolenie na pingowanie innych
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
# pozwolenie na połączenia już nawiązane
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# dostęp do DNS
iptables -A INPUT -s 172.16.1.1 -j ACCEPT
iptables -A INPUT -s 172.16.2.1 -j ACCEPT
iptables -A INPUT -s 192.168.0.1 -j ACCEPT
# pakiety z adresem źródłowym ustawionym na nasz
iptables -A INPUT -i wlan0 -s 192.168.0.125 -j DROP
# ssh
iptables -A INPUT --protocol tcp --destination-port 22 -j ACCEPT
iptables -A INPUT --protocol tcp --source-port 22 -j ACCEPT
# gg
iptables -A INPUT --protocol tcp --source-port 8074 -j ACCEPT | Tak jak w temacie napisałem sobie skrypcik firewalla i mam pytanie do bardziej doświadczonych użytkowników, czy coś w nim poprawić. |
|
Back to top |
|
|
Dagger Retired Dev
Joined: 11 Jun 2003 Posts: 765 Location: UK
|
Posted: Wed Apr 22, 2009 2:33 pm Post subject: |
|
|
Code: |
# blokada odpowiedzi na pingi
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# ochrona przed atakami smurf
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# ochrona przed komunikacją ICMP error
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
|
osobiscie nie uwazam to za dobra opcje. Osobiscie preferuje:
Code: |
# UDP-flood protection
$IPTABLES -A INPUT -i $WAN_IF -p udp -j DOS
$IPTABLES -I DOS -p udp -m state --state ESTABLISHED,RELATED -j RETURN
$IPTABLES -I DOS -p udp -m limit --limit 150/s --limit-burst 300 -j RETURN
# Syn-flood protection
$IPTABLES -A INPUT -i $WAN_IF -p tcp --syn -m state ! --state ESTABLISHED,RELATED -j DOS
$IPTABLES -I DOS -p tcp --syn -m limit --limit 150/s --limit-burst 300 -j RETURN
# Ping of death
# Drop icmp packet breaks the rate of 1/s
$IPTABLES -A INPUT -i $WAN_IF -p icmp --icmp-type echo-request -j DOS
$IPTABLES -A DOS -p icmp --icmp-type echo-request -m limit --limit 150/s --limit-burst 300 -j RETURN
|
proponuje dodac:
Code: |
#DROP ALL INVALID TCP FLAG CONFIGURATION
# All of the bits are cleared
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j INVALID
$IPTABLES -A FORWARD -p tcp --tcp-flags ALL NONE -j INVALID
# SYN and FIN are both set
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j INVALID
$IPTABLES -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j INVALID
# SYN and RST are both set.
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j INVALID
$IPTABLES -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j INVALID
# FIN and RST are both set
$IPTABLES -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j INVALID
$IPTABLES -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j INVALID
# FIN is the only bit set, without the expected accompanyuing ACK
$IPTABLES -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j INVALID
$IPTABLES -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j INVALID
# PSH is the only bit set, without the expected accompaying ACK
$IPTABLES -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j INVALID
$IPTABLES -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j INVALID
# URG is the only bit set, without the expected accompayning ACK
$IPTABLES -A INPUT -p tcp --tcp-flags ACK,URG URG -j INVALID
$IPTABLES -A FORWARD -p tcp --tcp-flags ACK,URG URG -j INVALID
DROP BRUTE FORCE ATTACKS
$IPTABLES -A INPUT -i $WAN_IF -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
$IPTABLES -A INPUT -i $WAN_IF -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 --rttl --name SSH -j DROP # was TARPIT
|
_________________ 95% of all computer errors occur between chair and keyboard (TM)
Join the FSF as an Associate Member!
Post under CC license. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|