j1gg 2 Zgłoś post Napisano Maj 3, 2016 Witam znalazłem takie regułki iptables: #!/bin/sh IPT="/sbin/iptables" IPT6="/sbin/ip6tables" # Flush old rules $IPT --flush $IPT --delete-chain # By default, drop everything except outgoing traffic $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT ACCEPT $IPT6 -P INPUT DROP $IPT6 -P OUTPUT DROP $IPT6 -P FORWARD DROP # Allow incoming and outgoing for loopback interfaces $IPT -A INPUT -i lo -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT # ICMP rules $IPT -A INPUT -p icmp --icmp-type echo-reply -m state --state ESTABLISHED,RELATED -j ACCEPT $IPT -A INPUT -p icmp --icmp-type echo-request -m limit --limit 5/s -m state --state NEW -j ACCEPT $IPT -A INPUT -p icmp --icmp-type destination-unreachable -m state --state NEW -j ACCEPT $IPT -A INPUT -p icmp --icmp-type time-exceeded -m state --state NEW -j ACCEPT $IPT -A INPUT -p icmp --icmp-type timestamp-request -m state --state NEW -j ACCEPT $IPT -A INPUT -p icmp --icmp-type timestamp-reply -m state --state ESTABLISHED,RELATED -j ACCEPT #Dos/Scanners.... $IPT -A INPUT -p tcp --syn -j DROP $IPT -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH SYN -j DROP $IPT -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP $IPT -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP $IPT -A INPUT -m conntrack --ctstate INVALID -p tcp --tcp-flags ! SYN,RST,ACK,FIN,URG,PSH SYN,RST,ACK,FIN,URG,PSH -j DROP $IPT -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP $IPT -A INPUT -p UDP -f -j DROP $IPT -A INPUT -p TCP --syn -m iplimit --iplimit-above 9 -j DROP $IPT -A INPUT -m pkttype --pkt-type broadcast -j DROP $IPT -A INPUT -p ICMP --icmp-type echo-request -m pkttype --pkttype broadcast -j DROP $IPT -A INPUT -p ICMP --icmp-type echo-request -m limit --limit 3/s -j ACCEPT $IPT -A INPUT -p TCP --syn -m iplimit --iplimit-above 3 -j DROP $IPT -A INPUT -p UDP -m pkttype --pkt-type broadcast -j DROP $IPT -A INPUT -p UDP -m limit --limit 3/s -j ACCEPT $IPT -A INPUT -p ICMP -f -j DROP # Block new connections without SYN $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP # Allow established connections: $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # SSH $IPT -A INPUT -p tcp --dport 44 -m state --state NEW -j ACCEPT # Block fragments and Xmas tree as well as SYN,FIN and SYN,RST $IPT -A INPUT -p ip -f -j DROP $IPT -A INPUT -p tcp --tcp-flags ALL ACK,RST,SYN,FIN -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 # Anti-spoofing rules $IPT -A INPUT -s 200.200.200.200 -j DROP $IPT -A INPUT -s 192.168.0.0/24 -j DROP $IPT -A INPUT -s 127.0.0.0/8 -j DROP #FTP $IPT -A INPUT -p tcp --dport ftp -j ACCEPT $IPT -A INPUT -p tcp --dport ftp-data -j ACCEPT $IPT -A INPUT -p ALL -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT $IPT -A OUTPUT -o eth0 -p tcp --sport ftp -j ACCEPT $IPT -A OUTPUT -o eth0 -p tcp --sport ftp-data -j ACCEPT $IPT -A INPUT -p tcp --dport 50000:51000 -j ACCEPT # Creation channel rejection flood udp 28 $IPT -N REJECT_FLOOD28 $IPT -A REJECT_FLOOD28 -j LOG --log-prefix 'IPTABLES-FLOOD LENGTH 28: ' --log-level info $IPT -A REJECT_FLOOD28 -j DROP # Creation channel rejection flood udp 46 $IPT -N REJECT_FLOOD46 $IPT -A REJECT_FLOOD46 -j LOG --log-prefix 'IPTABLES-FLOOD LENGTH 46: ' --log-level info $IPT -A REJECT_FLOOD46 -j DROP # Srcds Ports $IPT -A INPUT -i eth0 -p udp --dport 27015 -m length --length 28 -j REJECT_FLOOD28 $IPT -A INPUT -i eth0 -p udp --dport 27016 -m length --length 28 -j REJECT_FLOOD28 $IPT -A INPUT -i eth0 -p udp --dport 27015 -m length --length 46 -j REJECT_FLOOD46 $IPT -A INPUT -i eth0 -p udp --dport 27016 -m length --length 46 -j REJECT_FLOOD46 #Steam Friends Service $IPT -A INPUT -p udp --dport 1200 --jump ACCEPT #Steam Main UDP $IPT -A INPUT -p udp --dport 27000:27015 --jump ACCEPT #Steam Main TCP $IPT -A INPUT -p tcp --dport 27020:27039 --jump ACCEPT #Steam Dedicated Server HLTV $IPT -A INPUT -p udp --dport 27020 --jump ACCEPT #TS3 $IPT -A INPUT -p TCP --dport 10011 --jump ACCEPT $IPT -A INPUT -p UDP --dport 9987 --jump ACCEPT $IPT -A INPUT -p TCP --dport 30033 --jump ACCEPT #MC $IPT -A INPUT -p TCP --dport 25565 --jump ACCEPT $IPT -A INPUT -p TCP --dport 25566 --jump ACCEPT #My SQL $IPT -A INPUT -p TCP --dport 3306 --jump ACCEPT 1. Nie rozumiem tej linijki: $IPT -A INPUT -p tcp --dport 44 -m state --state NEW -j ACCEPT Zmieniłem port na 22 i ssh dalej nie działa. 2. Mam taki błąd po odpaleniu skryptu: iptables v1.4.14: Unknown TCP flag `!' Try `iptables -h' or 'iptables --help' for more information. iptables v1.4.14: Couldn't load match `iplimit':No such file or directory Try `iptables -h' or 'iptables --help' for more information. iptables v1.4.14: unknown option "--pkttype" Try `iptables -h' or 'iptables --help' for more information. iptables v1.4.14: Couldn't load match `iplimit':No such file or directory Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Filip Nowacki Zgłoś post Napisano Maj 3, 2016 VPS czy dedyk? Udostępnij ten post Link to postu Udostępnij na innych stronach
ksk 67 Zgłoś post Napisano Maj 3, 2016 Jak się nie mylę wstaw ! przed tcp Udostępnij ten post Link to postu Udostępnij na innych stronach
j1gg 2 Zgłoś post Napisano Maj 3, 2016 Dedyk Udostępnij ten post Link to postu Udostępnij na innych stronach
j1gg 2 Zgłoś post Napisano Maj 4, 2016 Jak myślicie dlaczego ssh nie działa na tych regułkach? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Maj 4, 2016 Bo coś źle wpisałeś Udostępnij ten post Link to postu Udostępnij na innych stronach
j1gg 2 Zgłoś post Napisano Maj 4, 2016 Nic źle nie mogłem wpisać, odpalam to skryptem. Udostępnij ten post Link to postu Udostępnij na innych stronach
Vasthi 74 Zgłoś post Napisano Maj 4, 2016 Aktualizowałeś ostatnio kernel? Robiłeś reboota? Udostępnij ten post Link to postu Udostępnij na innych stronach
j1gg 2 Zgłoś post Napisano Maj 4, 2016 Aktualizowałem i nie robiłem reboota. Udostępnij ten post Link to postu Udostępnij na innych stronach
Vasthi 74 Zgłoś post Napisano Maj 4, 2016 Możesz spróbować zrestartować ponieważ może jest problem z załadowaniem jakiegoś modułu. Udostępnij ten post Link to postu Udostępnij na innych stronach
j1gg 2 Zgłoś post Napisano Maj 5, 2016 (edytowany) x Edytowano Maj 5, 2016 przez j1gg (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Maj 5, 2016 Te zapytania walą tylko błędami. Napisz sobie wszystkie regułki od nowa. Udostępnij ten post Link to postu Udostępnij na innych stronach
Kszysiu 136 Zgłoś post Napisano Maj 6, 2016 w ogóle kto robi to skryptem? iptables-save, iptables-restore... Udostępnij ten post Link to postu Udostępnij na innych stronach
xvps 3 Zgłoś post Napisano Maj 10, 2016 Błędy: 1.zamiast $IPT -A INPUT -m conntrack --ctstate INVALID -p tcp --tcp-flags ! SYN,RST,ACK,FIN,URG,PSH SYN,RST,ACK,FIN,URG,PSH -j DROP winnobyć: $IPT -A INPUT -m conntrack --ctstate INVALID -p tcp ! --tcp-flags SYN,RST,ACK,FIN,URG,PSH SYN,RST,ACK,FIN,URG,PSH -j DROP 2.zamiast "--pkttype" winnobyć: "--pkt-type" 3.zamiast: "iplimit" najprawdopodobniej winnobyć: "hashlimit" ... i powinno być bez błędów... Poza tym linię: $IPT -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT zmieniłbym na: $IPT -A INPUT -p tcp --dport 22 -j ACCEPT i powinno SSH zadziałać. Udostępnij ten post Link to postu Udostępnij na innych stronach
j1gg 2 Zgłoś post Napisano Maj 11, 2016 SSH dalej nie działa Udostępnij ten post Link to postu Udostępnij na innych stronach
xvps 3 Zgłoś post Napisano Maj 11, 2016 Po przeanalizowaniu [po łebkach] w/w/ regułek zastanawiam się z jakiego źródła pochodzą ? To nie ma prawa zadziałać. Np.: #Dos/Scanners.... $IPT -A INPUT -p tcp --syn -j DROP . . $IPT -A INPUT -p TCP --syn -m hashlimit --hashlimit-above 9 -j DROP . . $IPT -A INPUT -p TCP --syn -m hashlimit --hashlimit-above 3 -j DROP . # Block new connections without SYN $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP # Allow established connections: $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT Wpierw dropujesz wszystkie TCP SYN , a następnie wprowadzasz limity [hashlimit] TCP SYN ?! Potem dropujesz TCP różne od SYN-NEW , a dopiero na końcu Akceptujesz pakiety dla połączeń już ustanowionych ?! Gdzie logika ? Albo to: # Allow incoming and outgoing for loopback interfaces $IPT -A INPUT -i lo -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT niby jest OK, gdyby nie później: . # Anti-spoofing rules . $IPT -A INPUT -s 127.0.0.0/8 -j DROP Przecież jedno drugiemu przeczy ["Lo" to 127.0.0.1] jak już to winnobyć: $IP -A INPUT -i ! lo -s 127.0.0.0/8 -j DROP czytaj: Drop dla wszystkiego z adresem źródłowym 127.0.0.0/8 przychodzącego z interfejsu różnego niż "Lo" (czyli wszystkie ETH między innymi) Pozdrawiam ... A co do SSH to użyj np. tego: #BEZPIECZEŃSTWO SSH /sbin/iptables -N SSH_CHECK /sbin/iptables -A SSH_CHECK -m recent --set --name SSH --rsource /sbin/iptables -A SSH_CHECK -m recent --update --seconds 60 --hitcount 3 --name SSH --rsource -j DROP /sbin/iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -j SSH_CHECK A jako małe ćwiczenie polecam rozpracować jak to działa ? Powiem tylko tyle , że pozwala na max. 3 logowania na SSH port 22 w ciągu minuty ... następne połączenia są odrzucane. Prosty sposób na próby typu "metoda młotka"....oczywiście można to rozbudowywać I jeśli SSH ma zadziałać to umieść to w miarę na początku (przed dropowaniem TCP-SYN) , a i tak nie jestem pewien czy w tym przypadku zadziała ... ale nie ma sensu analizować dalej ... lepiej napisać od nowa trzymając się uprzednio przyjętych założeń. Jeszcze raz pozdrawiam Udostępnij ten post Link to postu Udostępnij na innych stronach
Kszysiu 136 Zgłoś post Napisano Maj 11, 2016 Przy okazji - znacie fajną lekturę - perfekcyjnie byłoby po Polsku, ale na upartego może być angielska - która by ładnie opisywała konfigurację iptablesów jako firewall 4-7 warstwy? Nie chodzi mi o "na gotowca co wpisać", tylko rzeczywisty opis dlaczego tak, a tak? Udostępnij ten post Link to postu Udostępnij na innych stronach
xvps 3 Zgłoś post Napisano Maj 12, 2016 Mam kilka dobrych opracowań z neta w pdf i nie tylko ... poszukam i wystawię na ftp. Linka podam wkrótce ... (czytaj: po południu) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Maj 12, 2016 Ja miałem kiedyś fajny pdf z różnymi przykładami i opisami, ale zgubiłem Także bym prosił o link Udostępnij ten post Link to postu Udostępnij na innych stronach
xvps 3 Zgłoś post Napisano Maj 12, 2016 Tak na szybko to co znalazłem w swoim archiwum udostepniłem tutaj: https://xvps.com.pl/cloud/index.php/s/9Hmi5xDAgp6cqcT Niektóre opracowania wydawać by się mogło są trochę stare, ale wciąż aktualne i przydatne. Proszę kożystać ... link ważny tylko do 15 maja br. Miłej lektury 3 Udostępnij ten post Link to postu Udostępnij na innych stronach