Почему nmap сообщает, что эти порты Samba открыты?

Почему nmap сообщает, что эти порты Samba открыты?

У меня есть сервер AWS, работающий под управлением Linux. Когда я делаю netstat -lntpс самой машины, он показывает мне несколько открытых портов (как и ожидалось), но не 445 или 139. Это имеет смысл, так как я никогда не настраивал samba на этой машине. Более того, когда я перечисляю запущенные процессы и grep для smbили samba, он не показывает ничего запущенного.

Просматривая правила брандмауэра для сервера, я вижу, что он разрешает только входящий трафик на портах 80 и 22. Он разрешает исходящий трафик на всех портах во все пункты назначения, но я не думаю, что это имеет значение.

Проблема в том, что когда я делаю nmapизвне сети, он показывает, что порты 139 и 445 закрыты. Почему так? Я понимаю, что «закрыт» означает, что брандмауэр пропускает пакеты на сервер, но на порту ничего не прослушивается. Почему брандмауэр пропускает трафик?

решение1

Я понимаю, что «закрыто» означает, что брандмауэр пропускает пакеты на сервер, но на порту ничего не прослушивается. Почему брандмауэр пропускает трафик?

«Закрыто» означает, что nmap получил пакет TCP RST, что на самом деле является ответом IP-хостов, когда порт никто не прослушивает.

Однако nmap не знает, пришел ли этот пакет сброса от реального хоста или он былподделано брандмауэромпо ходу дела. (Многие брандмауэры действительно настроены на явное отклонение попыток подключения, а не на их тихое игнорирование; это позволяет избежать длительных тайм-аутов на стороне клиента.)

  • Возможно, это использует брандмауэр вашего сервера reject with tcp-resetили что-то подобное.

  • Также может быть, что сеть, которую вы сканируете,отнастроен на блокировку всех исходящих SMB-подключений в качестве меры безопасности (например, чтобы предотвратить передачу рабочих станций NTLM на вредоносные серверы) и генерирует «RST».

  • Может быть даже, чтоИнтернет-провайдер, с которого вы сканируете, или интернет-провайдер, у которого размещен ваш сервер, блокирует SMB-соединения в своей глобальной сети, чтобы предотвратить возможное распространение вредоносного ПО (например, старого червя Conficker).

Если вы посмотрите на пакеты с помощью tcpdump, RST, поддельный промежуточным узлом, конечно, будет невидим для сервера (потому что сервер его не отправлял), и такие пакетымощьимеют подозрительно отличающийся TTL от реальных ответов, которые генерирует сервер.


Используйте nmap --reason, чтобы увидеть, почему он показывает определенное состояние. Помните, что, хотя nmap считает TCP RST указателем "закрыто" (поскольку хост не принимает соединения), некоторые другие инструменты на самом деле называют его "открытым" (думая, что брандмауэр пропускает пакеты).

Связанный контент