Отключение FTP

Отключение FTP

Я настраиваю новый сервер Debian, и мне не нужен FTP, поэтому я хочу его удалить. Согласно netstat -tap, ftp ничего не слушает. Однако, когда я делаю внешнее сканирование портов (nmap), он говорит, что порт ftp открыт (21). inetd ничего не запускает, xinetd отсутствует в системе.

Что я должен делать?

результат нажатия netstat

obu1:/etc/pam.d# netstat -tap
Активные интернет-соединения (серверы и установленные)
Proto Recv-Q Send-Q Локальный адрес Внешний адрес Состояние PID/Имя программы
tcp 0 0 *:225 *:* СЛУШАТЬ 2237/sbadm
tcp6 0 0 *:ssh *:* СЛУШАТЬ 2399/sshd
tcp6 0 448 obu1.hostname.:ssh rrcs-XXX-XXX-XXX-XXX:56721 УСТАНОВЛЕНО 16639/sshd: имя пользователя

NMap из нелокального

Запуск Nmap 4.90RC1 ( http://nmap.org ) в 2009-07-13 10:47 по восточному летнему времени
Интересные порты на obu1.hostname (ipaddress):
Не показано: 972 закрытых порта, 26 отфильтрованных портов
ГОСУДАРСТВЕННАЯ ПОРТОВАЯ СЛУЖБА
21/tcp открыть ftp
22/tcp открыть ssh

Nmap выполнен: 1 IP-адрес (1 хост активен) просканирован за 3,60 секунды

решение1

Вам следует знать, что Windows XP (и, вероятно, другие версии) имеет внутреннюю оболочку для FTP-подключений (ее цель — попытаться разрешить успешное выполнение команды PORT даже за брандмауэром или маршрутизатором).

Эта оболочка перехватывает любое соединение с любым хостом на порту 21, чтобы иметь возможность отслеживать его и пытаться открыть входящий порт команды PORT, выданной клиентом.

У этой оболочки также есть побочный эффект: поскольку она перехватывает любое соединение с портом 21, она посылает сигнал о том, что соединение установлено, программному обеспечению, которое будет видеть соединение как установленное, но на самом деле соединение установлено только с внутренней оболочкой Windows.

Затем оболочка пытается открыть соединение с реальным хостом, и если время ожидания истекает, то она посылает сигнал программному обеспечению о том, что соединение потеряно. Программное обеспечение будет считать соединение потерянным.

Подводя итог, можно сказать, что программное обеспечение считает, что соединение было успешно установлено, а затем потеряно, но на самом деле соединение не установлено.

Итак, в вашем случае, что происходит: вы запускаете nmap. Nmap пытается подключиться к вашему серверу на порту 21. Оболочка Windows перехватывает соединение. Nmap «думает», что подключен к вашему серверу (но подключен только к оболочке), и сообщает, что порт открыт.

Вы можете убедиться в этом, введя в командной строке:

фтп 4.3.2.1

Вы увидите: C:>ftp 4.3.2.1

Подключено к 4.3.2.1.

Соединение прервано внешним хостом.

Вы можете попробовать любой допустимый IP-адрес, FTP всегда будет подключаться и вскоре после этого отключаться, а должно выдаваться сообщение «Время ожидания соединения истекло».

Я никогда не видел никакой документации об этом. После многих исследований я обнаружил это странное поведение, и после дополнительных исследований обнаружил, почему оно здесь.

Что ж, вывод из этого (большого) ответа таков: порт 21 вашего сервера определенно закрыт, как сообщает netstat, и nmap обманывается этим поведением.

решение2

apt-get удалить --purge ftp

Замените ftp на то, как называется пакет. Я не уверен, как именно, но, насколько мне известно, эта команда должна работать.

apt-получить чистоту

Это очистит ваш каталог var после удаления.

решение3

Используйте одну из приведенных ниже команд, чтобы узнать, какая программа на самом деле прослушивает порт 21.

netstat -lp

lsof -i :21

Это поможет вам выяснить, какой именно пакет необходимо удалить или перенастроить.

решение4

Вы уверены, что сканируете правильный IP? netstat показывает порты 225 и 22, nmap показывает 21 и 22...либо вы сканируете неправильный IP, либо между ними стоит брандмауэр, который что-то делает, либо, возможно, какие-то правила iptables на вашем сервере перенаправляют пакеты. Я бы посоветовал проверить 'iptables -L -n', чтобы убедиться, что там нет ничего, связанного с FTP.

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