Проектирование
Почта, почта… «В настоящее время любой начинающий пользователь может завести свой бесплатный электронный почтовый ящик, достаточно зарегистрироваться на одном из интернет-порталов», — утверждает Википедия. Так что запуск для этого своего почтового сервера — это немного странно. Тем не менее, я не жалею о потраченном на это месяце, считая со дня установки ОС до дня отправки первого письма адресату в интернете.
Вообще-то в один ряд с «малинками» можно поставить и iptv-ресиверы, и «одноплатный компьютер на базе процессора Baikal-T1», а также Cubieboard, Banana Pi и другие устройства, оснащенные ARM-микропроцессорами. «Малинка» же была выбрана как наиболее агрессивно рекламируемый вариант. На то, чтобы найти этому «одноплатному компьютеру» хоть какое-то полезное применение, ушел не один месяц. Наконец, я задумал запустить на нем почтовый сервер, прочитав незадолго до этого один фантастический роман о виртуальной реальности.
«Это прекрасное видение будущего Сети», — сообщает о нем Википедия. С даты первой публикации прошло 20 лет. Будушее наступило. Однако оно не кажется мне прекрасным без семи тысячей подписчиков, десяти тысячей рублей «месячного дохода моего сайта» и т.п. Что и, наверное, подтолкнуло меня в сторону «децентрализованных социальных сетей» со «скудным количеством лайков под их (новых пользователей — Н.М.) постами», регистрации домена и запуска своего сервера.
В законах я не силен. Разве что сообщение на мобильный телефон приходило о необходимости подтверждения персональных данных в связи с вступлением в силу поправок к федеральному закону 126-ФЗ, вот такой закон и знаю.
А тут оказалось, что законов этих — как грибов после дождя. Пользовался бы дальше бесплатной почтой — небось, и не узнал бы.
«И кто мы с тобой теперь»
Во-первых, организатора сервиса электронной почты в законе попросту нет. Есть «организатор сервиса обмена мгновенными сообщениями», но это немного не то. Дополнение «для личных, семейных и домашних нужд» снимает, конечно, с этого организатора все предусмотренные законом обязанности, но тем не менее не с того организатора, с которого нужно.
Имея под рукой наравне с законом руководство по Ubuntu Server, догадываюсь, что помимо чатов с их мгновенными сообщениями, «для приема, передачи, доставки и (или) обработки электронных сообщений пользователей сети Интернет» предназначены и сервисы электронной почты (что очевидно), и файл-серверы (что не так очевидно).
Разработка
По сравнению с другими тутошними статьями с хештэгом postfix, мое творение, конечно, весьма примитивно. Ни тебе аутентификации пользователей, ни базы данных, ни пользователей, не привязанных к локальным учетным записям (первое и третье есть в «минимальном почтовом сервере»; база данных есть практически везде, так же как и dovecat).
«Настройка почтовой системы, на мой взгляд, является наисложнейшей задачей в системном администрировании», — очень хорошо написал один хабра-пользователь. Следуя за PostfixBasicSetupHowto (из help.ubuntu.com), я, тем не менее, пропустил из нее части про базу данных алиасов, файлы .forward и виртуальные алиасы.
Зато для ssl/tls взял 12 конфигурационных строк плюс 9 командных строк для bash для создания сертификатов из посвященной Postfix статьи на CommunityHelpWiki (на том же домене help.ubuntu.com) (только работает ли этот ssl/tls — вот в чем вопрос). А еще пригодились файрвол в личном кабинете провайдера, nat на роутере (настройку микротика я откладывал насколько это было возможно; письма отправлял, подключив почтовый сервер напрямую к заведенному в квартиру кабелю интернет-провайдера), команды mail, mailq, postsuper -d идентификатор, файл /var/log/mail.log, параметр always_add_missing_headers, информация о ptr-записи, наконец, сайт mail-tester.com (с олигофреническим дизайном), о которых не пишут в «почтовых» статьях на Хабре, как будто о само самом разумеющемся.
![](https://habrastorage.org/webt/eg/fk/tw/egfktww5jfeaombuksdvvybuzn0.png)
До исправления значения параметра myhostname в файле /etc/postfix/main.cf
![](https://habrastorage.org/webt/us/xw/at/usxwatmtgs8fkzykiskgtdokxkq.png)
После исправления значения параметра myhostname в файле /etc/postfix/main.cf
Первое письмо от службы технической поддержки интернет-провайдера научило меня тому, что не надо открывать письма с помощью консольной программы mail, чтобы потом их было можно открыть и прочитать с помощью привычного почтового клиента. По-видимому, и это не проблема «для начинающих админов».
Напротив, в комментариях (к другим статьям с хештэгом postfix) один пользователь Хабра просит «усложнить ведь немного, как насчет вебинтерфейсов к разным частям и аутентификации из БД», для другого «видимо, она сложнейшая для тех, кто слаще редьки ничего не пробовал: падения ядра, безопасность (selinux/apparmor), чуть-чуть распределенные системы...», третий пишет про «скрипт iRedmail». Так и ждешь, что следующий предложит написать про IPv6.
Сервисы электронной почты же — не сферические кони в вакууме, они — части целого — от выбора компьютера и доменного имени до настройки роутера — которое не сможет охватить никакой мануал по настройке почтового сервера (и в котором Вы, наверное, никогда не прочитаете матчасть — Postfix SMTP relay and access control, есть на официальном веб-сайте Postfix).
Про микротик — так вообще отдельная песня.
Ну вот и все. Электронная почта перестала быть набором консольных команд, конфигурационных файлов (включая настройку dns), логов, документации, шестнадцатиричных чисел вместо русских букв (согласно таблице символов koi8-r) в полученном письме и осталась привычным почтовым клиентом с его протоколами imap, pop3, smtp, учетными записями, входящими и отправленными сообщениями.
В общем, внешне тем же самым, что представляет собой электронная почта при использовании бесплатных служб электронной почты от крупнейших айти-компаний.
Хоть и без веб-интерфейса.
Эксплуатация
Все-таки от просмотра логов никуда не деться!
Спешу обрадовать тех, кто ожидал прочитать здесь про даркнет. Потому что иначе как проявлениями какого-то таинственного даркнета я не могу назвать то, чем оказался забит почтовый лог новоиспеченного сервера, а именно в течение пары дней (после подключения напрямую) сообщениями о попытках подключиться по pop3 под разными именами с пары ip-адресов (я-то по ошибке вначале думал, что это сервер периодически пытается отправить два письма из очереди, а то, что моя почта так сразу может интересовать кого-то еще из интернета совсем не предполагал).
Попытки эти не прекратились и после того, как я подключил сервер через роутер. Сегодняшние же логи полны подключениями по smtp с одного и того же неизвестного мне ip-адреса. Тем не менее, я настолько самоуверен, чтобы не предпринимать против этого никаких действий: надеюсь, что и в случае верного подбора имени пользователя для получения писем пароль злоумышленнику подобрать не удастся. Уверен, что многие сочтут это небезопасным, также как и в случае сегодняшних атак полагаться только на настройки ретрансляции SMTP и управление доступом в /etc/postfix/main.cf.
И разнесут защиту моей почты в пух и прах.