Чтение онлайн

ЖАНРЫ

Linux глазами хакера

Флёнов Михаил Евгеньевич

Шрифт:

10.7.3. Рассылка файлов

С помощью FTP-сервера можно рассылать E-mail-сообщения. Для этого создайте на сервере текстовый файл со следующим содержимым:

HALO mailserver.com

MAIL FROM: name@server.com

RCPT TO: recipient@server.com

DATA

Текст письма

.

Рассмотрим, что означают эти строки, которые на самом деле являются командами SMTP-сервера:

□ 

HALO mailserver.com
строка приветствия SMTP-сервера. Параметр maiiserver.com необходимо заменить на реальное имя сервера;

□ 

MAIL from: name@server.com
— адрес отправителя письма;

□ 

RCPT ТО: recipient@server.com
— получатель письма;

□ 

DATA
— после команды идет содержимое письма.

Последняя строка в файле должна состоять только из одной точки, потому что SMTP-сервер символы <CR> и <LF> (конец строки и перевод каретки) воспринимает как конец письма. Когда вы нажимаете клавишу <Enter>, то в ОС Windows создается как раз такая пара символов. ОС Linux ограничивается только переводом каретки. Для нас главное, чтобы в тексте был переход на новую строку, а какой он, — не имеет значения, потому что файл будет передаваться в ASCII-режиме.

Этот файл загружаем на FTP-сервер и выполняем следующие две команды:

PORT 192,168,1,1,25

RETR filename

В первой строке мы просим сервер соединиться с компьютером, имеющим адрес 192.168.1.1. Для этого используется FTP-команда port, которой необходимо передать 5 чисел: первые 4 — это IP-адрес компьютера, последний параметр определяет порт. С помощью этой директивы можно производить сканирование портов на сервере вручную, но в данном случае у нас другая цель.

Вторая команда посылает на этот сервер файл с именем filename, который содержит SMTP-команды. Для SMTP-сервера все выглядит так, как будто FTP-сервер направляет ему директивы для отправки письма, которое он и отошлет. А получатель не сможет определить источник. Все параметры приведут его только к FTP-серверу. Получается, что злоумышленник может абсолютно анонимно отправить письмо, и его никто не найдет.

Таким способом могут рассылаться вирусы, троянские программы или даже спам. Есть еще один вариант использования почтовых сообщений — поместить на FTP-сервер большой файл и заставить бесконечно передавать его на SMTP-сервер. Если запустить несколько таких процессов, то при слабеньком канале SMTP-сервера получится полноценная DoS-атака.

Защититься от этой атаки на стороне SMTP-сервера можно только с введением обязательной авторизации. В этом случае хакеру необходимо будет знать реальные параметры учетной записи, которой разрешен доступ. На стороне FTP-сервера также защищаемся с помощью аутентификации. Никаких анонимных подключений быть не должно, тем более с правами на запись файлов.

10.8. Дополнительная информация

Я не стал описывать все директивы конфигурационных файлов, которые доступны в wu-ftp-сервере. Их слишком много, и мы остановились только на основных.

Для получения дополнительной информации можно выполнить команду

man файл
.

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

Помимо этого, можно почитать документы из директории /usr/share/doc/wu-ftpd-Х.X.Х,

где X.Х.X — это номер версии установленного у вас wu-ftp-сервера.

Все изменения, которые вносятся в конфигурационный файл, вступают в силу немедленно. Единственное ограничение — клиенты должны заново подключиться к серверу, иначе они будут продолжать работать со старыми настройками.

При администрировании FTP-сервера вам помогут следующие команды:

□ 

ftpd
— позволяет запустить сервер с особыми параметрами. Атрибутов очень много, поэтому для получения подробной информации о них можно обратиться к документации (выполнить команду man ftpd). Лично мне еще ни разу не приходилось прибегать к использованию ключей, потому что единожды настроив конфигурацию, сервер работает стабильно;

□ 

ftprestart
— используется для перезапуска FTP-сервера;

□ 

ftpshut
— корректно завершает работу сервера. Например, если вы хотите обновить программное обеспечение, то не стоит отключать сервис аварийно. Используйте эту команду со следующими ключами:

 • 

– l n
— не принимать новые соединения за
n
минут до завершения работы FTP-сервера. Укажите приемлемое время, чтобы клиенты успели корректно завершить работу с сервером;

 • 

– d n
— разорвать соединения за n минут до завершения работы FTP-сервера. Я рекомендую установить разрыв непосредственно перед завершением или указать 1 минуту;

 • 

время
— задает момент завершения работы FTP-сервера и схож с аналогичным параметром в команде
shutdown
для Linux. Вы можете указать вместо времени ключевое слово now, чтобы завершить работу немедленно, но я рекомендую использовать ключ
+n
(где
n
— это количество минут до завершения работы) или указать точное время в формате HHMM (часы — минуты);

□ 

ftpcount
— выводит количество подключенных по FTP пользователей. Когда в системе происходит что-то неладное, то я всегда проверяю, есть ли соединения клиентов по FTP. Если да, то следующим этапом нужно узнать, кто подключен;

□ 

ftpwho
— возвращает список подключенных к FTP-серверу клиентов с указанием учетной записи, использовавшейся при подключении. Иногда одного взгляда достаточно, чтобы определить соединение злоумышленника. Например, имеется учетная запись человека, который не может быть в данное время на FTP;

□ 

ckconfig
— проверяет конфигурацию FTP-сервера и выводит отчет для каждого конфигурационного файла wu-ftp-сервера.

10.9. Резюме

Протокол FTP и серверы различных производителей за время своего существования имели множество проблем с безопасностью. Если сложить ошибки FTP и программы Sendmail, то результат может затмить даже потери от внедрения вирусов.

Главная проблема протокола FTP заключается в том, что он создавался как дружественный и удобный для пользователя. Вторая проблема — использование двух портов. Авторизация происходит только при подключении на 21 порт, а работа с каналом для передачи данных происходит без какого-либо подтверждения подлинности клиента.

Поделиться с друзьями: