Если я просканирую свой сервер с помощью nmap, он показывает, что открыт 21 порт. Но когда я вхожу на этот сервер и запускаю netstat, я ничего не вижу.
$ nmap -sT server Starting Nmap 4.76 ( http://nmap.org ) at 2009-06-24 11:54 MSD Interesting ports on server (x.x.x.x): Not shown: 994 filtered ports PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh ... Nmap done: 1 IP address (1 host up) scanned in 7.97 seconds
$ netstat --listen --tcp --numeric
Как это может быть? Может это проблема безопасности?
UPD: вывод tcpdump при подключении к nmap
13:13:02.982805 IP 10.19.10.2.51983 > server.ftp: S 767068541:767068541(0) win 5840 13:13:04.096705 IP 10.19.10.2.52000 > server.ftp: S 792080356:792080356(0) win 5840 13:13:04.131169 IP server.ftp > 10.19.10.2.52000: S 3312178661:3312178661(0) ack 792080357 win 32768 13:13:04.131346 IP 10.19.10.2.52000 > server.ftp: . ack 1 win 46 13:13:04.131737 IP 10.19.10.2.52000 > server.ftp: R 1:1(0) ack 1 win 46
Вы находитесь в том же сегменте, что и рассматриваемый сервер? Сканирование портов через маршрутизаторы может дать ложные результаты.
Как упоминалось ранее, я публикую здесь, чтобы повторить; это обычное дело, если вы используете nmap из-за маршрутизатора с NAT. Вы используете NMAP из-за домашнего ADSL или кабельного модема? Я постоянно это вижу с помощью Apple TimeCapsule. Это может вас шокировать, когда вы впервые это увидите :)
Андрей
Из tcpdump ясно видно, что кто-то отвечает. По вашим просьбам.
Ты можешь попробовать:
Кроме того, попробуйте nc -l tcp 21, чтобы проверить, можете ли вы прослушивать порт 21. Если вы не можете этого сделать и в netstat ничего не отображается, возможно, вы скомпрометированы. Попробуйте rootcheck, чтобы увидеть, найдет ли он что-нибудь (поскольку chkrootkit ничего не нашел: http://www.ossec.net/rootcheck ).
Взгляните на этот ответ:
Странно, попробуйте запустить tcpdump при подключении к нему с помощью nmap, который должен показать, действительно ли трафик доходит до машины.
Может на этой машине есть какой нибудь NAT или любой другой роутер в пути? Проверьте вывод iptables-save (если это Linux)
Ваш DNS работает? Попробуйте сопоставление по IP вместо имени.
Ваш сервер, вероятно, заражен руткитом
Это может быть проблема безопасности. Если на вашем сервере был установлен руткит, ядро сообщит о том, что ядро сообщает об этом руткитом, и, следовательно, покажет несоответствие с внешним сканированием.
Может быть интересно посмотреть, действительно ли вы можете подключиться к серверу по ftp. Вы можете использовать telnet или netcat и rfc959 чтобы увидеть, получаете ли вы какие-либо ответы низкого уровня, которые могут указать вам, где и что отвечает на этом порту.
Можно ли что-нибудь в /etc/inetd.conf или xinetd.conf открыть этот порт?
Попробуйте создать с помощью nmap другой адрес в той же сети, который, как вы знаете, не используется; Если это также показывает, что порт открыт, значит, кто-то использует NAT для вашего трафика в другом месте.