Comment configurer iptables pour qu'un port indésirable ne soit pas signalé comme filtré

9

Je voudrais empêcher les autres de voir mes ports filtrés dans l'analyse standard nmap (sans privilèges). Disons que j'ai les ports suivants ouverts: 22, 3306, 995 et un pare-feu configuré comme ceci:

-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

C'est le résultat d'un scan 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

Il affiche ces ports comme filtrés, car mon serveur n'a pas répondu RST pour SYN. Existe-t-il un moyen de modifier ce comportement? Par exemple: si le pare-feu iptables bloque un port, répondez RST pour SYN, au lieu de rester silencieux (ne rien répondre)?

user3125731
la source

Réponses:

18

N'utilisez pas DROP, qui est facilement identifié comme "filtré" si vous savez que la boîte est en place. Au lieu de cela, vous pouvez utiliser ce qui suit pour envoyer une TVD. (comme s'il y avait un service d'écoute, mais il n'acceptait pas les connexions de votre part)

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

Ou sinon, utilisez simplement ce qui suit pour rendre le port fermé. (comme s'il n'y avait aucun service à l'écouter)

-A INPUT -p tcp -m tcp --dport 22 -j REJECT
jornane
la source
9
-A INPUT -p tcp -m tcp --dport 995 -j REJECT --reject-with tcp-reset

devrait faire ce que vous voulez (répondre avec RST).

Sven
la source