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

ЖАНРЫ

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

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

Шрифт:

8.4.4. Лишние команды

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

0 PrivacyOptions=authwarnings

0 PrivacyOptions=noexpn

0 PrivacyOptions=novrfy

Можно также в одной команде перечислить все параметры через запятую:

0 PrivacyOptions=authwarnings,noexpn,novrfy

Наиболее

опасной может оказаться для сервера опция VRFY, которая позволяет проверить существование почтового ящика. Именно ее запрещает третья строка в данном примере.

Вторая строка устанавливает параметр

noexpn
, запрещающий команду EXPN, которая позволяет по почтовому псевдониму определить E-mail-адрес или даже имя пользователя. С помощью этой директивы хакеры могут собирать себе списки для рассылки спама. Не стоит давать в руки злоумышленника такую информацию.

8.4.5. Выполнение внешних команд

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

Чтобы запретить выполнение системных команд, необходимо заставить sendmal работать через безопасный интерпретатор команд. Для этого специально был разработан smrsh. Чтобы почтовый сервис использовал именно его, проще всего добавить следующую строку в файл sendmail.mc:

FEATURE('smrsh', '\bin\smrsh')

В данном случае в скобках указано два параметра: имя командного интерпретатора и каталог, в котором он располагается. Убедитесь, что в вашей системе именно такой путь, или измените параметр.

По умолчанию интерпретатор smrsh выполняет команды из каталога /usr/adm/sm.bin. Программы из других директорий запускать невозможно. Если в каталоге /usr/admsm.bin находятся только безопасные программы, то ваша система будет менее уязвима.

8.4.6. Доверенные пользователи

В сервисе sendmail можно создать список пользователей, которым вы доверяете отправлять сообщения без каких-либо предупреждений. Этот перечень находится в файле /etc/mail/trusted-users. Я не рекомендую вам здесь указывать реальных пользователей.

Но файл все же может быть полезен. В него можно добавить пользователя apache, чтобы проще было рассылать письма из Web-сценариев.

8.4.7. Отказ от обслуживания

Почтовые серверы довольно часто подвергаются атакам типа DoS, потому что они должны принимать соединения для обслуживаемых почтовых ящиков от любых пользователей. Таким образом, подключение на 25 и 110 порты, чаще всего, общедоступны.

Для защиты сервера от DoS-атак со стороны хакера нам помогут следующие параметры сервиса sendmail:

□ 

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

□ 

ConnectionRateThrottle
— максимальное количество открываемых соединений в секунду. По умолчанию этот параметр равен 3, и повышать его без особой надобности не стоит, только если вы уверены в производительности сервера.

8.5. Почтовая бомбардировка

С почтовой бомбардировкой я встретился первый раз почти 10 лет назад. Однажды я в чате оставил свой E-mail (до этого я никогда не светил своим адресом), и как назло в этот момент там сидел начинающий хакер, который просто ради шутки забросал меня почтовыми бомбами.

Что такое почтовая бомба? Это простое письмо с бесполезным содержимым любого размера. Хакеры забрасывают свою жертву такими посланиями, чтобы переполнить ящик и лишить его возможности принимать другие сообщения. Классическая задача DoS, только в отношении почтового ящика.

На первый взгляд, необходимо просто увеличить размер ящика или убрать лимит вовсе. Это самое неверное решение, поэтому забудьте про него. Если ящик не будет иметь предела, то хакер сможет произвести атаку DoS на сервер.

Почтовые сообщения — единственный способ закачать информацию на сервер. Когда злоумышленник отправляет E-mail-письмо, оно сохраняется там, пока не будет скачано пользователем. Слишком большое количество информации займет все пространство на жестком диске, и сервер больше не сможет принимать сообщения ни на один из почтовых ящиков.

Самая худшая ситуация при почтовой бомбардировке может возникнуть, когда почтовые ящики располагаются в директории по умолчанию (раздел /var). Если этот раздел будет переполнен, то сервер не сможет больше записывать в него информацию. В разделе /var хранятся еще и журналы безопасности. Если они не смогут пополняться, то сервер окажется полностью недоступным.

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

От почтовой бомбардировки защититься нельзя, но можно попытаться усложнить задачу злоумышленника. Для этого нам понадобятся параметры, которые мы рассматривали в разд. 8.4.7. Помимо этого, желательно ограничить максимальный размер сообщения с помощью параметра

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

8.6. Спам

Проблема XXI информационного века — рассылка нежелательной корреспонденции. Это действительно болезнь, с которой надо бороться, а существующие методы пока не приносят необходимого результата, и спам отнимает большую часть нашего трафика.

Один из способов борьбы с нежелательной корреспонденцией — запрет серверов, с которых приходит спам. Но те, кто занимаются такими рассылками, находят все новые пути для обхода барьеров, в том числе использование общедоступных или взломанных в Интернете серверов.

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