Cara mengkonfigurasi iptables sehingga port yang tidak diinginkan tidak dilaporkan difilter

9

Saya ingin menghentikan orang lain melihat port saya difilter dalam pemindaian standar nmap (unprivileged). Katakanlah saya memiliki port berikut terbuka: 22, 3306, 995 dan firewall dikonfigurasi seperti ini:

-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

Ini adalah hasil dari pemindaian 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

Ini menampilkan port ini sebagai difilter, karena server saya tidak membalas RST untuk SYN. Apakah ada cara untuk mengubah perilaku ini? Misalnya: jika firewall iptables memblokir port, balas RST untuk SYN, alih-alih tetap diam (tidak membalas apa pun)?

pengguna3125731
sumber

Jawaban:

18

Jangan gunakan DROP, itu mudah diidentifikasi sebagai "difilter" jika Anda tahu kotaknya habis. Sebagai gantinya, Anda dapat menggunakan yang berikut ini untuk mengirim RST. (seolah-olah ada layanan yang mendengarkan, tetapi tidak menerima koneksi dari Anda)

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

Atau sebaliknya gunakan saja yang berikut untuk membuat port terlihat tertutup. (seolah-olah tidak ada layanan mendengarkannya)

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

harus melakukan apa yang Anda inginkan (balas dengan RST).

Sven
sumber