Iptables - czy reguły są prawidłowe?


(Lenek32) #1

Hejka,

chciałbym was poprosić o sprawdzenie, czy są dobrze napisane:

Napisać, żeby była:

  • możliwość akceptowania dowolnego ruchu - looopback

iptables -A INPUT -i lo -j ACCEPT

iptables -A FORWARD -o lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

Jak mam rozumieć "dowolnego ruchu"? Chodzi o input, forward i output? Czy mam wybrać jedno z nich?

  • możliwość akceptowania łańcucha INPUT do portu 22 (ssh) i logowania takiej operacji

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

Logowania? -j LOG? Gdzie to dodać? Na końcu? Czy może trzeba utworzyć nową linijkę?


(roobal) #2

To jest dobrze.

Dowolnego, tzn. z dowolnego źródła na dowolny cel dla dowolnego protokołu, tzw. from any to any, w przypadku IPTables jeśli źródło i cel jest dowolne, pomija się to w regule, bez pominięcia wyglądałoby to tak.

iptables -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT

0/0 to odpowiednik 0.0.0.0/0 lub 0.0.0.0 maska 0.0.0.0.

Logowania? -j LOG? Gdzie to dodać? Na końcu? Czy może trzeba utworzyć nową linijkę?


(Lenek32) #3

Ogromnie Panu dziękuję. Działa znakomicie.

Jeszcze jedno, chciałbym napisać, żeby była możliwość kierowania w INPUT do nowego łańcucha - dowolnych komunikatów ICMP

a następnie niedopuszczania (DROP) tych komunikatów w nowym łańcuchu, których adresem źródłowym jest broadcast.

Napisałem tak:

iptables -A INPUT -p icmp -j NEW

iptables -A NEW -m addrtype --src-type broadcast -j DROP

Mimo działa, choć pewności nie mam, czy o to chodziło.

A jest taka opcja, aby tworzyć nowy łańcuch trzeba wpisać -N. No dobra, ale muszę przecież użyć INPUT. Czy to co napisałem jest poprawnie? Nie trzeba wpisać -N?


(roobal) #4

Powinno to wyglądać tak.

# Tworzysz nowy łańcuch, np. INBOUND


iptables -N INBOUND


# Przypisujesz go do łańcucha INPUT


iptables -A INPUT -j INBOUND


# Tworzysz reguły dla nowego łańcucha


iptables -A INBOUND ...

W miejsce trzech kropek wstawiasz regułę. Większość popularnych metod ataków sieciowych można blokować, wykorzystując gotowe moduły, aktywować je możesz albo zmieniając wartość w systemie plików proc, albo na stałe w pliku /etc/sysctl.conf.