Neden nmap tarafından rapor edilen bazı portlar diğerlerine göre filtrelenmiyor?


38

Kullandığım duvarı oldukça basit olmalıdır bir sunucu tarıyorum iptables : Varsayılan her şey tarafından yanında düşürülür RELATEDve ESTABLISHEDpaketler. İzin verilen tek NEWpaket türü, 22 ve 80 numaralı bağlantı noktalarındaki TCP paketleridir ve hepsi bu (bu sunucuda HTTPS yok).

Nmap'ın ilk 2048 portundaki sonucu beklediğim gibi 22 ve 80'e kadar açık. Ancak, birkaç bağlantı noktası "filtrelenmiş" olarak görünür.

Sorum şu: neden 21, 25 ve 1863 numaralı bağlantı noktaları "filtrelenmiş" olarak görünüyor ve diğer 2043 numaralı bağlantı noktaları da filtrelenmiş olarak görünmüyor?

Sadece 22 ve 80’leri “açık” olarak görmeyi umuyordum.

21,25 ve 1863'ü "filtre uygulanmış" olarak görmek normalse, neden diğer tüm bağlantı noktaları da "filtre uygulanmış" olarak görünmüyor ?!

İşte nmap çıktısı:

# nmap -PN 94.xx.yy.zz -p1-2048

Starting Nmap 6.00 ( http://nmap.org ) at 2014-06-12 ...
Nmap scan report for ksXXXXXX.kimsufi.com (94.xx.yy.zz)
Host is up (0.0023s latency).
Not shown: 2043 closed ports
PORT     STATE    SERVICE
21/tcp   filtered ftp
22/tcp   open     ssh
25/tcp   filtered smtp
80/tcp   open     http
1863/tcp filtered msnp

Neden 2043 kapalı bağlantı noktama sahip olduğumu anlamıyorum:

Not shown: 2043 closed ports

ve 2046 kapalı bağlantı noktaları.

İşte sunucuda başlatılan bir lsof :

# lsof -i -n
COMMAND   PID USER   FD   TYPE   DEVICE SIZE NODE NAME
named    3789 bind   20u  IPv4     7802       TCP 127.0.0.1:domain (LISTEN)
named    3789 bind   21u  IPv4     7803       TCP 127.0.0.1:953 (LISTEN)
named    3789 bind  512u  IPv4     7801       UDP 127.0.0.1:domain 
sshd     3804 root    3u  IPv4     7830       TCP *:ssh (LISTEN)
sshd     5408 root    3r  IPv4 96926113       TCP 94.xx.yy.zz:ssh->aa.bb.cc.dd:37516 (ESTABLISHED)
sshd     5411    b    3u  IPv4 96926113       TCP 94.xx.yy.zz:ssh->aa.bb.cc.dd:37516 (ESTABLISHED)
java    16589    t   42u  IPv4 88842753       TCP *:http-alt (LISTEN)
java    16589    t   50u  IPv4 88842759       TCP *:8009 (LISTEN)
java    16589    t   51u  IPv4 88842762       TCP 127.0.0.1:8005 (LISTEN)

(Java / Tomcat’in 8009 numaralı bağlantı noktasını dinlediğini ancak bu bağlantı noktasının güvenlik duvarı tarafından DROPped olduğunu unutmayın)


Diğer ana bilgisayarları taradığınızda aynı sonuçları alıyor musunuz?
Creek,

@Creek: ah, az önce slashdot.org 'u denedi ve 80 ve 443'ü açık ancak 25 / smtp'yi de süzüldü. Ama sonra bana aynı makineyi ev makinemden değil, sahip olduğum başka bir sunucudan eşleştirmeye çalışmamı sağladın: filtrelenmiş 3 bağlantı noktasını alamadım, ancak 53 / domain / kapalı , 443 / https / kapalı ve 953 / rndc / kapalı . (her iki sunucu da OVH / Fransa’da barındırılıyor).
Cedric Martin

1
Gerçekten ne nmapyaptığını görmek istiyorsanız , kök ayrıcalıkları kullanarak, SYN taramasını ( -sS) ve --packet-trace. Ayrıca birkaç dakikanızı ayırın ve man sayfasını okuyun, orada mücevherlerin ne olduğuna şaşıracaksınız
Creek

Ayrıca geçici olarak bu portları açar ve paketlerin kendilerine ulaşıp ulaşmadığını görürdüm.
Mark Hurd

Yanıtlar:


25

Nmap'tan 'Filtered port' ifadesi tarama yönteminize göre farklılık gösterir.

Standart tarama (ayrıcalıklı kullanıcı değilse TCP Taraması veya süper kullanıcı ise Yarı Açık taraması -sS), TCP protokolüne dayanır. (adlı 3 yollu hanshake)

  • Bir sunucu (siz) bir SYN yayınlar, eğer sunucu SYN / ACK’ya cevap verirse: bu portun açık olduğu anlamına gelir !

  • Eğer sunucu RST'ye cevap verirse, bir SYN yayınlarsınız: portun yakın olduğu anlamına gelir !

  • Sunucu yanıt vermiyorsa veya ICMP hatasıyla yanıt veriyorsa, bir SYN yayınlarsınız: bağlantı noktası filtrelenmiş demektir . Muhtemelen bir IDS / durumsal güvenlik duvarı isteğinizi engeller)

Limanın gerçek durumunu görmek için şunları yapabilirsiniz:

Yaratıcısı Fyodor tarafından yazılmış mükemmel " Nmap Network Discovery " kitabı, bunu çok iyi açıklıyor. Alıntı yaparım

