On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru








 

Безопасность

  Sendmail, конечно, популярный транспортный агент системы электронной почты, но... Ни для кого не секрет, что практически каждые несколько месяцев CERT (Computer Emergency Response Team) публикует очередной список дыр в безопасности sendmail. Можно не без оснований предполагать, что этот процесс будет продолжаться еще достаточно долго...
Sendmail характерен тем, что практически любой незначительный баг в нескольких десятках тысяч строк кода несет в себе серьезный риск с точки зрения безопасности. Qmail разрабатывалась как серьезная альтернатива sendmail, лишенная подобного удовольствия.

  Автор qmail, Д.Бернстейн, в марте 1997 года установил премию в размере $500 тому, кто первым предоставит сведения о дырах в безопасности в последних версиях qmail. До сегодняшнего момента никому не удалось обнаружить ничего подобного.

  Группа пользователей qmail предложила приз в $1000 на 1 год со схожими условиями. Этот приз также не был востребован, и деньги были пожертвованы в Фонд Свободно Распространяемого Программного Обеспечения (Free Software Foundation).

Простые правила при создании и применении qmail
(вариант автора системы):

  1. Различать адреса, файлы и программы.

    Sendmail обращается к программам и файлам как к адресам. Это фактически дает возможность любому пользователю выполнять произвольные программы или производить запись в произвольные файлы.
    В qmail программы и файлы - не адреса. Локальный доставочный агент, qmail-local, может выполнять программы или писать в файлы, перечисленные в ~user/.qmail (по предназначению сродни .bashrc, .cshrc и т.п.), но это всегда происходит с правами данного пользователя. Понятие пользователя может быть определено конфигурацией, при этом root никогда не выступает в роли пользователя.

  2. Выполнять минимум в программах со сменой UID (setuid).

    Из двадцати самых весомых дыр в защите sendmail одиннадцать работали только потому что вся система sendmail - setuid.
    Лишь одна программа qmail - setuid: qmail-queue. Ее задача - добавить новое почтовое сообщение в очередь исходящих сообщений.

  3. Выполнять минимум действий от лица привилегированного пользователя.

    Sendmail выполняется с правами суперпользователя, что лишает возможности отслеживать возникающие ошибки встроенными системами защиты операционной системы.
    Напротив, только две программы qmail, qmail-start и qmail-lspawn, выполняются с правами root.

  4. Не доверять результатам работы программ.

    Пять из программ qmail -- qmail-smtpd, qmail-send, qmail-rspawn, qmail-remote, и tcp-env -- не критические с точки зрения безопасности. Даже при условии, что все они поставлены под угрозу, и кто-либо получил контроль над qmaild, qmails, qmailr и очередью сообщений, тем не менее он не сможет взломать Вашу систему. Ни одна из других программ не доверяет результатам работы этих пяти.
    Кроме этого эти пять программ не доверяют даже друг другу. Они принадлежат трем разным группам, и можно сказать, что каждая группа обладает иммунитетом по отношению к атакам программ из других групп.

  5. Простота - залог совершенства.

    Qmail - набор отдельных простых, но эффективных программ, в отличие от грузных монстров - большинства других почтовых транспортных агентов.

  6. Писать по возможности код без багов.

Различные аспекты безопасности qmail рассматриваются в связи с другими вопросами, такими как структура очереди сообщений, процесс отправки сообщений, формат Maildir и т.п.
Назад       Содержание       Вперёд