Jak mogę zablokować wszystkie porty z wyjątkiem 1962, 999, 12020?
Jeden port dla SSH i dwa inne dla pewnego rodzaju skryptu. Konieczne jest więc zezwolenie na wychodzenie przez te porty, prawda?
Moje iptables:
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*mangle
:PREROUTING ACCEPT [643521:136954367]
:INPUT ACCEPT [643521:136954367]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [645723:99904505]
:POSTROUTING ACCEPT [645723:99904505]
COMMIT
# Completed on Sat Feb 25 17:25:21 2012
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*filter
:INPUT ACCEPT [643490:136950781]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [645723:99904505]
-A INPUT -p tcp -m tcp --dport 1962 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 999 -j ACCEPT
COMMIT
# Completed on Sat Feb 25 17:25:21 2012
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*nat
:PREROUTING ACCEPT [5673:734891]
:POSTROUTING ACCEPT [2816:179474]
:OUTPUT ACCEPT [2816:179474]
COMMIT
# Completed on Sat Feb 25 17:25:21 2012
Przepraszam, ale jestem prawdziwym nowicjuszem, jeśli chodzi o te rzeczy i chcę po prostu zwiększyć bezpieczeństwo mojego serwera.
Odpowiedzi:
Na początku powinieneś zawsze spłukać, aby upewnić się, co już zdefiniowano… nic
Następnie ustaw domyślną zasadę łańcucha INPUT na DROP, jeśli osiągnięty jest koniec i żadna reguła nie jest dopasowana:
Aby upewnić się, że pętla zwrotna nie zostanie naruszona, należy dodać
aby zezwolić na cały ruch w lo-if i każdy ruch przychodzący dla ustanowionych połączeń. Następnie dodać każdej reguły potrzeba do swoich usług (nie zapomnij, aby otworzyć ssh jeśli trzeba go jeszcze jesteś out!) :
Trochę sztuczki, którą robię, aby uchronić siebie i innych przed przypadkowym wywierceniem otworów w zabezpieczeniach, dodam w końcu:
Ten wiersz pasuje do wszystkiego dla łańcucha INPUT, a zasady nie powinny niczego otrzymywać. zaletą tego jest to, że nawet jeśli dodasz regułę ACCEPT po jakimś czasie po zainicjowaniu zestawu reguł, nigdy nie zostanie ona sprawdzona, ponieważ wszystko zostało wcześniej usunięte. dzięki czemu masz wszystko w jednym miejscu.
W przypadku twojego pytania cała sprawa wygląda następująco:
źródło
-P
ustawia politykę w łańcuchu. W rzeczywistości nie dodaje reguły. Strategia łańcucha wskazuje akcję, która ma zostać wykonana na pakiecie, jeśli osiągnięty zostanie koniec łańcucha. Z tego powodu mądrze jest dodać swoje reguły przed ustaleniemDROP
zasad.iptables -A INPUT -j DROP
tego właśnie powodu zazwyczaj tworzę ostatnią regułę .Odpowiedź od nowicjusza takiego jak ty :-) Musiałem także zabezpieczyć mój serwer Ubuntu, nauka iptables była bólem, z którym nie mogłem się poradzić. UFW (Uncomplicated Firewall) to program, który sprawia, że konfiguracja zapory jest tak prosta, jak to możliwe.
zainstaluj ufw:
wyłącz go natychmiast (musiałem uruchomić bootowanie ratunkowe, ponieważ zostałem zablokowany z własnego logowania SSH):
ustaw „odmawiaj” jako domyślną regułę (blokuje wszystkie porty):
zezwól na potrzebne porty:
jeśli masz pewność, że powyższe zasady nie przerywają połączenia ssh, włącz ufw:
Dokumenty są dobrze napisane i zawierają więcej przykładów: https://help.ubuntu.com/community/UFW
źródło
ERROR: Bad destination address
iERROR: Bad source address