Jak skonfigurować iptables, aby niechciany port nie był zgłaszany jako filtrowany

9

Chciałbym, aby inni nie widzieli moich portów filtrowanych podczas standardowego skanowania nmap (nieuprzywilejowane). Powiedzmy, że mam otwarte następujące porty: 22, 3306, 995 i zaporę skonfigurowaną w następujący sposób:

-A INPUT -p tcp -m tcp --dport 22 -j DROP
-A INPUT -p tcp -m tcp --dport 3306 -j DROP
-A INPUT -p tcp -m tcp --dport 995 -j DROP

Jest to wynik skanowania nmap:

[+] Nmap scan report for X.X.X.X

    Host is up (0.040s latency).
    Not shown: 90 closed ports

    PORT     STATE    SERVICE
    22/tcp   filtered ssh
    995/tcp  filtered pop3s
    3306/tcp filtered mysql

Wyświetla te porty jako przefiltrowane, ponieważ mój serwer nie odpowiedział RST na SYN. Czy istnieje sposób na zmodyfikowanie tego zachowania? Na przykład: jeśli zapora sieciowa iptables blokuje port, odpowiedz RST na SYN, zamiast milczeć (nic nie odpowiadając)?

użytkownik3125731
źródło

Odpowiedzi:

18

Nie używaj narzędzia DROP, które łatwo rozpoznać jako „przefiltrowane”, jeśli wiesz, że pudełko jest gotowe. Zamiast tego możesz użyć następujących opcji, aby wysłać RST. (tak jakby usługa nasłuchiwała, ale nie przyjmuje połączeń od ciebie)

-A INPUT -p tcp -m tcp --dport 22 -j REJECT --reject-with tcp-reset

Lub w inny sposób po prostu skorzystaj z poniższych poleceń, aby port wyglądał na zamknięty. (jakby usługa nie nasłuchiwała)

-A INPUT -p tcp -m tcp --dport 22 -j REJECT
jornane
źródło
9
-A INPUT -p tcp -m tcp --dport 995 -j REJECT --reject-with tcp-reset

powinno robić to, co chcesz (odpowiedz RST).

Sven
źródło