Skocz do zawartości
  • Cześć!

    Witaj na forum RootNode - aby pisać u nas musisz się zarejestrować, a następnie zalogować. Posty pisane z kont niezarejestrowanych nie są widoczne publicznie.

Rekomendowane odpowiedzi

Opublikowano

Czy mógłby ktoś rzucić okiem na poniższe regułki iptables i doradzić, czy są one prawidłowe, może coś w nich można by poprawić? Jest to taki podstawowy firewall, którego zadaniem jest dopuszczenie ruchu http, https, MySQL oraz SSH (w tym wypadku tylko z określonych adresów IP).

 

Głównie zależy mi na regułkach z flagami TCP, czy nadal warto ich używać (szczególnie na najnowszych systemach z kernelem 4.x), może dodać jeszcze jakieś inne?

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT

# Block IPs
ipset create denyips hash:net
ipset add denyips 0.0.0.0/8
ipset add denyips 10.0.0.0/8
ipset add denyips 100.64.0.0/10
ipset add denyips 127.0.0.0/8
ipset add denyips 169.254.0.0/16
ipset add denyips 172.16.0.0/12
ipset add denyips 192.0.0.0/24
ipset add denyips 192.0.2.0/24
ipset add denyips 192.168.0.0/16
ipset add denyips 198.18.0.0/15
ipset add denyips 198.51.100.0/24
ipset add denyips 203.0.113.0/24
ipset add denyips 224.0.0.0/3
iptables -A INPUT -m set --match-set denyips src -j DROP

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags ACK,FIN FIN -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags ACK,PSH PSH -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags ALL ALL -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags ALL FIN,PSH,URG -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags ALL SYN,FIN,PSH,URG -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP

iptables -A INPUT -p icmp -m limit --limit 2/second --limit-burst 2 -j ACCEPT

IP_SRV=x.x.x.x

# SSH
ipset create allowips_ssh hash:net
ipset add allowips_ssh y.y.y.y
iptables -A INPUT -d $IP_SRV -p tcp --dport 22 -m set --match-set allowips_ssh src -j ACCEPT

# Web
iptables -A INPUT -d $IP_SRV -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -d $IP_SRV -p tcp --dport 443 -j ACCEPT

# MySQL
iptables -A INPUT -d $IP_SRV -p tcp --dport 3306 -j ACCEPT

 

Przy okazji może się komuś przyda wraz ze stosowaniem ipset'a.

Opublikowano

Jak masz regułkę na ESTABLISHED/RELATED to warto wszystkie allowy do portów po TCP ustawić tylko na stan SYN. Wtedy ładnie blokujesz np. spam SYN/ACK, który w Twoim przypadku ładnie by przez iptables przeszedł.

  • Lubię 1
Opublikowano

Albo --syn albo -m state --state NEW. State jest bardziej uniwersalne bo też działa na inne protokoły. W przypadku TCP to jedno i to samo.

  • Lubię 2

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z forum, wyrażasz zgodę na: Warunki użytkowania, Regulamin, Polityka prywatności.