Skocz do zawartości
Zaloguj się, aby obserwować  
peres.pro

Iptables - pomocy przy regułkach

Polecane posty

Witam,

prosiłbym kogoś aby popatrzył czy aby na pewno wszystko jest dobrze z moimi regułkami, najpierw przedstawię jak chciałbym aby one działały a potem je wkleje.

No to tak, są to regułki pod prywatny serwer tibii(gra mmo) do tego jest kilka regułek pod różne typy ataków ddos,dos itd. Regułki mają wszystko przepuszczać oprócz tego co jest limitowane/blokowane w nich, oprócz tego maja logować wszystko co zostało dropnięte do /var/log/messages

No i jak wyżej proszę o dokładne przejrzenie i jakieś informacje/poprawki czy to w ogóle się wszystko trzyma kupy bo naprawdę nie jestem w tym dobry.

 

O to regułki

 

#!/bin/bash
########################################
#			Firewall				  #
########################################
# Interface Network
if_ext=vent0
# ------------------------------------------------
# Protection against TCP syncookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Ignore ICMP
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# loopback
iptables -A INPUT -i lo -j ACCEPT
# login packet
iptables -A INPUT -p tcp -m tcp --dport 7171 --tcp-flags FIN,SYN,RST,PSH,ACK,URG PSH,ACK -m length --length 191 -j ch
# logout packet
iptables -A INPUT -p tcp -m tcp --dport 7172 --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,ACK -m recent --set --name login --rsource
# drop banned clients
iptables -A INPUT -m recent --rcheck --seconds 600 --name ban --rsource -j DROP
# accept established
iptables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
# ban over 24 connections
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 24 --connlimit-mask 32 -m recent --set --name ban --rsource -j DROP
# IP-specific bans, 1 line per IP
#-A INPUT -s 186.211.32.3 -j DROP
# HTTP
iptables -A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
# loginserver and gameserver
-A INPUT -p tcp -m tcp --dport 7171 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit ! --connlimit-above 2 --connlimit-mask 32 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 7172 --tcp-flags FIN,SYN,RST,ACK SYN -m recent --rcheck --seconds 30 --name login --rsource -j ACCEPT

# DNS
iptables -A INPUT -p udp -m state --state ESTABLISHED -m udp --sport 53 -j ACCEPT

# NTP
#iptables -A INPUT -p udp -m state --state ESTABLISHED -m udp --sport 123 -j ACCEPT

# SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# ban UDP, not very useful!
iptables -A INPUT -p udp -m recent --set --name ban --rsource -j DROP

# accept login
iptables -A ch -m recent --set --name login --rsource -j ACCEPT
COMMIT
# Block TCP-CONNECT scan attempts (SYN bit packets)
#iptables -A INPUT -p tcp --syn -j DROP
# Block TCP-SYN scan attempts (only SYN bit packets)
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH SYN -j DROP
# Block TCP-FIN scan attempts (only FIN bit packets)
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP
# Block TCP-ACK scan attempts (only ACK bit packets)
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP
# Block TCP-NULL scan attempts (packets without flag)
iptables -A INPUT -m conntrack --ctstate INVALID -p tcp --tcp-flags ! SYN,RST,ACK,FIN,URG,PSH SYN,RST,ACK,FIN,URG,PSH -j DROP
#Block "Christmas Tree" TCP-XMAS scan attempts (packets with FIN, URG, PSH bits)
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP
# Block DOS - Teardrop
iptables -A INPUT -p UDP -f -j DROP
# Block DDOS - Smurf
iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP
iptables -A INPUT -p ICMP --icmp-type echo-request -m pkttype --pkttype broadcast -j DROP
iptables -A INPUT -p ICMP --icmp-type echo-request -m limit --limit 3/s -j ACCEPT
# Block DDOS - SYN-flood
iptables -A INPUT -p TCP --syn -m iplimit --iplimit-above 9 -j DROP
# Block DDOS - SMBnuke
iptables -A INPUT -p UDP --dport 135:139 -j DROP
iptables -A INPUT -p TCP --dport 135:139 -j DROP
# Block DDOS - Jolt
iptables -A INPUT -p ICMP -f -j DROP
# Block DDOS - Fraggle
iptables -A INPUT -p UDP -m pkttype --pkt-type broadcast -j DROP
iptables -A INPUT -p UDP -m limit --limit 3/s -j ACCEPT
# Creates logs of the rest of the connections
iptables -A INPUT -i $if_ext -p all -j LOG --log-prefix " - FIREWALL: droped -> "

 

Tutaj ifconfig(nie zbyt wiem czy podałem dobrą sieć w if_ext):


root@s2:/etc/init.d# ifconfig
lo        Link encap:Local Loopback
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:16436  Metric:1
         RX packets:36780 errors:0 dropped:0 overruns:0 frame:0
         TX packets:36780 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:30657328 (29.2 MiB)  TX bytes:30657328 (29.2 MiB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
         inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
         UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
         RX packets:345186 errors:0 dropped:0 overruns:0 frame:0
         TX packets:248992 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:427749317 (407.9 MiB)  TX bytes:34822662 (33.2 MiB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
         inet addr:91.204.162.161  P-t-P:91.204.162.161  Bcast:0.0.0.0  Mask:255.255.255.255
         UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

Edytowano przez lanceq (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No to tak, mam ispconfig'a 3 a razem z nim fail2ban, nie wiem jak to razem współpracuje, gdzie najlepiej wrzucić regułki aby to dobrze współgrało ? Bo chyba nie do init.d jako .sh z tego co pamiętam w ispconfigu właśnie te regułki się gdzieś w specjalne miejsce dodawało tylko za bardzo nie mam pomysłu gdzie.

 

I czym jest policy ? :)

Edytowano przez lanceq (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

#!/bin/sh
/etc/init.d/iptables restart
#Clear rules and chains
iptables -F
iptables -X
Twoje reguly iptables
#save the rules so they are not lost on a restart
/etc/init.d/iptables save

 

To jest właściwa drogi iplementacji reguł iptables dla Centosa, której używam.

Nie wiem jaki masz OS, pewne informacje z tego na pewno przydadza Ci sie.

Edytowano przez kamilel (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mój OS to Debian6 razem z ispconfigiem. Dodam że ipconfig ma już wgranego iptables i fail2ban i korzysta z firewalla Bastille. Chyba podałem wystarczające informacje.

Edytowano przez lanceq (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×