В данном случае первый параметр — это localhost
, потому что я подразумеваю, что вы подключаетесь к локальному FTP-серверу. Если вы хотите работать с удаленным компьютером, то укажите его адрес. В качестве второго параметра указывается номер порта. Сервер FTP принимает управляющие команды на 21 порту, поэтому я указал это число.
Я рекомендую применять Telnet-клиент только для отладки различных сервисов, но не для управления. Поэтому на всех машинах отключайте Telnet. Он небезопасен, потому что передает данные в открытом виде, а все попытки сделать Telnet защищенным заканчивались неудачно и не приводили к желаемому результату. Один из возможных вариантов использования — через канал шифрования OpenSSL (от Secure Socket Layer, протокол защищенных сокетов). Но большую популярность получило управление сервером через протокол SSH (OpenSSH, Open Secure Shell), который мы рассмотрим позже, в
Таким образом, Telnet-клиент в системе необходим, a Telnet-сервер, если он у вас установлен, следует срочно удалить и забыть как страшный сон.
Если вы все же решили использовать Telnet-сервер, то это необходимо делать только через протокол для безопасной связи по сети с применением открытых и секретных ключей (
Если у вас установлен Telnet-сервер, то попробуйте сейчас подключиться к нему, используя команду telnet localhost
. Перед вами появятся следующие сообщения:
Trying 127.0.0.1
Connected to localhost
Escape character is '^]'.
ASPLinux release 7.3 (Vostok)
Kernel 2.4.18-15asp on an i686
Login:
Ничего страшного не замечаете? А я вижу подробную информацию о дистрибутиве и ядре. И все это становится известным еще до регистрации любому посетителю. Если хакер увидит открытый 23 порт, то ему уже не надо будет мучиться для выяснения, какая у вас ОС и версия ядра, достаточно подключиться к Telnet, и проблема решена.
Излишняя болтливость Telnet — это самая большая дыра, с которой надо бороться в первую очередь. Приветствие, которое вы можете видеть при подключении, находится в файлах /etc/issue и /etc/issue.net. Измените текст сообщения, например, следующим образом:
echo Текст > /etc/issue
echo Текст > /etc/issue.net
Здесь Текст
— это новое приветствие. Можно указать ложную версию ядра, чтобы запутать хакера:
echo Debian Linux > /etc/issue
echo Kernel 2.4.4 on an i686 > /etc/issue.net;
У меня установлен клон Red Hat дистрибутива с ядром 2.4.18-15asp, а хакер будет думать, что я использую Debian и старое ядро 2.4.4.
Проблема в том, что после перезагрузки содержимое файлов восстановится и Telnet снова в приветствии покажет всю информацию о системе. Чтобы этого не произошло, после изменения текста приветствия можно установить на файлы атрибут -i
, который запрещает любые изменения:
chattr +i /etc/issue
chattr +i /etc/issue.net
5.1.6. r-команды
В Linux есть так называемые r-команды: rlogin
, rsh
, rcp
, rsync
, rdist
. Мы не будем их рассматривать, потому что все они создают большие проблемы в безопасности. Если Telnet-клиент нужен для тестирования сервисов, то эти команды я включил в обзор только для того, чтобы вы удалили их из системы, и никогда не появлялся соблазн их использовать, и чтобы ими не смог воспользоваться хакер.
Все r-команды устарели и небезопасны, потому что позволяют подключаться к системе удаленно и при этом передают данные без шифрования.
5.2. Шифрование
Во времена рождения Интернета и первых сетевых протоколов еще не задумывались о безопасности. Этот вопрос стал актуальным только тогда, когда начали происходить реальные взломы. Одним из самых больших упущений было то, что в большинстве протоколов данные по сети передаются в открытом виде, а сетевое оборудование позволяет прослушивать сетевой трафик.
Как мы уже говорили в
Рис. 5.2. Схема соединения компьютеров "Общая шина"