Linux глазами хакера
Шрифт:
5.1.4. lsof
Позволяет просмотреть открытые файлы. Команда достаточно мощная и имеет множество параметров. Одна из интересных особенностей — возможность просмотра открытых портов, если указать ключ
Я советую сейчас остановиться и изучить документацию по этой команде, предоставляемую утилитой
5.1.5. Telnet
Мощность Linux и его текстовой консоли заключается в том, что вы можете выполнять все действия не только
В Windows очень мало утилит, способных работать в командной строке, поэтому в этой ОС необходим (и широко используется) графический режим. Да и сама командная строка в Windows обладает незначительными возможностями. Для решения этой проблемы был создан терминальный доступ, который позволяет на клиентской машине видеть экран сервера и работать с ним так, как будто вы сидите непосредственно за сервером. Но этот метод отнимает слишком много трафика и очень неудобен на каналах медленной связи.
Командная строка Linux по сравнению с графическим режимом любой ОС вообще не расходует трафик и может приемлемо работать даже по самым медленным каналам, например, по соединениям GPRS сотового телефона или домашнего модема, где скорость достаточно мала.
Как вы уже поняли, программное обеспечение Telnet состоит из серверной части и клиентской. При запуске Telnet-сервера открывается 23 порт, к которому можно подключиться с клиентского компьютера и выполнять любые команды, которые позволяет сервер (в данном случае Telnet-сервер).
Но это не все, с помощью Telnet-клиента можно подсоединяться и к другим серверам. Например, можно подключиться на порт 25 и прямо из командной строки отправить E-mail-сообщение, исполняя команды SMTP-сервера.
Если у вас есть установленный FTP-сервер, то уже сейчас вы можете выполнить команду:
В данном случае первый параметр — это
Я рекомендую применять Telnet-клиент только для отладки различных сервисов, но не для управления. Поэтому на всех машинах отключайте Telnet. Он небезопасен, потому что передает данные в открытом виде, а все попытки сделать Telnet защищенным заканчивались неудачно и не приводили к желаемому результату. Один из возможных вариантов использования — через канал шифрования OpenSSL (от Secure Socket Layer, протокол защищенных сокетов). Но большую популярность получило управление сервером через протокол SSH (OpenSSH, Open Secure Shell), который мы рассмотрим позже, в разд 5.3.
Таким образом, Telnet-клиент в системе необходим, a Telnet-сервер, если он у вас установлен, следует срочно удалить и забыть как страшный сон.
Если вы все же решили использовать Telnet-сервер, то это необходимо делать только через протокол для безопасной связи по сети с применением открытых и секретных ключей (см. разд. 5.2). В этом случае весь трафик будет шифроваться, но надо принять еще некоторые меры для повышения безопасности.
Если
у вас установлен Telnet-сервер, то попробуйте сейчас подключиться к нему, используя командуНичего страшного не замечаете? А я вижу подробную информацию о дистрибутиве и ядре. И все это становится известным еще до регистрации любому посетителю. Если хакер увидит открытый 23 порт, то ему уже не надо будет мучиться для выяснения, какая у вас ОС и версия ядра, достаточно подключиться к Telnet, и проблема решена.
Излишняя болтливость Telnet — это самая большая дыра, с которой надо бороться в первую очередь. Приветствие, которое вы можете видеть при подключении, находится в файлах /etc/issue и /etc/issue.net. Измените текст сообщения, например, следующим образом:
Здесь
У меня установлен клон Red Hat дистрибутива с ядром 2.4.18-15asp, а хакер будет думать, что я использую Debian и старое ядро 2.4.4.
Проблема в том, что после перезагрузки содержимое файлов восстановится и Telnet снова в приветствии покажет всю информацию о системе. Чтобы этого не произошло, после изменения текста приветствия можно установить на файлы атрибут
5.1.6. r-команды
В Linux есть так называемые r-команды:
Все r-команды устарели и небезопасны, потому что позволяют подключаться к системе удаленно и при этом передают данные без шифрования.
5.2. Шифрование
Во времена рождения Интернета и первых сетевых протоколов еще не задумывались о безопасности. Этот вопрос стал актуальным только тогда, когда начали происходить реальные взломы. Одним из самых больших упущений было то, что в большинстве протоколов данные по сети передаются в открытом виде, а сетевое оборудование позволяет прослушивать сетевой трафик.