Общий индекс серии: Компьютерные сети для МСП: Введение
Эта статья является продолжением и последней из мини-сериала:
- Squid + PAM аутентификация на CentOS 7.
- Управление локальными пользователями и группами
- Авторитетный DNS-сервер NSD + Shorewall
- Просоды IM и локальные пользователи
Привет друзья и друзья!
Энтузиасты они хотят иметь свой собственный почтовый сервер. Они не хотят использовать серверы, на которых «Конфиденциальность» стоит между вопросительными знаками. Лицо, отвечающее за реализацию услуги на вашем небольшом сервере, не является специалистом в данной области и сначала попытается установить ядро будущего полноценного почтового сервера. Разве что «уравнения» для создания полного почтового сервера немного сложны для понимания и применения. 😉
Аннотации на полях
- Необходимо четко понимать, какие функции выполняет каждая программа, задействованная в почтовом сервере. В качестве начального руководства мы приводим целый ряд полезных ссылок с заявленной целью их посещения..
- Внедрение комплексной почтовой службы с нуля вручную - утомительный процесс, если только вы не один из тех «избранных», которые ежедневно выполняют этот тип задач. Почтовый сервер обычно состоит из различных программ, которые по отдельности обрабатывают SMTP, POP / IMAP, Локальное хранилище сообщений, задачи, связанные с лечением СПАМ, Антивирус и др. ВСЕ эти программы должны правильно взаимодействовать друг с другом.
- Не существует универсального подхода к управлению пользователями или «лучших практик»; где и как хранить сообщения, или как заставить все компоненты работать как единое целое.
- Сборка и точная настройка почтового сервера имеют тенденцию быть неприятными в таких вопросах, как разрешения и владельцы файлов, выбор того, какой пользователь будет отвечать за определенный процесс, а также небольшие ошибки, сделанные в каком-то скрытом файле конфигурации.
- Если вы не очень хорошо знаете, что делаете, конечным результатом будет небезопасный или немного нефункциональный почтовый сервер. То, что в конце реализации "Это не работает", вероятно, будет наименьшим из зол.
- Мы можем найти в Интернете большое количество рецептов, как сделать почтовый сервер. Один из самых полных -по моему очень личному мнению- предложен автором Ивар Абрахамсен в тринадцатом издании от января 2017 г. «Как настроить почтовый сервер в системе GNU / Linux».
- Также рекомендуем прочитать статью «Почтовый сервер в Ubuntu 14.04: Postfix, Dovecot, MySQL«, или же "Почтовый сервер в Ubuntu 16.04: Postfix, Dovecot, MySQL».
- Правда. Лучшую документацию по этому поводу можно найти на английском языке.
- Хотя мы никогда не делаем почтовый сервер, точно руководствуясь Как… Упомянутый в предыдущем абзаце, простой факт следования ему шаг за шагом даст нам очень хорошее представление о том, с чем мы столкнемся.
- Если вы хотите получить полный почтовый сервер за несколько шагов, вы можете загрузить изображение iRedOS-0.6.0-CentOS-5.5-i386.iso, или ищите более современную, будь то iRedOS или iRedMail. Я лично рекомендую этот способ.
Мы собираемся установить и настроить:
- постфикс как сервер Mчеснок Transport Aджентльмен (СМТП).
- голубятня как POP - сервер IMAP.
- Сертификаты для подключений через TLS.
- Squirrelmail как веб-интерфейс для пользователей.
- Запись DNS относительно «Основы политики отправителя«или SPF.
- Генерация модуля Группа Диффи Хеллмана для повышения безопасности SSL-сертификатов.
Осталось сделать:
Осталось реализовать по крайней мере следующие услуги:
- Постгрей: Политики сервера Postfix для серых списков и отклонения нежелательной почты.
- Амависд-новый: скрипт, который создает интерфейс между MTA, антивирусными сканерами и фильтрами содержимого.
- Clamav Антивирус: антивирусный пакет
- SpamAssassin: извлечь нежелательную почту
- бритва (Пызор): Перехват спама через распределенную и совместную сеть. Сеть Vipul Razor поддерживает обновленный каталог распространения нежелательной почты или СПАМА.
- DNS-запись «Почта с идентификационными ключами домена» или DKIM.
Пакеты postgrey, amavisd-new, clamav, spamassassin, бритва y Пызор Они находятся в репозиториях программы. Так же найдем программу опендким.
- Правильное объявление DNS-записей «SPF» и «DKIM» важно, если мы не хотим, чтобы наш почтовый сервер был только что введен в эксплуатацию, был объявлен нежелательным или источником спама или нежелательной почты другими почтовыми службами, такими как Gmail, Yahoo, Hotmail, и т.д.
Первоначальные проверки
Помните, что эта статья является продолжением других статей, которые начинаются в Squid + PAM аутентификация на CentOS 7.
Интерфейс Ens32 LAN подключен к внутренней сети
[корень @ linuxbox ~] # нано / etc / sysconfig / network-scripts / ifcfg-ens32
DEVICE=ens32
ONBOOT=yes
BOOTPROTO=static
HWADDR=00:0c:29:da:a3:e7
NM_CONTROLLED=no
IPADDR=192.168.10.5
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DOMAIN=desdelinux.fan DNS1=127.0.0.1
ЗОНА = общедоступная
[root @ linuxbox ~] # ifdown ens32 && ifup ens32
Интерфейс Ens34 WAN подключен к Интернету
[корень @ linuxbox ~] # нано / etc / sysconfig / network-scripts / ifcfg-ens34
DEVICE=ens34 ONBOOT=yes BOOTPROTO=static HWADDR=00:0c:29:da:a3:e7 NM_CONTROLLED=нет IPADDR=172.16.10.10 NETMASK=255.255.255.0 # Маршрутизатор ADSL подключен к # этому интерфейсу со # следующим адресом IP-ШЛЮЗ=172.16.10.1 ДОМЕН=desdelinux.fan DNS1=127.0.0.1
ЗОНА = внешняя
Разрешение DNS из LAN
[root@linuxbox ~]# cat поиск в /etc/resolv.conf desdelinux.fan сервер имен 127.0.0.1 сервер имен 172.16.10.30 [root@linuxbox ~]# почта хоста по электронной почте.desdelinux.fan — это псевдоним Linuxbox.desdelinux.вентилятор. Linuxbox.desdelinux.fan имеет адрес 192.168.10.5 linuxbox.desdelinuxПочта .fan обрабатывается 1 почтой.desdelinux.вентилятор. [root@linuxbox ~]# хостmail.desdelinux.вентилятор по электронной почте.desdelinux.fan — это псевдоним Linuxbox.desdelinux.вентилятор. Linuxbox.desdelinux.fan имеет адрес 192.168.10.5 linuxbox.desdelinuxПочта .fan обрабатывается 1 почтой.desdelinux.вентилятор.
Разрешение DNS из Интернета
buzz@sysadmin:~$hostmail.desdelinux.фан 172.16.10.30 Использование сервера домена: Имя: 172.16.10.30 Адрес: 172.16.10.30#53 Псевдонимы: почта.desdelinux.fan — это псевдоним для desdelinux.вентилятор. desdelinux.fan имеет адрес 172.16.10.10 desdelinuxПочта .fan обрабатывается 10 почтой.desdelinux.вентилятор.
Проблемы с локальным разрешением имени хоста «desdelinux.вентилятор"
Если у вас есть проблемы с разрешением имени хоста «desdelinux.вентилятор" из ЛВС, попробуйте закомментировать строку файла /etc/dnsmasq.conf где это заявлено местный =/desdelinux.вентилятор/. После этого перезапустите Dnsmasq.
[root @ linuxbox ~] # nano /etc/dnsmasq.conf # Прокомментируйте строку ниже: # местный=/desdelinux.вентилятор/ [root @ linuxbox ~] # перезапуск службы dnsmasq Перенаправление в / bin / systemctl restart dnsmasq.service [root @ linuxbox ~] # статус dnsmasq службы [root@linuxbox ~]# хост desdelinux.вентилятор desdelinux.fan имеет адрес 172.16.10.10 desdelinuxПочта .fan обрабатывается 10 почтой.desdelinux.вентилятор.
Постфикс и Dovecot
Очень обширную документацию по Postfix и Dovecot можно найти по адресу:
[root @ linuxbox ~] # ls /usr/share/doc/postfix-2.10.1/ bounce.cf.default ЛИЦЕНЗИЯ README-Postfix-SASL-RedHat.txt СОВМЕСТИМОСТЬ main.cf.default Примеры TLS_ACKNOWLEDGEMENTS README_FILES TLS_LICENSE [root @ linuxbox ~] # ls /usr/share/doc/dovecot-2.2.10/ АВТОРЫ COPYING.MIT dovecot-openssl.cnf NEWS wiki КОПИРОВАНИЕ ChangeLog example-config README COPYING.LGPL documentation.txt mkcert.sh solr-schema.xml
В CentOS 7 Postfix MTA устанавливается по умолчанию, когда мы выбираем опцию Infrastructure Server. Мы должны проверить, что контекст SELinux разрешает запись в Potfix в локальной очереди сообщений:
[root @ linuxbox ~] # getsebool -a | grep postfix
postfix_local_write_mail_spool -> on
Модификации в FirewallD
Используя графический интерфейс для настройки FirewallD, мы должны убедиться, что следующие службы и порты включены для каждой Зоны:
# ------------------------------------------------- ----- # Исправления в FirewallD # ------------------------------------------------- ----- # Межсетевой экран # Публичная зона: http, https, imap, pop3, smtp сервисы # Публичная зона: порты 80, 443, 143, 110, 25 # Внешняя зона: http, https, imap, pop3s, smtp сервисы # Внешняя зона: порты 80, 443, 143, 995, 25
Устанавливаем Dovecot и необходимые программы
[root @ linuxbox ~] # yum install dovecot mod_ssl procmail telnet
Минимальная конфигурация Dovecot
[root @ linuxbox ~] # nano /etc/dovecot/dovecot.conf протоколы =imap pop3 lmtp Слушать знак равно вход_приветствие = Голубятня готова!
Мы явно отключаем аутентификацию Dovecot с открытым текстом:
[корень @ linuxbox ~] # nano /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = да
Мы объявляем Группу с необходимыми привилегиями для взаимодействия с Dovecot и местонахождением сообщений:
[корень @ linuxbox ~] # nano /etc/dovecot/conf.d/10-mail.conf mail_location = mbox: ~ / mail: INBOX = / var / mail /% u mail_privileged_group = почта mail_access_groups = почта
Сертификаты на Dovecot
Dovecot автоматически генерирует ваши тестовые сертификаты на основе данных в файле /etc/pki/dovecot/dovecot-openssl.cnf. Чтобы новые сертификаты были сгенерированы в соответствии с нашими требованиями, мы должны выполнить следующие шаги:
[root @ linuxbox ~] # cd / etc / pki / dovecot / [root @ linuxbox dovecot] # nano dovecot-openssl.cnf [ req ] default_bits = 1024 encrypt_key = да отличительное_имя = req_dn x509_extensions = cert_type приглашение = нет [req_dn ] # страна (2-буквенный код) C=CU # Название штата или провинции (полное имя) ST=Куба # Название населенного пункта (например, город) ) L=Гавана # Организация (например, компания) O=DesdeLinux.Fan # Название организационного подразделения (например, раздел) OU=Enthusiasts # Общее имя (также возможно *.example.com) CN=*.desdelinux.fan # Контактный адрес электронной почты emailAddress=buzz@desdelinux.fan [cert_type] nsCertType = сервер
Исключаем сертификаты испытаний
[root @ linuxbox dovecot] # rm certs / dovecot.pem rm: удалить обычный файл "certs / dovecot.pem"? (г / н) г [root @ linuxbox dovecot] # rm private / dovecot.pem rm: удалить обычный файл "private / dovecot.pem"? (г / н) г
Копируем и выполняем скрипт mkcert.sh из каталога документации
[root @ linuxbox dovecot] # cp /usr/share/doc/dovecot-2.2.10/mkcert.sh. [root @ linuxbox dovecot] # bash mkcert.sh Генерация 1024-битного закрытого ключа RSA ......++++++ ..............++++++ запись нового закрытого ключа в '/etc/ pki/dovecot/private/dovecot.pem' ----- subject= /C=CU/ST=Куба/L=Гавана/O=DesdeLinux.Fan/OU=Энтузиасты/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan SHA1 Fingerprint=5F:4A:0C:44:EC:EC:EF:95:73:3E:1E:37:D5:05:F8:23:7E:E1:A4:5A [root @ linuxbox dovecot] # ls -l certs / всего 4 -рв -------. 1 root root 1029 22 мая 16:08 dovecot.pem [root @ linuxbox dovecot] # ls -l private / всего 4 -рв -------. 1 root root 916 22 мая 16:08 dovecot.pem [root @ linuxbox dovecot] # перезапуск службы dovecot [root @ linuxbox dovecot] # статус службы dovecot
Сертификаты для Postfix
[root@linuxbox ~]# cd /etc/pki/tls/ [root@linuxbox tls]# openssl req -sha256 -x509 -nodes -newkey rsa:4096 -days 1825 \ -out certs/desdelinux.fan.crt -keyout приватный/desdelinux.fan.key Генерация 4096-битного закрытого ключа RSA .........++ ..++ запись нового закрытого ключа в «private/domain.tld.key» ----- Вас попросят ввести информацию это будет включено в ваш запрос на сертификат. То, что вы собираетесь ввести, — это то, что называется отличительным именем или DN. Полей довольно много, но вы можете оставить некоторые пустыми. Для некоторых полей будет значение по умолчанию. Если вы введете «.», поле останется пустым. ----- Название страны (2-буквенный код) [XX]: Название штата или провинции CU (полное имя) []: Название населенного пункта Куба (например, город) [Город по умолчанию]: Гавана Название организации (например, компания) [ Компания по умолчанию, ООО]:DesdeLinux.Название организационного подразделения фаната (например, раздел) []:Общее имя энтузиастов (например, ваше имя или имя хоста вашего сервера) []:desdelinuxАдрес электронной почты .fan []:buzz@desdelinux.вентилятор
Минимальная конфигурация Postfix
Добавляем в конец файла / etc / aliases следующие:
корень: гудение
Чтобы изменения вступили в силу, мы выполняем следующую команду:
[root @ linuxbox ~] # newaliases
Конфигурация Postifx может быть выполнена путем прямого редактирования файла. /etc/postfix/main.cf или по команде постконф -е следя за тем, чтобы все параметры, которые мы хотим изменить или добавить, отражались в одной строке консоли:
- Каждый должен заявить о вариантах, которые он понимает и в которых нуждается!.
[root@linuxbox ~]# postconf -e 'myhostname = desdelinux.вентилятор' [root@linuxbox ~]# postconf -e 'mydomain = desdelinux.вентилятор' [root @ linuxbox ~] # postconf -e 'myorigin = $ mydomain' [root @ linuxbox ~] # postconf -e 'inet_interfaces = all' [root @ linuxbox ~] # postconf -e 'mydestination = $ myhostname, localhost. $ mydomain, localhost, $ mydomain, mail. $ mydomain, www. $ mydomain, ftp. $ mydomain' [root @ linuxbox ~] # postconf -e 'mynetworks = 192.168.10.0/24, 172.16.10.0/24, 127.0.0.0/8' [root @ linuxbox ~] # postconf -e 'mailbox_command = / usr / bin / procmail -a "$ EXTENSION"' [root @ linuxbox ~] # postconf -e 'smtpd_banner = $ myhostname ESMTP $ mail_name ($ mail_version)'
Добавляем в конец файла /etc/postfix/main.cf варианты, указанные ниже. Чтобы узнать значение каждого из них, рекомендуем прочитать сопроводительную документацию.
biff = нет append_dot_mydomain = нет delay_warning_time = 4 часа readme_directory = нет smtpd_tls_cert_file=/etc/pki/certs/desdelinux.fan.crt smtpd_tls_key_file=/etc/pki/private/desdelinux.fan.key smtpd_use_tls = да smtpd_tls_session_cache_database = btree: $ {data_directory} / smtpd_scache smtp_tls_session_cache_database = btree: $ {data_directory} / smtp_scache smtpd_relay_restrictions = permission_mynetworks permission_sasl_authenticated defer_unauth_destination # Максимальный размер почтового ящика 1024 мегабайта = 1 г и г почтовый ящик_размер_лимит = 1073741824 получатель_разделитель = + maximal_queue_lifetime = 7 дней header_checks = регулярное выражение: / etc / postfix / header_checks body_checks = регулярное выражение: / etc / postfix / body_checks # Учетные записи, которые отправляют копию входящей почты на другую учетную запись recipient_bcc_maps = хэш: / etc / postfix / accounts_ forwarding_copy
Следующие строки важны для определения того, кто может отправлять почту и ретранслировать на другие серверы, чтобы мы случайно не настроили «открытый ретранслятор», который позволяет неаутентифицированным пользователям отправлять почту. Мы должны обратиться к страницам справки Postfix, чтобы понять, что означает каждая опция.
- Каждый должен заявить о вариантах, которые он понимает и в которых нуждается!.
smtpd_helo_restrictions = permission_mynetworks,
alert_if_reject ignore_non_fqdn_hostname,
ignore_invalid_hostname,
позволять
smtpd_sender_restrictions = permission_sasl_authenticated,
allow_mynetworks,
alert_if_reject ignore_non_fqdn_sender,
отклонить_неизвестный_отправитель_домен,
ignore_unauth_pipelining,
позволять
smtpd_client_restrictions = ignore_rbl_client sbl.spamhaus.org,
ignore_rbl_client blackholes.easynet.nl
# ПРИМЕЧАНИЕ: параметр "check_policy_service inet: 127.0.0.1: 10023"
# включает программу Postgrey, и мы не должны ее включать
# в противном случае мы будем использовать Postgrey
smtpd_recipient_restrictions = ignore_unauth_pipelining,
allow_mynetworks,
allow_sasl_authenticated,
ignore_non_fqdn_recipient,
ignore_unknown_recipient_domain,
ignore_unauth_destination,
check_policy_service inet: 127.0.0.1: 10023,
позволять
smtpd_data_restrictions = ignore_unauth_pipelining
smtpd_relay_restrictions = ignore_unauth_pipelining,
allow_mynetworks,
allow_sasl_authenticated,
ignore_non_fqdn_recipient,
ignore_unknown_recipient_domain,
ignore_unauth_destination,
check_policy_service inet: 127.0.0.1: 10023,
позволять
smtpd_helo_required = да
smtpd_delay_reject = да
disable_vrfy_command = да
Создаем файлы / и т.д. / постфикс / body_checks y / и т.д. / postfix / accounts_forwarding_copy, и измените файл / и т.д. / постфикс / header_checks.
- Каждый должен заявить о вариантах, которые он понимает и в которых нуждается!.
[root @ linuxbox ~] # nano / etc / postfix / body_checks
# Если этот файл был изменен, нет необходимости # запускать postmap # Чтобы проверить правила, запустите как root: # postmap -q 'super new v1agra' regexp: / etc / postfix / body_checks
# Должен вернуться: # REJECT Правило № 2 Текст сообщения защиты от спама
/ viagra / REJECT Rule # 1 Защита от спама в теле сообщения
/ super new v [i1] agra / REJECT Rule # 2 Текст сообщения защиты от спама
[root @ linuxbox ~] # nano / etc / postfix / accounts_ forwarding_copy
# После модификации вы должны выполнить: # postmap / etc / postfix / accounts_ forwarding_copy
# и файл создан или измерен: # /etc/postfix/accounts_forwarding_copy.db
# ------------------------------------------ # ОДНА учетная запись для пересылки одной скрытой копии копия # BCC = Черная копия # Пример: # webadmin@desdelinux.фанат @desdelinux.вентилятор
[root @ linuxbox ~] # postmap / etc / postfix / accounts_ forwarding_copy
[root @ linuxbox ~] # нано / и т.д. / постфикс / header_checks
# Добавить в конец файла # НЕ ТРЕБУЕТСЯ Postmap, поскольку они являются регулярными выражениями
/ ^ Subject: =? Big5? / REJECT Китайская кодировка не поддерживается этим сервером
/ ^ Тема: =? EUC-KR? / REJECT Корейская кодировка не разрешена этим сервером
/ ^ Тема: ADV: / REJECT Рекламные объявления не принимаются этим сервером
/^From:.*\@.*\.cn/ REJECT Извините, китайская почта здесь не разрешена
/^From:.*\@.*\.kr/ REJECT Извините, корейская почта здесь не разрешена
/^From:.*\@.*\.tr/ REJECT Извините, турецкая почта здесь не разрешена
/^From:.*\@.*\.ro/ REJECT Извините, румынская почта здесь не разрешена
/^(Получено | Идентификатор сообщения|X-(Mailer|Sender)):.*\b(AutoMail|E-Broadcaster|Emailer Platinum | Thunder Server | eMarksman | Extractor | e-Merge | from stealth [^.] | Global Messenger | GroupMaster | Mailcast | MailKing | Match10 | MassE-Mail | massmail \ .pl | News Breaker | Powermailer | Quick Shot | Ready Aim Fire | WindoZ | WorldMerge | Yourdora | Lite) \ b / REJECT Массовые рассылки запрещены.
/ ^ От: "спамер / REJECT
/ ^ От: "спам / REJECT
/^Subject:.*viagra/ ОТКАЗАТЬ
# Опасные расширения
/ name = [^> Iluminación * \. (bat | cmd | exe | com | pif | reg | scr | vb | vbe | vbs) / REJECT REJECT Мы не принимаем вложения с этими расширениями
Проверяем синтаксис, перезапускаем Apache и Postifx, включаем и запускаем Dovecot
[root @ linuxbox ~] # проверка постфикса [root @ linuxbox ~] # [root @ linuxbox ~] # systemctl перезапуск httpd [root @ linuxbox ~] # статус systemctl httpd [root @ linuxbox ~] # systemctl перезапустить постфикс [root @ linuxbox ~] # постфикс статуса systemctl [root @ linuxbox ~] # systemctl status dovecot ● dovecot.service - почтовый сервер Dovecot IMAP / POP3 Загружено: загружено (/usr/lib/systemd/system/dovecot.service; отключено; предустановка поставщика: отключено) Активно: неактивно (мертв) [root @ linuxbox ~] # systemctl включить dovecot [root @ linuxbox ~] # systemctl start dovecot [root @ linuxbox ~] # systemctl перезапуск dovecot [root @ linuxbox ~] # systemctl status dovecot
Проверки на уровне консоли
- Перед продолжением установки и настройки других программ очень важно выполнить минимально необходимые проверки служб SMTP и POP..
Локально с самого сервера
Мы отправляем электронное письмо локальному пользователю Леголас.
[root @ linuxbox ~] # echo "Привет. Это тестовое сообщение" | mail -s "Test" legolas
Проверяем почтовый ящик леголас.
[root @ linuxbox ~] # openssl s_client -crlf -connect 127.0.0.1:110 -starttls pop3
После сообщения Dovecot готов! продолжаем:
Напишите нам в чат или Email + OK Dovecot готов! ПОЛЬЗОВАТЕЛЬ legolas +OK ПАРОЛЬ legolas +OK Выполнен вход. СТАТ +ОК 1 559 СПИСОК +ОК 1 сообщений: 1 559 . RETR 1 +OK 559 октетов. Путь возврата:desdelinux.fan> X-Original-To: legolas Доставлено-To: legolas@desdelinux.fan Получено: автором desdelinux.fan (Postfix, от пользователя 0) с идентификатором 7EA22C11FC57; Пн, 22 мая 2017 г. 10:47:10 -0400 (EDT) Дата: Пн, 22 мая 2017 г. 10:47:10 -0400 Кому: legolas@desdelinux.fan Тема: Тестовый пользовательский агент: Heirloom mailx 12.5 7 Версия MIME: 5 Тип контента: text/plain; charset=us-ascii Кодирование передачи контента: 10 бит Идентификатор сообщения: <1.0EA7C20170522144710.7FC22@desdelinux.fan> От: root@desdelinux.fan (корень) Здравствуйте. Это тестовое сообщение. ВЫХОД ГОТОВО [root @ linuxbox ~] #
Пульты от компьютера в локальной сети
Отправим еще одно сообщение Леголас с другого компьютера в локальной сети. Обратите внимание, что безопасность TLS НЕ является строго необходимой в сети SME.
buzz @ sysadmin: ~ $ sendemail -f buzz@deslinux.fan \ -т леголас@desdelinux.вентилятор\ -u "Привет" \ -m "Привет Леголасу от твоего друга Базза" \ -s электронная почта.desdelinux.fan -o tls=нет 22 мая, 10:53:08 sysadmin sendemail [5866]: Электронное письмо успешно отправлено!
Если мы попытаемся подключиться через Telnet От хоста в локальной сети (или, конечно, из Интернета) до Dovecot произойдет следующее, потому что мы отключим аутентификацию с открытым текстом:
buzz@sysadmin:~$ почта Telnet.desdelinux.fan 110Пробую 192.168.10.5...
Подключился к линуксбоксу.desdelinux.вентилятор. Escape-символ — «^]». +ОК Голубятня готова! пользователь леголас
-ERR [AUTH] Аутентификация с открытым текстом запрещена для незащищенных (SSL / TLS) соединений.
quit + OK Выход из системы Соединение закрыто внешним хостом.
buzz @ sysadmin: ~ $
Мы должны сделать это через OpenSSL. Полный вывод команды будет таким:
buzz@sysadmin:~$ openssl s_client -crlf -connect mail.desdelinux.fan:110 -starttls pop3 CONNECTED (00000003) глубина=0 C = CU, ST = Куба, L = Гавана, O = DesdeLinux.Фан, OU=Энтузиасты, CN=*.desdelinux.fan, адрес электронной почты = buzz@desdelinux.вентилятор ошибка проверки: число = 18: самоподписанный сертификат проверка возврата: 1 глубина=0 C = CU, ST = Куба, L = Гавана, O = DesdeLinux.Фан, OU=Энтузиасты, CN=*.desdelinux.fan, адрес электронной почты = buzz@desdelinux.fan проверить возврат: 1 --- Цепочка сертификатов 0 с:/C=CU/ST=Куба/L=Гавана/O=DesdeLinux.Fan/OU=Энтузиасты/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan i:/C=CU/ST=Куба/L=Гавана/O=DesdeLinux.Fan/OU=Энтузиасты/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan --- Server certificate -----BEGIN CERTIFICATE----- MIICyzCCAjSgAwIBAgIJAKUHI/2ZD+MeMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYD VQQGEwJDVTENMAsGA1UECBMEQ3ViYTEPMA0GA1UEBxMGSGFiYW5hMRcwFQYDVQQK Ew5EZXNkZUxpbnV4LkZhbjEUMBIGA1UECxMLRW50dXNpYXN0YXMxGTAXBgNVBAMU ECouZGVzZGVsaW51eC5mYW4xIjAgBgkqhkiG9w0BCQEWE2J1enpAZGVzZGVsaW51 eC5mYW4wHhcNMTcwNTIyMjAwODEwWhcNMTgwNTIyMjAwODEwWjCBmzELMAkGA1UE BhMCQ1UxDTALBgNVBAgTBEN1YmExDzANBgNVBAcTBkhhYmFuYTEXMBUGA1UEChMO RGVzZGVMaW51eC5GYW4xFDASBgNVBAsTC0VudHVzaWFzdGFzMRkwFwYDVQQDFBAq LmRlc2RlbGludXguZmFuMSIwIAYJKoZIhvcNAQkBFhNidXp6QGRlc2RlbGludXgu ZmFuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7wckAiNNfYSz5hdePzKuZ m2MMuhGDvwrDSPDEcVutznbZSgJ9bvTo445TR+Bnk+OZ80lujS2hP+nBmqxzJbpc XR7E9eWIXxr4fP4HpRrCA8NxlthEsapVMSHW+lnPBqF2b/Bt2eYyR7gJhtlP6gRG V57MmgL8BdYAJLvxqxDIxQIDAQABoxUwEzARBglghkgBhvhCAQEEBAMCBkAwDQYJ KoZIhvcNAQEFBQADgYEAAuYU1nIXTbXtddW+QkLskum7ESryHZonKOCelfn2vnRl 8oAgHg7Hbtg/e6sR/W9m3DObP5DEp3lolKKIKor7ugxtfA4PBtmgizddfDKKMDql LT+MV5/DP1pjQbxTsaLlZfveNxfLRHkQY13asePy4fYJFOIZ4OojDEGQ6/VQBI8= -----END CERTIFICATE----- subject=/C=CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Энтузиасты/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan Issuer=/C=CU/ST=Куба/L=Гавана/O=DesdeLinux.Fan/OU=Энтузиасты/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan --- Имена ЦС клиентского сертификата не отправлены. Временной ключ сервера: ECDH, secp384r1, 384 бита --- При подтверждении SSL было прочитано 1342 байта и записано 411 байт --- Новый, TLSv1/SSLv3, шифр ECDHE-RSA-AES256 -GCM-SHA384 Открытый ключ сервера имеет длину 1024 бит. Поддерживается безопасное повторное согласование. Сжатие: НЕТ Расширение: НЕТ SSL-сеанс: Протокол: TLSv1.2 Шифр: ECDHE-RSA-AES256-GCM-SHA384 Идентификатор сеанса: C745B4A0236204E16234CB15DC9CDBC3D084125FF5989F5DB 6C5295BF4E2D73A Идентификатор сеанса- ctx: Главный ключ: 1904D204C564B76361CEA50373F8879AF793AF7D7506C04473777F6F3503A9FD919CD1F837BC67BFF29E309F352526F5 Key-Arg: Нет Krb5 Принципал: Нет Идентификатор PSK: Нет Идентификатор PSK Подсказка: Нет Подсказка о сроке действия билета сеанса TLS: 300 (секунд) Билет сеанса TLS: 0000 - 4e 3a f8 29 7a 4f 63 72- ee f7 a6 4f fc ec 7e 1c N:.)zOcr...O..~. 0010 - 2c d4 be a8 be 92 2e ae-98 7e 87 6d 45 c5 17 a8 ,.....~.mE... 0020 - db 3a 86 80 df 8b dc 8d-f8 1f 68 6e db a7 e3 86 .:.......hn.... 0030 - 08 35 e5 eb 98 b8 a4 98-68 b1 ea f7 72 f7 c1 79 .5......h...r ..y 0040 - 89 4a 28 e3 85 a4 8b da-e9 7a 29 c7 77 bf 22 0d .J(......z).w.". 0050 - bd 5c f6 61 8c a1 14 bd-cb 31 27 66 7a dc 51 28 .\.a.....1'fz.Q( 0060 - b7 из 35 bd 2b 0f d4 ec-d3 e0 14 c8 65 03 b1 35 ..5.+.... ...e ..5 0070 - 38 34 f8 de 48 da ae 31-90 bd f6 b0 e6 9c cf 19 84..H..1........ 0080 - f5 42 56 13 88 b0 8c db-aa ee 5a d7 1b 2c dd 71 .BV.......Z..,.q 0090 - 7a f1 03 70 90 94 c9 0a-62 e5 0f 9c bf dc 3c a0 z..p.. ..b. ....<. Время начала: 1495484262 Тайм-аут: 300 (сек) Проверка кода возврата: 18 (самозаверяющий сертификат) --- + OK Dovecot готов! ПОЛЬЗОВАТЕЛЬ леголас + ОК ПРОПУСК Леголаса + ОК Авторизовался. СПИСОК + OK 1 сообщений: 1 1021. РЕТР 1 +OK 1021 октет. Обратный путь: X-Original-Кому: legolas@desdelinux.fan Кому доставлено: legolas@desdelinux.fan Получено: от сисадмина.desdelinux.fan (шлюз [172.16.10.1]) desdelinux.fan (Postfix) с идентификатором ESMTP 51886C11E8C0 дляdesdelinux.фан>; Пн, 22 мая 2017 г., 15:09:11 -0400 (EDT) Идентификатор сообщения: <919362.931369932-sendEmail@sysadmin> От: «buzz@deslinux.fan» Кому: "Леголас@desdelinux.вентилятор"desdelinux.fan> Тема: Привет Дата: Пн, 22 мая 2017 г. 19:09:11 +0000 X-Mailer: sendEmail-1.56 MIME-версия: 1.0 Тип контента: multipart/based; border="----MIME-разделитель для sendEmail-365707.724894495" Это сообщение в формате MIME, состоящее из нескольких частей. Чтобы правильно отобразить это сообщение, вам нужна программа электронной почты, совместимая с MIME-версией 1.0. ------MIME-разделитель для sendEmail-365707.724894495 Тип контента: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Привет, Леголас, от твоего друга Базза ------MIME-разделитель для sendEmail-365707.724894495-- . УВОЛИТЬСЯ + ОК Выход из системы. закрыто buzz @ sysadmin: ~ $
Squirrelmail
Squirrelmail это веб-клиент, полностью написанный на PHP. Он включает встроенную поддержку PHP для протоколов IMAP и SMTP и обеспечивает максимальную совместимость с различными используемыми браузерами. Он правильно работает на любом сервере IMAP. Он имеет все функции, которые вам нужны от почтового клиента, включая поддержку MIME, адресную книгу и управление папками.
[root @ linuxbox ~] # yum install squirrelmail
[root @ linuxbox ~] # перезапуск службы httpd
[корень @ linuxbox ~] # nano /etc/squirrelmail/config.php
$домен = 'desdelinux.вентилятор';
$imapServerAddress = 'mail.desdelinux.вентилятор';
$ imapPort = 143;
$smtpServerAddress = 'desdelinux.вентилятор';
[root @ linuxbox ~] # перезагрузка службы httpd
Фреймворк политики отправки DNS или запись SPF
В статье Авторитетный DNS-сервер NSD + Shorewall Мы увидели, что Зона «desdelinux.fan» был настроен следующим образом:
root@ns:~# nano /etc/nsd/desdelinux.fan.zone $ORIGIN desdelinux.вентилятор. $TTL 3H @ номера IN SOA.desdelinux.вентилятор. корень.desdelinux.вентилятор. (1; последовательный порт 1D; обновление 1H; повтор 1W; срок действия 3H); минимум или ; Отрицательное время жизни кэширования; @ ИН НС нс.desdelinux.вентилятор. @ IN MX 10 электронная почта.desdelinux.вентилятор. @ IN TXT "v=spf1 a:mail.desdelinux.фан -все" ; ; Регистрация для решения запросов на раскопки desdelinux.fan @ IN A 172.16.10.10; ns IN A 172.16.10.30 почта IN CNAME desdelinux.вентилятор. чат в CNAME desdelinux.вентилятор. www В CNAME desdelinux.вентилятор. ; ; SRV-записи, связанные с XMPP _xmpp-server._tcp В SRV 0 0 5269 desdelinux.вентилятор. _xmpp-client._tcp В SRV 0 0 5222 desdelinux.вентилятор. _jabber._tcp В SRV 0 0 5269 desdelinux.вентилятор.
В нем декларируется реестр:
@ IN TXT "v=spf1 a:mail.desdelinux.фан -все"
Чтобы тот же параметр был настроен для сети SME или LAN, мы должны изменить файл конфигурации Dnsmasq следующим образом:
# TXT-записей. Мы также можем объявить запись SPF txt-record=desdelinux.fan,"v=spf1 a:mail.desdelinux.фан -все"
Затем перезапускаем сервис:
[root @ linuxbox ~] # перезапуск службы dnsmasq [root@linuxbox ~]# статус службы dnsmasq [root@linuxbox ~]# хост -t TXT-почта.desdelinux.фан-почта.desdelinux.fan — это псевдоним для desdelinux.вентилятор. desdelinuxОписательный текст .fan "v=spf1 a:mail.desdelinux.фан -все"
Самоподписанные сертификаты и Apache или httpd
Даже если ваш браузер сообщает вам, что «Владелец по электронной почте.desdelinux.вентилятор Вы неправильно настроили свой сайт. Чтобы предотвратить кражу вашей информации, Firefox не подключился к этому веб-сайту », - ранее созданный сертификат. ДЕЙСТВИТЕЛЬНО, и позволит учетным данным между клиентом и сервером перемещаться в зашифрованном виде после того, как мы примем сертификат.
При желании и в качестве способа унификации сертификатов вы можете объявить для Apache те же сертификаты, которые вы объявили для Postfix, что является правильным.
[root @ linuxbox ~] # нано /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/desdelinux.fan.crt
SSLCertificateKeyFile /etc/pki/tls/private/desdelinux.fan.key
[root @ linuxbox ~] # service httpd restart
[root @ linuxbox ~] # статус службы httpd
Группа Диффи-Хеллмана
Тема безопасности в Интернете становится все сложнее с каждым днем. Одна из самых распространенных атак на соединения SSLЕсть ли затор и для защиты от него необходимо добавить нестандартные параметры в конфигурацию SSL. Для этого есть RFC-3526 «Больше модульной экспоненты (MODP) Диффи-Хеллмана группы для обмена ключами в Интернете (IKE)».
[root @ linuxbox ~] # cd / etc / pki / tls /
[root @ linuxbox tls] # openssl dhparam -out private / dhparams.pem 2048
[root @ linuxbox tls] # chmod 600 private / dhparams.pem
В соответствии с установленной нами версией Apache мы будем использовать группу Диффи-Хельмана из файла /etc/pki/tls/dhparams.pem. Если это версия 2.4.8 или новее, то нам нужно будет добавить в файл /etc/httpd/conf.d/ssl.conf следующая строка:
SSLOpenSSLConfCmd DHParameters "/etc/pki/tls/private/dhparams.pem"
Версия Apache, которую мы используем:
[root @ linuxbox tls] # ням информация httpd
Загруженные плагины: fastestmirror, langpacks Скорость загрузки зеркала из кэшированного хост-файла Установленные пакеты Имя: httpd Архитектура: x86_64
Версия: 2.4.6
Релиз: 45.el7.centos Размер: 9.4 M Репозиторий: установлен Из репозитория: Base-Repo Обзор: HTTP-сервер Apache URL: http://httpd.apache.org/ Лицензия: ASL 2.0 Описание: HTTP-сервер Apache - это мощный, эффективный и расширяемый: веб-сервер.
Поскольку у нас есть версия до 2.4.8, мы добавляем в конец ранее сгенерированного сертификата CRT содержимое группы Диффи-Хельмана:
[root @ linuxbox tls] # cat private / dhparams.pem >> сертификаты/desdelinux.fan.crt
Если вы хотите убедиться, что параметры DH были правильно добавлены в сертификат CRT, выполните следующие команды:
[root @ linuxbox tls] # cat private / dhparams.pem ----- НАЧАЛО ПАРАМЕТРОВ DH ----- MIIBCAKCAQEAnwfWSlirEuMwJft0hgAdB0km9d3qGGiErRXPfeZU+Tqp/ZFOCdzP /O6NeXuHI4vnsTDWEAjXmpRzq/z1ZEWQa6j+l1PgTgk2XqaMViD/gN+sFPnx2EmV keVcMDqG03gnmCgO9R4aLYT8uts5T6kBRhvxUcrk9Q7hIpGCzGtdgwaVf1cbvgOe 8kfpc5COh9IxAYahmNt+5pBta0SDlmoDz4Rk/4AFXk2mjpDYoizaYMPeIInGUzOv /LE6Y7VVRY/BJG9EZ5pVYJPCruPCUHkhvm+r9Tt56slk+HE2d52uFRSDd2FxK3n3 cN1vJ5ogsvmHayWUjVUA18LLfGSxEFsc4wIBAg== ----- КОНЕЦ ПАРАМЕТРОВ DH ----- [root@linuxbox tls]# кошачьих сертификатов/desdelinux.fan.crt -----BEGIN CERTIFICATE----- MIIGBzCCA++gAwIBAgIJANd9FLCkDBfzMA0GCSqGSIb3DQEBCwUAMIGZMQswCQYD VQQGEwJDVTENMAsGA1UECAwEQ3ViYTEPMA0GA1UEBwwGSGFiYW5hMRcwFQYDVQQK DA5EZXNkZUxpbnV4LkZhbjEUMBIGA1UECwwLRW50dXNpYXN0YXMxFzAVBgNVBAMM DmRlc2RlbGludXguZmFuMSIwIAYJKoZIhvcNAQkBFhNidXp6QGRlc2RlbGludXgu ZmFuMB4XDTE3MDUyMjE0MDQ1MloXDTIyMDUyMTE0MDQ1MlowgZkxCzAJBgNVBAYT AkNVMQ0wCwYDVQQIDARDdWJhMQ8wDQYDVQQHDAZIYWJhbmExFzAVBgNVBAoMDkRl c2RlTGludXguRmFuMRQwEgYDVQQLDAtFbnR1c2lhc3RhczEXMBUGA1UEAwwOZGVz ZGVsaW51eC5mYW4xIjAgBgkqhkiG9w0BCQEWE2J1enpAZGVzZGVsaW51eC5mYW4w ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCn5MkKRdeFYiN+xgGdsRn8 sYik9X75YnJcbeZrD90igfPadZ75ehtfYIxxOS+2U+omnFgr/tCKYUVJ50seq/lB idcLP4mt7wMrMZUDpy1rlWPOZGKkG8AdStCYI8iolvJ4rQtLcsU6jhRzEXsZxfOb O3sqc71yMIj5qko55mlsEVB3lJq3FTDQAY2PhXopJ8BThW1T9iyl1HlYpxj7OItr /BqiFhxbP17Fpd3QLyNiEl+exVJURYZkvuZQqVPkFAlyNDh5I2fYfrI9yBVPBrZF uOdRmT6jv6jFxsBy9gggcy+/u1nhlKssLBEhyaKfaQoItFGCAmevkyzdl1LTYDPY ULi79NljQ1dSwWgraZ3i3ACZIVO/kHcOPljsNxE8omI6qNFWqFd1qdPH5S4c4IR1 5URRuwyVNffEHKaCJi9vF9Wn8LVKnN/+5zZGRJA8hI18HH9kF0A1sCNj1KKiB/xe /02wTzR/Gbj8pkyO8fjVBvd/XWI8EMQyMc1gvtIAvZ00SAB8c1NEOCs5pt0Us6pm 1lOkgD6nl90Dx9p805mTKD+ZcvRaShOvTyO3HcrxCxOodFfZQCuHYuQb0dcwoK2B yOwL77NmxNH1QVJL832lRARn8gpKoRAUrzdTSTRKmkVrOGcfvrCKhEBsJ67Gq1+T YDLhUiGVbPXXR9rhAyyX2QIDAQABo1AwTjAdBgNVHQ4EFgQURGCMiLVLPkjIyGZK UrZgMkO0X8QwHwYDVR0jBBgwFoAURGCMiLVLPkjIyGZKUrZgMkO0X8QwDAYDVR0T BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAdy1tH1DwfCW47BNJE1DW8Xlyp+sZ uYTMOKfNdnAdeSag1WshR6US6aCtU6FkzU/rtV/cXDKetAUIzR50aCYGTlfMCnDf KKMZEPjIlX/arRwBkvIiRTU1o3HTniGp9d3jsRWD/AvB3rSus4wfuXeCoy7Tqc9U FaXqnvxhF8/ptFeeCeZgWu16zyiGBqMj4ZaQ7RxEwcoHSd+OByg8E9IE2cYrWP2V 6P7hdCXmw8voMxCtS2s++VRd1fGqgGxXjXT8psxmY2MrseuTM2GyWzs+18A3VVFz UXLD2lzeYs638DCMXj5/BMZtVL2a4OhMSYY4frEbggB3ZgXhDDktUb7YhnBTViM3 2sgJJOSTltOgAnyOPE0CDcyktXVCtu3PNUc+/AB3UemI9XCw4ypmTOMaIZ2Gl6Uo pmTk41fpFuf8pqW3ntyu43lC5pKRBqhit6MoFGNOCvFYFBWcltpqnjsWfY2gG/b5 8D5HsedueqkAsVblKPBFpv1BB9X0HhBUYsrz8jNGZGbkgR4XQoIoLbQZHEB35APU 4yT1Lzc3jk34yZF5ntmFt3wETSWwJZ+0cYPw7n4E6vbs1C7iKAMQRVy+lI5f8XYS YKfrieiPPdmQ22Zm2Tbkqi4zjJBWmstrw6ezzAQNaaAkiOiJIwvXU81KYsN37THh Nf0/JsEjPklCugE= -----END CERTIFICATE----- -----BEGIN DH PARAMETERS----- MIIBCAKCAQEAnwfWSlirEuMwJft0hgAdB0km9d3qGGiErRXPfeZU+Tqp/ZFOCdzP /O6NeXuHI4vnsTDWEAjXmpRzq/z1ZEWQa6j+l1PgTgk2XqaMViD/gN+sFPnx2EmV keVcMDqG03gnmCgO9R4aLYT8uts5T6kBRhvxUcrk9Q7hIpGCzGtdgwaVf1cbvgOe 8kfpc5COh9IxAYahmNt+5pBta0SDlmoDz4Rk/4AFXk2mjpDYoizaYMPeIInGUzOv /LE6Y7VVRY/BJG9EZ5pVYJPCruPCUHkhvm+r9Tt56slk+HE2d52uFRSDd2FxK3n3 cN1vJ5ogsvmHayWUjVUA18LLfGSxEFsc4wIBAg== ----- КОНЕЦ ПАРАМЕТРОВ DH -----
После этих изменений мы должны перезапустить службы Postfix и httpd:
[root @ linuxbox tls] # перезапуск постфикса службы [root @ linuxbox tls] # статус постфикса службы [root @ linuxbox tls] # перезапуск службы httpd [root @ linuxbox tls] # статус httpd службы
Включение группы Diffie-Helman Group в наши сертификаты TLS может немного замедлить подключение по HTTPS, но добавление безопасности того стоит.
Проверка Squirrelmail
Despues что сертификаты сгенерированы правильно и что мы проверяем их правильную работу, как это делали с помощью консольных команд, укажите в предпочтительном браузере URL http://mail.desdelinux.fan/webmail и он подключится к веб-клиенту после принятия соответствующего сертификата. Обратите внимание, что даже если вы укажете протокол HTTP, он будет перенаправлен на HTTPS, и это связано с конфигурацией по умолчанию, которую CentOS предлагает для Squirrelmail. Посмотреть файл /etc/httpd/conf.d/squirrelmail.conf.
О почтовых ящиках пользователей
Dovecot создает почтовые ящики IMAP в папке главная каждого пользователя:
[корень @ linuxbox ~] # ls -la /home/legolas/mail/.imap/ всего 12 drwxrwx ---. 5 леголас мейл 4096 22 мая 12:39. drwx ------. 3 леголас леголас 75 22 мая, 11:34 .. -rw -------. 1 леголас леголас 72 22 мая, 11:34 dovecot.mailbox.log -rw -------. 1 леголас леголас 8 мая, 22:12 dovecot-uidvalidity -r - r - r--. 39 леголас леголас 1 0 мая 22:10 dovecot-uidvalidity.12f5922d1 drwxrwx ---. 1 леголас почта 2 56 мая 22:10 INBOX drwx ------. 23 леголас леголас 2 56 мая 22:12 Отправлено drwx ------. 39 леголас леголас 2 мая 30 22:11 Trash
Они также хранятся в / var / mail /
[root @ linuxbox ~] # меньше / var / mail / legolas От MAILER_DAEMON Пн, 22 мая 10:28:00 Дата: Пн, 2017 мая 22 г. 2017:10:28 -00 От: Внутренние данные почтовой системы Тема: НЕ УДАЛЯЙТЕ ЭТО СООБЩЕНИЕ — ВНУТРЕННИЕ ДАННЫЕ ПАПКИ Идентификатор сообщения: <0400@linuxbox> . Он создается автоматически программным обеспечением почтовой системы. При удалении важные данные папки будут утеряны, и она будет создана заново со сбросом данных к исходным значениям. От корня@desdelinux.fan Пн, 22 мая 10:47:10 2017 Путь возврата:desdelinux.fan> X-Original-To: legolas Доставлено-To: legolas@desdelinux.fan Получено: автором desdelinux.fan (Postfix, от пользователя 0) с идентификатором 7EA22C11FC57; Пн, 22 мая 2017 г. 10:47:10 -0400 (EDT) Дата: Пн, 22 мая 2017 г. 10:47:10 -0400 Кому: legolas@desdelinux.fan Тема: Тестовый пользовательский агент: Heirloom mailx 12.5 7 Версия MIME: 5 Тип контента: text/plain; charset=us-ascii Кодирование передачи контента: 10 бит Идентификатор сообщения: <1.0EA7C20170522144710.7FC22@desdelinux.fan> От: root@desdelinux.fan (root) X-UID: 7 Статус: RO Здравствуйте. Это тестовое сообщение от buzz@deslinux.fan, понедельник, 22 мая, 10:53:08, 2017. Путь возврата: X-Original-Кому: legolas@desdelinux.fan Кому доставлено: legolas@desdelinux.fan Получено: от сисадмина.desdelinux.fan (шлюз [172.16.10.1]) desdelinux.fan (Postfix) с идентификатором ESMTP C184DC11FC57 дляdesdelinux.фан>; Пн, 22 мая 2017 г., 10:53:08 -0400 (EDT) Идентификатор сообщения: <739874.219379516-sendEmail@sysadmin> От: «buzz@deslinux.fan» Кому: "Леголас@desdelinux.вентилятор"desdelinux.fan> Тема: Привет Дата: Пн, 22 мая 2017 г. 14:53:08 +0000 X-Mailer: sendEmail-1.56 MIME-версия: 1.0 Тип контента: multipart/based; border="----MIME-разделитель для sendEmail-794889.899510057 / var / mail / леголас
Резюме мини-сериала PAM
Мы рассмотрели суть почтового сервера и сделали небольшой упор на безопасность. Мы надеемся, что эта статья послужит отправной точкой в тему, столь же сложную и подверженную ошибкам, как реализация почтового сервера вручную.
Мы используем локальную аутентификацию пользователя, потому что, если мы правильно прочитаем файл /etc/dovecot/conf.d/10-auth.conf, мы увидим, что в итоге он включен -по умолчанию- файл аутентификации пользователей системы ! включить auth-system.conf.ext. Именно этот файл в заголовке сообщает нам, что:
[root @ linuxbox ~] # меньше /etc/dovecot/conf.d/auth-system.conf.ext
# Аутентификация для пользователей системы. Включено из 10-auth.conf. # # # # PAM аутентификация. В настоящее время предпочитается большинством систем.
# PAM обычно используется с userdb passwd или userdb static. # ПОМНИТЕ: вам понадобится файл /etc/pam.d/dovecot, созданный для аутентификации PAM #, чтобы она действительно работала. passdb {driver = pam # [session = yes] [setcred = yes] [failure_show_msg = yes] [max_requests = ] # [cache_key = ] [ ] #args = dovecot}
А другой файл существует /etc/pam.d/dovecot:
[root @ linuxbox ~] # cat /etc/pam.d/dovecot # Требуется авторизация% PAM-1.0 pam_nologin.so auth include password-auth account include password-auth session include password-auth
Что мы пытаемся донести об аутентификации PAM?
- CentOS, Debian, Ubuntu и многие другие дистрибутивы Linux устанавливают Postifx и Dovecot с включенной локальной аутентификацией по умолчанию.
- Многие статьи в Интернете используют MySQL - а в последнее время и MariaDB - для хранения пользователей и других данных, касающихся почтового сервера. НО это серверы для ТЫСЯЧ ПОЛЬЗОВАТЕЛЕЙ, а не для классической сети SME с - возможно - сотнями пользователей.
- Аутентификация через PAM необходима и достаточна для предоставления сетевых услуг, если они работают на одном сервере, как мы видели в этом минисериале.
- Пользователи, хранящиеся в базе данных LDAP, могут быть сопоставлены, как если бы они были локальными пользователями, а аутентификация PAM может использоваться для предоставления сетевых услуг с разных серверов Linux, которые действуют как клиенты LDAP для центрального сервера аутентификации. Таким образом, мы будем работать с учетными данными пользователей, хранящимися в центральной базе данных сервера LDAP, и НЕ будет иметь существенного значения поддерживать базу данных с локальными пользователями.
До следующего приключения!
Поверьте, на практике это процесс, который причиняет серьезную головную боль не одному системному администратору, я убежден, что в будущем это будет справочное руководство для всех, кто хочет управлять своей электронной почтой, практический случай, который становится в abc при интеграции postfix, dovecot, squirrelmail ..
Большое спасибо за ваш достойный вклад,
Почему бы не использовать Mailpile с PGP для обеспечения безопасности? Также Roundcube имеет гораздо более интуитивно понятный интерфейс и может также интегрировать PGP.
3 дня назад прочитал пост, знаю как вас благодарить. Я не планирую устанавливать почтовый сервер, но всегда полезно видеть создание сертификатов, полезных для других приложений, и срок действия этих руководств практически не истекает (особенно при использовании CentOS).
Мануэль Силлеро: Спасибо за ссылку на и из вашего блога на эту статью, которая представляет собой минимальное ядро почтового сервера на основе Postfix и Dovecot.
Ящерица: Как всегда, ваша оценка очень хорошо принята. Спасибо.
Дарко: Почти во всех своих статьях я более или менее говорю, что «каждый реализует услуги с помощью программ, которые им больше всего нравятся». Спасибо за комментарий.
Мартин: Спасибо вам также за то, что вы прочитали статью, и я надеюсь, что она поможет вам в вашей работе.
Потрясающая статья друга Федерико. Большое спасибо за такой хороший туто.
отлично, хотя я бы использовал «виртуальных пользователей», чтобы не создавать системного пользователя каждый раз, когда добавляю электронное письмо, спасибо, я узнал много нового, и это тип сообщения, которого я ждал
Добрый день,
Им будет предложено сделать то же самое с сервером каталогов Fedora + postifx + dovecot + thunderbird или outlook.
У меня есть часть, но я застрял, я бы с радостью поделился документом с сообществом @desdelinux
Не думал, что это дойдет до более 3000 посещений !!!
Привет Ящерица!
Отличный коллега по учебнику.
Не могли бы вы сделать это для Debian 10 с пользователями Active Directory, установленными на Samba4 ???
Я предполагаю, что это будет почти то же самое, но с изменением типа аутентификации.
Раздел, который вы посвятили созданию самозаверяющих сертификатов, очень интересен.