süzüldü: Nmap, bağlantı noktasının açık olup olmadığını belirleyemiyor, çünkü paket filtreleme, probların bağlantı noktasına ulaşmasını engelliyor. Filtreleme özel bir güvenlik duvarı cihazından, yönlendirici kurallarından veya ana bilgisayar tabanlı güvenlik duvarı yazılımından olabilir. Bu limanlar saldırganları rahatsız ediyor, çünkü çok az bilgi sağlıyorlar. Bazen, tip 3 kod 13 (hedef ulaşılamaz: iletişim idari olarak yasaklanmış) gibi ICMP hata mesajlarıyla yanıt verirler, ancak yanıt vermeden probları basitçe düşüren filtreler çok daha yaygındır. Bu, Nmap'ı, filtreleme yerine ağın tıkanması nedeniyle sonda düşmesi durumunda birkaç kez yeniden denemeye zorlar. Bu tür bir filtreleme, taramaları önemli ölçüde yavaşlatır.

open | filter: Nmap bir portun açık veya filtreli olup olmadığını belirleyemediğinde portları bu duruma getirir. Bu, açık portların cevap vermediği tarama tipleri için oluşur. Tepki eksikliği, bir paket filtresinin probu veya ortaya çıkardığı herhangi bir cevabı düşürdüğü anlamına da gelebilir. Nmap, portun açık mı yoksa filtre mi olduğundan emin değil. UDP, IP protokolü, FIN, NULL ve Xmas taramaları portları bu şekilde sınıflandırır.

closed | filter: Bu durum Nmap bir portun kapalı mı yoksa filtreli mi olduğunu belirleyemediğinde kullanılır. Yalnızca Bölüm 5.10, "TCP Boşta Tarama (-sl) bölümünde açıklanan IP ID Boşta taraması için kullanılır.


Peki, 22 numaralı bağlantı noktasını nasıl temizlerim? Sanırım Google Alan Adlarını kullanıyorum ...
IgorGanapolsky

"Süzgeç"? Güvenlik duvarında 22'ye giden trafiği engellemiyorsunuz, bu nedenle filtrelenmeyecek ... nmap sondasının cevabı olarak "açık" veya "yakın" olur
Florian Bidabe

Ne tarıyorsun?
Florian Bidabe

Bu komutu kullanıyorum: sudo nmap -OG - -T4 -A -p22 -v pi.eazyigz.com | grep ssh
IgorGanapolsky

1
"-T4" gerekli değildir, sonda ile ilgili "-A" ... da belirtilmiş, sudo nmap bir Syn taramasının kullanıldığını belirtir (-sS). "-A", "-T4" + "- sV" + "- O" öğelerinin daha kısa bir sürümüdür. Hizmet algılama (-sV), SSH sunucusunu denetlemede başarısız olursa, bağlantı noktası muhtemelen kapalıdır (ssh dinlemesi yoktur), aksi takdirde, istemcinizle sunucunuz arasında probu kaplayan ve paketleri (ana bilgisayar güvenlik duvarı, bir IDS, veya hatalı ağ cihazları)
Florian Bidabe

10

neden 21, 25 ve 1863 numaralı bağlantı noktaları "filtrelenmiş" olarak görünüyor ve diğer 2043 numaralı bağlantı noktaları filtre uygulanmış olarak görünmüyor?

Çünkü ISS'nizde, yönlendiricinizde, ağ yöneticiniz, aralarındaki herhangi bir şey veya kendiniz filtreliyorsunuz. Bu bağlantı noktalarının çok kötü bir geçmişi var, 1863, Microsoft anlık ileti protokolü (MSN ve arkadaşlar) tarafından kullanılan ve belirli bir kural koyduğuna (veya alamayacağınıza) inandığım bağlantı noktası. SMTP, ISS'nizin sorumlusu gibi görünüyor ve onlara ne olabileceği hakkında hiçbir fikrim olmadığı için FTP beni tamamen şaşırttı.


1
açıklama için teşekkürler! Yani temelde bir eşdeğer var demektir "süzülmüş" iptables 's REJECT (ISS, yönlendirici, vs.) bir yere? ISS / yönlendirici ya da DROPping yerine REJECTING (temizleyici olduğu için)? Bağlantı noktası 25 ile ilgili olarak: slashdot.org için de benim için filtrelendi. (Onu ev bağlantımdan eşleştirdiğimde, ancak özel sunucumdan eşleştirdiğimde değil).
Cedric Martin,

6
@CedricMartin, tamamen geri aldın. "Filtrelenmiş", paketin düştüğü anlamına gelir (ne olursa olsun cevap yok), "kapalı" paketin reddedildiği anlamına gelir (bir ICMP "erişilemez" bağlantı noktası "yanıt gönderilir).
Mark

@Mark: o zaman geriye atarsam orijinal sorum duruyor: sunucumda, iptables kullanarak , 22 ve 80 numaralı bağlantı noktalarının dışındaki her şeyi bırakıyorum . Nasıl sadece 3 bağlantı noktası "filtrelenmiş" gibi görünüyor?
Cedric Martin

@CedricMartin sorunuzu düzenleyin ve iptables kurallarınızı ekleyin.
Braiam

1

Varsayılan olarak, Nmap her protokol için yalnızca en yaygın 1.000 bağlantı noktasını tarar (tcp, udp). Eğer portunuz bunun dışında ise, taramayacaktır ve bu yüzden rapor etmeyecektir. Ancak, taramak istediğiniz portları -p seçeneğiyle belirleyebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.