Конфигурация на Postfix за максимална сигурност: изчерпателно ръководство

Основни настройки за сигурност

Преди да разгледаме разширените мерки за сигурност, трябва да се уверим, че основните настройки са правилни. Това включва ограничаване на достъпа до сървъра Postfix. Във файла /etc/postfix/main.cf трябва да добавите или коригирате следните редове:

inet_interfaces = loopback-only
mynetworks = 127.0.0.0/8 [::1]/128

Тези настройки ограничават достъпа до локалния хост и предотвратяват злоупотребата със сървъра като отворен ретранслатор. Отвореното реле може да се използва от спамъри за изпращане на нежелани имейли, което може сериозно да навреди на репутацията на вашия сървър. Затова е изключително важно да се извърши тази основна защита.

Активиране на криптирането TLS

Използването на TLS (Transport Layer Security - сигурност на транспортния слой) е от съществено значение за гарантиране на поверителността на комуникацията по електронна поща. Добавете следните редове към main.cf-файл:

smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level = may
smtp_tls_security_level = may

Тези настройки активират TLS за входящи и изходящи връзки. Уверете се, че използвате валидни SSL сертификати, в идеалния случай от доверен сертифициращ орган (CA). Правилно реализираният TLS защитава вашите имейли от прихващане и манипулиране по време на предаването. Допълнителна информация за конфигурирането на TLS можете да намерите в официалната [документация на Postfix](https://www.postfix.org/TLS_README.html).

Настройка на SASL удостоверяване

Простият слой за удостоверяване и сигурност (SASL) осигурява допълнително ниво на сигурност. Добавете тези редове към main.cf добавени:

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname

Тази конфигурация предполага, че използвате Dovecot като доставчик на SASL. Ако използвате друг доставчик, коригирайте настройките съответно. SASL удостоверяването не позволява на неоторизирани потребители да изпращат имейли чрез вашия сървър, което значително повишава сигурността.

Защита срещу атаки за отказ на услуга

За да предпазите сървъра си от претоварване, можете да зададете ограничения на връзките. Добавете тези редове към main.cf добавени:

smtpd_client_connection_rate_limit = 50
smtpd_client_message_rate_limit = 100
anvil_rate_time_unit = 60s

Тези настройки ограничават броя на връзките и съобщенията, които клиентът може да изпраща в минута. Като ограничите това, можете да предотвратите претоварването на сървъра от масови заявки или спам имейли. Това е важна стъпка за осигуряване на достъпността на вашия пощенски сървър.

Въвеждане на ограничения за HELO/EHLO

Много податели на спам използват невалидни или фалшифицирани имена на хостове HELO/EHLO. Можете да блокирате такива връзки със следните настройки:

smtpd_helo_required = yes
smtpd_helo_restrictions =
 permit_mynetworks,
 reject_invalid_helo_hostname,
 reject_non_fqdn_helo_hostname

Тези правила изискват валидно име на хост HELO/EHLO и отхвърлят връзки с невалидни или не напълно квалифицирани имена на домейни. Това затруднява изпращането на фалшиви имейли от спамърите, тъй като те трябва да предоставят коректна HELO/EHLO информация.

Въвеждане на ограничения за предавателите

За да предотвратите злоупотреба със сървъра, можете да зададете ограничения за изпращачите:

smtpd_sender_restrictions =
 permit_mynetworks,
 reject_non_fqdn_sender,
 reject_unknown_sender_domain,
 reject_unauth_pipelining

Тези правила отхвърлят имейли от непълно квалифицирани адреси на податели или от непознати домейни на податели. Това намалява вероятността сървърът ви да бъде използван за спам или фишинг и същевременно подобрява цялостното качество на получените имейли.

Конфигуриране на ограниченията за получателите

Подобно на ограниченията за изпращачите, можете да дефинирате правила и за получателите:

smtpd_recipient_restrictions =
 permit_mynetworks,
 reject_unauth_destination,
 reject_non_fqdn_recipient,
 reject_unknown_recipient_domain

Тези настройки предотвратяват злоупотребата със сървъра ви като ретранслатор за неоторизирани дестинации и отхвърлят имейли до невалидни адреси на получатели. Това допълнително повишава сигурността на вашия сървър и в същото време гарантира целостта на имейл комуникацията.

Прилагане на greylisting

Грейлистата е ефективен метод за намаляване на спама. Първо инсталирайте пакета Postgrey:

sudo apt install postgrey

След това добавете следния ред към main.cf добавени:

smtpd_recipient_restrictions =
 ... (съществуващи настройки)
 check_policy_service unix:private/postgrey

Тази конфигурация първо препраща входящите имейли към услугата Postgrey, която генерира временни отхвърляния за непознати податели. Имейл сървърите, които изпращат легитимни имейли, повтарят доставката след известно забавяне, като ефективно елиминират изпращачите на спам, които често се опитват да изпратят само веднъж.

Активиране на проверката на SPF

Рамката за политика на изпращача (SPF) помага за предотвратяване на фалшифицирането на имейли. Първо инсталирайте необходимия пакет:

sudo apt install postfix-policyd-spf-python

След това добавете тези редове към main.cf добавени:

policyd-spf_time_limit = 3600s
smtpd_recipient_restrictions =
 ... (съществуващи настройки)
 check_policy_service unix:private/policyd-spf

Тази конфигурация активира проверката на SPF за входящи имейли. SPF проверява дали имейлът е изпратен от упълномощен сървър за посочения домейн, което помага за предотвратяване на фалшифициране и повишаване на надеждността на вашата имейл комуникация.

Внедряване на подписване с DKIM

DomainKeys Identified Mail (DKIM) добавя цифров подпис към изходящите имейли. Първо инсталирайте OpenDKIM:

sudo apt install opendkim opendkim-tools

След това конфигурирайте OpenDKIM и добавете тези редове към main.cf добавени:

milter_protocol = 2
milter_default_action = accept
smtpd_milters = unix:/var/run/opendkim/opendkim.sock
non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock

Тези настройки активират подписването DKIM за изходящи имейли. DKIM повишава сигурността, като гарантира, че имейлите не са били променени незабелязано, и засилва доверието в автентичността на съобщенията.

Създаване на насоки за DMARC

Домейн-базираното удостоверяване, докладване и съответствие на съобщенията (DMARC) се основава на SPF и DKIM. Добавете DMARC DNS запис за вашия домейн и инсталирайте OpenDMARC:

sudo apt install opendmarc

Конфигурирайте OpenDMARC и добавете този ред към main.cf добавени:

smtpd_milters = ... (съществуващи настройки), inet:localhost:8893

Тази конфигурация разрешава проверката на DMARC за входящи имейли. DMARC позволява на собствениците на домейни да задават политики за това как получаващите сървъри да обработват неуспешни SPF или DKIM проверки и предоставя подробни отчети за удостоверяването на имейли.

Редовни актуализации и мониторинг

Сигурността е непрекъснат процес. Уверете се, че редовно актуализирате системата си Postfix:

sudo apt update
sudo apt upgrade

Също така следете регистрите на Postfix за подозрителна активност:

tail -f /var/log/mail.log

Редовните актуализации отстраняват известни пропуски в сигурността и подобряват стабилността на вашия пощенски сървър. Непрекъснатото наблюдение на регистрационните файлове ви позволява да разпознавате необичайни дейности на ранен етап и да реагирате бързо на тях.

Допълнителни мерки за безопасност

В допълнение към основните и разширените мерки за сигурност има и допълнителни стъпки, които можете да предприемете, за да повишите допълнително сигурността на вашия Postfix сървър:

Конфигурация на защитната стена

Уверете се, че защитната стена е отворила само необходимите портове за пощенския сървър. Обикновено това са порт 25 (SMTP), порт 587 (подаване) и порт 993 (IMAP чрез SSL). Използвайте инструменти като ufw или iptablesда контролирате достъпа до тези портове и да блокирате нежелани връзки.

Системи за откриване на проникване (IDS)

Внедряване на система за откриване на проникване, като например Fail2Banза откриване на повтарящи се неуспешни опити за влизане и автоматично блокиране на IP адреси, които показват подозрително поведение. Това намалява риска от атаки с груба сила към вашия пощенски сървър.

Резервни копия и възстановяване

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

Управление на потребители и права

Управлявайте внимателно потребителските акаунти и задавайте само необходимите права. Използвайте силни пароли и обмислете въвеждането на многофакторно удостоверяване (MFA), за да защитите допълнително достъпа до пощенския сървър.

Най-добри практики за поддръжка на Postfix

Текущата поддръжка на вашия Postfix сървър е от решаващо значение за поддържане на сигурността и производителността. Ето някои най-добри практики:


  • Редовно проверявайте конфигурацията: Редовно проверявайте main.cf и други конфигурационни файлове, за да се гарантира, че всички мерки за сигурност са приложени правилно.

  • Анализ на дневника: Използвайте инструменти за автоматичен анализ на пощенските логове, за да идентифицирате бързо аномалии и потенциални инциденти със сигурността.

  • Актуализации на софтуера: Актуализирайте редовно не само Postfix, но и всички зависими компоненти, като Dovecot, OpenDKIM и OpenDMARC.

  • Мониторинг и предупреждения: Въведете система за наблюдение, която ви уведомява за необичайни дейности или съобщения за грешки.

Избягване на често срещани грешки в конфигурацията на Postfix

При конфигурирането на Postfix за постигане на максимална сигурност има често срещани грешки, които трябва да се избягват:


  • Отворено реле: Уверете се, че сървърът ви не е конфигуриран като отворен ретранслатор, като зададете inet_interfaces и mynetworks-настройки правилно.

  • Невалидни TLS сертификати: Винаги използвайте валидни и актуални SSL сертификати, за да използвате ефективно TLS криптиране.

  • Липсва удостоверяване: Активирайте SASL удостоверяване, за да предотвратите злоупотреба със сървъра.

  • Недостатъчни ограничения на тарифите: Задайте подходящи ограничения на връзките, за да предотвратите атаки от типа "отказ на услуга".

  • Липсва SPF/DKIM/DMARC: Прилагайте цялостни методи за удостоверяване на имейли, за да гарантирате целостта и автентичността на имейлите си.

Резюме

Конфигурирането на Postfix за максимална сигурност изисква внимателно планиране и редовна поддръжка. Като приложите мерките, описани в тази статия, можете значително да подобрите сигурността на вашия имейл сървър. Не забравяйте, че сигурността е непрекъснат процес. Бъдете в крак с новите заплахи и най-добрите практики, за да поддържате вашия Postfix сървър защитен. Възползвайте се от наличните ресурси и общности, за да се образовате и да останете в крак с технологиите.

За допълнителна информация и подробни инструкции посетете официалната [Postfix documentation](https://www.postfix.org/documentation.html) и други надеждни източници в областта на сигурността на електронната поща.

Текущи статии