iptables, domyślne zasady a reguły

12

Czy jest jakaś różnica w upuszczaniu niepasujących pakietów z domyślną polityką vs -j DROPna końcu?

Lubić:

iptables -P INPUT DROP
iptables -A INPUT --dport 80 -j ACCEPT

vs

iptables -A INPUT --dport 80 -j ACCEPT
iptables -A INPUT -j DROP

Powodem, dla którego mnie to obchodzi, jest to, że nie mogę utworzyć łańcucha z logiem i przypisaniem go jako domyślnej zasady, więc musiałbym skorzystać z drugiego przykładu.

ktoś
źródło
co próbujesz się zalogować?
tftd 24.09.12
Ogólnie wszystko. Kiedy debuguję iptables, jego funkcja chowanego, gdy nie wiem, gdzie i dlaczego została usunięta.
ktoś

Odpowiedzi:

5

Z technicznego punktu widzenia Nie. Pakiet zostaje odrzucony w obu kierunkach.

Ale Sirex ma rację, ponieważ może być nieco bolesne, jeśli zapomnisz coś ważnego podczas zmiany domyślnych reguł tabeli.

Po spędzeniu czasu z IPTables prawdopodobnie znajdziesz preferencje i zbudujesz systemy wokół tego w swoim środowisku.

Magellan
źródło
5

Tak. Jeśli używasz zasad DROP, a następnie łączysz się przez SSH i opróżniasz tabelę ( iptables -F), blokujesz się, ponieważ domyślna zasada nie jest opróżniana.

Zrobiłem to na zdalnym systemie. To boli.

(Inne wyciągnięte lekcje, jeśli chcesz na chwilę pozbyć się zapory ogniowej, użyj service iptables stop, a nie iptables-F + service iptables reload)

Domyślna polityka jest prawdopodobnie bezpieczniejsza od łatwiejszej do zarządzania. Nie możesz zapomnieć dodać go na końcu.

Sirex
źródło
3

Może jeszcze jedna rzecz w tym temacie dla tych, którzy potrzebują takiej informacji, jak ja kilka godzin temu.

Drugi sposób:

iptables -A INPUT --dport 80 -j ACCEPT
iptables -A INPUT -j DROP

nie pozwala na dołączenie reguły później (ponieważ dołączona reguła pojawi się po uniwersalnej regule upuszczania, a zatem nie przyniesie żadnego efektu), musisz wstawić regułę z wyraźnym stwierdzeniem żądanej pozycji:

iptables -I INPUT 1 --dport 8080 -j ACCEPT

zamiast

iptables -A INPUT --dport 80 -j ACCEPT

W zależności od potrzeb może to nieco pomóc w bezpieczeństwie, wymagając od ciebie lub cokolwiek później dodaje reguły, aby naprawdę przejść przez istniejące reguły, a nie tylko dodawać ją jak zwykle.

Wiedziałem, że zarobiłem wczoraj, sprawdzając przez dwadzieścia minut, dlaczego moja nowo zainstalowana usługa nie reaguje, mimo że wszystko działa.

Pavel
źródło
1

Domyślne zasady są dość ograniczone, ale należy zastosować dobry mechanizm ochronny, aby zapewnić, że nieobsługiwane pakiety będą obsługiwane we właściwy sposób.

Jeśli potrzebujesz (chcesz) zalogować te pakiety, potrzebujesz ostatecznej reguły. Może to być łańcuch, który rejestruje i stosuje zasady. Możesz także po prostu zalogować się i pozwolić polityce sobie z tym poradzić.

Rozważ te podejścia do polityki i ostateczną regułę polityki.

  • używaj i akceptuj zasady oraz zastępuj żądane zasady jako ostateczną zasadę. Może to chronić cię, gdy zarządzasz hostem w zdalnej lokalizacji. Jeśli porzucisz swoje reguły, pozostanie Ci tylko druga linia obrony, taka jak hosts.allow. Jeśli upuścisz swoją ostatnią regułę, uzyskasz najczęściej otwartą lub całkowicie otwartą konfigurację.
  • ustaw żądaną zasadę i zabezpiecz ją końcową zasadą. Może to być bardziej bezpieczne, gdy masz fizyczny lub dostęp do konsoli do hosta. Jeśli zrezygnujesz z regulaminu, utracisz dostęp do wszystkich usług, chyba że polisa jest AKCEPTUJ. Jeśli upuścisz ostatnią regułę, nadal będziesz chroniony.
BillThor
źródło