Linux
  • << DEBIAN >>

  •   Сървър на отделни хостове
  •     DNS Сървър
  •     SQL Сървър
  •     WEB Сървър
  •     Пощенски Сървър
  •   PXE Server
  •   PXE UEFI Server - TFTP
  •   Debian 9
  •     Инсталиране на Debian 9
  •     Първоначални настройки (мрежа, VIM, Кирилизация)
  •     Инсталиране и настройка на SSH
  •     Инсталиране и настройка на DNS
  •     Инсталиране и настройка на NTP
  •     Инсталиране и настройка на Apache
  •     Инсталиране и настройка на MySQL (MariaDB)
  •     Инсталиране и настройка на PHPMyAdmin
  •     Инсталиране и настройка на собствен облак
  •     Инсталиране и настройка на SAMBA
  •     Инсталиране и настройка на FTP сървър
  •     Инсталиране и настройка на OSCAM
  •     Инсталиране и настройка на Mail server
  •       Първоначално конфигуриране на базата данни
  •       Инсталиране и конфигуриране на PostFix
  •       Инсталиране и конфигуриране на Dovecot
  •       PostFix дефинира Dovecot да удостоверява
  •       RoundCube
  •       Тестване доставката на поща
  •       Създаване на TLS криптиран ключ и сертификат
  •       WEB администриране
  •       Антиспам със SpamAssassin
  •       Антиспам с RSpmad
  •   Debian 11
  •     Как зарежда Linux
  •     Разпределение на диска при BIOS и UEFI
  •     Debian 11 на BIOS върху LVM и RAID
  •     Инсталиране на Debian 11 на BIOS и ZFS
  •     Инсталиране на Debian 11 на BIOS и ZFS-1
  •     Инсталиране на Debian 11 на UEFI и ZFS
  •     ZFS Замяна на развален огледален диск
  •     Ремонт на GRUB и INITRAMFS
  •   Debian 12
  •     Първоначални настройки
  •     DNS Сървър
  •     Добавяне на втори диск
  •     Файлов сървър + WEBMIN
  •     SAMBA
  •     Инсталиране и настройка на Apache
  •     Инсталиране и настройка на Nginx
  •     MySQL и PHPMyAdmin
  •     Елементарен MAIL сървър
  •       Подобрение SSL/TLS, Maildir, LMTP
  •       Подобрение ВИРТУАЛИЗАЦИЯ без MySQL
  •       Подобрение ВИРТУАЛИЗАЦИЯ и MySQL
  •       Подобрение Антиспам - SpamAssasin
  •       Подобрение Антиспам - RSpamd
  •       Защита - SPF, DKIM и DMARK
  •       Подобрение Антивирус
  •     Пълноценен MAIL сървър
  •     Пощенски сървър с iRedMail и PHPMyAdmin
  •       DKIM, SPF и DMARK
  •     MAIL сървър за вътрешна мрежа
  •     NextCloud
  •     Сървър за отдалечен достъп - RustDESK
  • << UBUNTU >>
  •   Ubuntu SERVER 22.04
  •     Инсталиране на Ubuntu 22.04 Server
  •     Първоначални настройки на Ubuntu 22.04 Server
  •     DNS в Ubuntu 22.04 Server
  •     MySQL Apache PHPMyAdmin
  •     Пощенски сървър
  •       Пощенски сървър в опростен вариант
  •       PostFix, Dovecot по-подробно
  •   Ubuntu mini
  • << RAID >>
  •     BIOS RAID1+MSDOS
  •     BIOS RAID1+MSDOS+LVM
  •     UEFI RAID1
  • << BTRFS >>
  •     BTRFS - създаване монтиране fstab размер
  •     BTRFS - RAID
  •     BTRFS - subvolume и snapshot
  • << КОНТЕЙНЕРИ >>
  •     Инсталиране на LXC/LXD
  •     Образи (image) в LXC/LXD
  •     Контейнери в LXC/LXD
  •     Команди в LXC/LXD
  • << ОТСТРАНЯВАНЕ НА ГРЕШКИ >>
  •     SWAP
  •     InitRAMFs
  • PostFix и Dovecot за напреднали

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

    PostFix

    sudo nano /etc/postfix/main.cf ### Вълнуват ни следните редове # TLS parameters 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_CApath=/etc/ssl/certs smtp_tls_security_level=may smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

    Ползваме сертификати получени по време на инсталацията на Ubuntu. По-добрата практика е да ползваме тези които създадохме с Let's Encrypt's но за сега ще е така. Под горните редове добавяме и:

    sudo nano /etc/postfix/main.cf ### Вълнуват ни следните редове # TLS parameters 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_CApath=/etc/ssl/certs smtp_tls_security_level=may smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_tls_security_level=may smtpd_tls_loglevel = 1 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache #Enable TLS Encryption when Postfix sends outgoing emails smtp_tls_security_level = may smtp_tls_loglevel = 1 smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache #Enforce TLSv1.3 or TLSv1.2 smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1

    Сега ще променим master.cs за да активираме TLS криптирането и демона за изпращане. Демонът за изпращане използва порт 587 и също така startssl се използва за комуникация между клиент и демон за изпращане.

    sudo nano /etc/postfix/master.cf # Choose one: enable submission for loopback clients only, or for any client. #127.0.0.1:submission inet n - y - - smtpd #submission inet n - y - - smtpd submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_tls_wrappermode=no -o smtpd_sasl_auth_enable=yes -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth ### Ако ползвате Outlook # Choose one: enable smtps for loopback clients only, or for any client. #127.0.0.1:smtps inet n - y - - smtpd #smtps inet n - y - - smtpd smtps inet n - y - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth

    Порт 465 се нуждае от Ms Outlook. Рестартираме PostFix.

    sudo systemctl restart postfix

    И да проверим кои портове са активни.

    sudo ss -lnpt | grep master LISTEN 0 100 0.0.0.0:465 0.0.0.0:* users:(("master",pid=9672,fd=22)) LISTEN 0 100 0.0.0.0:25 0.0.0.0:* users:(("master",pid=9672,fd=13)) LISTEN 0 100 0.0.0.0:587 0.0.0.0:* users:(("master",pid=9672,fd=18)) LISTEN 0 100 [::]:465 [::]:* users:(("master",pid=9672,fd=23)) LISTEN 0 100 [::]:25 [::]:* users:(("master",pid=9672,fd=14)) LISTEN 0 100 [::]:587 [::]:* users:(("master",pid=9672,fd=19))

    Активни портове 465, 25 и 587. PostFix има файл с псевдоними и той е: /etc/aliasses

    sudo nano /etc/aliases # See man 5 aliases for format postmaster: root root: cccp

    Да обновим базата с псевдоними.

    sudo newaliases

    Сега пощата от postmaster@my.tlan.net ще пристига на root@my.tlan.net, а тази от root@my.tlan.net ще пристига на cccp@my.tlan.net. На практика пощата от postmaster@my.tlan.net ще пристига на cccp@my.tlan.net Да проверим лимитите на пощата.

    postconf | grep mailbox_size_limit mailbox_size_limit = 0

    Безлимитна. Да сменим лимита на 45MB = 50331648 байта

    sudo postconf -e message_size_limit=50331648

    Деактивираме IPv6.

    sudo postconf -e "inet_protocols = ipv4" sudo systemctl restart postfix

    Dovecot

    Dovecot работи с поротокол IMAP и POP3 да проверим.

    sudo nano /etc/dovecot/dovecot.conf # Enable installed protocols protocols = imap pop3 !include_try /usr/share/dovecot/protocols.d/*.protocol

    По подразбиране Postfix и Dovecot използват mbox като имейл магазин. Искаме да използваме maildir, защото е по-нов, модерен, мащабируем и по-добър по отношение на целостта на данните от mbox. Да проверим къде е директорията за спулиране на писмата.

    postconf mail_spool_directory mail_spool_directory = /var/mail

    mbox >> Maildir - 10-mail.conf

    Нека да преминем към maildir.

    sudo nano /etc/dovecot/conf.d/10-mail.conf # mail_location = mbox:~/mail:INBOX=/var/mail/%u mail_location = maildir:~/Maildir ### За стари версии на Ubuntu до 20.04 mail_privileged_group = mail

    Така мейлите ще се съхраняват в Maildir в домашната папка на потребителя. За стари версии на Ubuntu до 20.04 използваме и опцията mail_privileged_group = mail. В по-новите опцията съществува по подразбиране.

    Удостоверяване на потребителя - 10-auth.conf

    sudo nano /etc/dovecot/conf.d/10-auth.conf #disable_plaintext_auth = yes disable_plaintext_auth = yes ### Ако потребителя влиза с пълния мейл адрес #auth_username_format = %Lu auth_username_format = %n Изисква име и парола при влизане auth_mechanisms = plain login

    SSL/TSL - 10-ssl.conf

    sudo nano /etc/dovecot/conf.d/10-ssl.conf # ssl = yes ssl = required ssl_cert = </etc/dovecot/private/dovecot.pem ssl_key = </etc/dovecot/private/dovecot.key #ssl_prefer_server_ciphers = no ssl_prefer_server_ciphers = yes

    SASL аутентикация - 10-master.conf

    sudo nano /etc/dovecot/conf.d/10-master.conf # Postfix smtp-auth #unix_listener /var/spool/postfix/private/auth { # mode = 0666 #} # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix }

    Автоматично създаване на папки Изпратени и Кошче - 15-mailboxes.conf

    sudo nano /etc/dovecot/conf.d/15-mailboxes.conf # These mailboxes are widely used and could perhaps be created automatically: mailbox Drafts { auto = create special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Trash { auto = create special_use = \Trash } # For \Sent mailboxes there are two widely used names. We'll mark both of # them as \Sent. User typically deletes one of them if duplicates are created. mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent }

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

    sudo service dovecot restart sudo service dovecot status

    Да проверим на кои портове слуша Dovecot

    sudo ss -lnpt | grep dovecot LISTEN 0 100 0.0.0.0:110 0.0.0.0:* users:(("dovecot",pid=13411,fd=21)) LISTEN 0 100 0.0.0.0:143 0.0.0.0:* users:(("dovecot",pid=13411,fd=38)) LISTEN 0 100 0.0.0.0:993 0.0.0.0:* users:(("dovecot",pid=13411,fd=40)) LISTEN 0 100 0.0.0.0:995 0.0.0.0:* users:(("dovecot",pid=13411,fd=23)) LISTEN 0 100 [::]:110 [::]:* users:(("dovecot",pid=13411,fd=22)) LISTEN 0 100 [::]:143 [::]:* users:(("dovecot",pid=13411,fd=39)) LISTEN 0 100 [::]:993 [::]:* users:(("dovecot",pid=13411,fd=41)) LISTEN 0 100 [::]:995 [::]:* users:(("dovecot",pid=13411,fd=24)) LISTEN 0 100 0.0.0.0:110 0.0.0.0:* users:(("dovecot",pid=13411,fd=21)) LISTEN 0 100 0.0.0.0:13411 0.0.0.0:* users:(("dovecot",pid=13411,fd=38)) LISTEN 0 100 0.0.0.0:993 0.0.0.0:* users:(("dovecot",pid=13411,fd=40)) LISTEN 0 100 0.0.0.0:995 0.0.0.0:* users:(("dovecot",pid=13411,fd=23)) LISTEN 0 100 [::]:110 [::]:* users:(("dovecot",pid=13411,fd=22)) LISTEN 0 100 [::]:143 [::]:* users:(("dovecot",pid=13411,fd=39)) LISTEN 0 100 [::]:993 [::]:* users:(("dovecot",pid=13411,fd=41)) LISTEN 0 100 [::]:995 [::]:* users:(("dovecot",pid=13411,fd=24))

    Портове 110 (pop3), 143 (imap), 993 и 995 sudo service postfix restart sudo service dovecot restart

    Dovecot доставя мейли до Message Store - dovecot.conf, 10-master.conf, main.cf

    sudo apt install dovecot-lmtpd -y sudo nano /etc/dovecot/dovecot.conf # Enable installed protocols #protocols = imap pop3 protocols = imap lmtp !include_try /usr/share/dovecot/protocols.d/*.protocol sudo nano /etc/dovecot/conf.d/10-master.conf #service lmtp { # unix_listener lmtp { # #mode = 0666 # } # Create inet listener only if you can't use the above UNIX socket #inet_listener lmtp { # Avoid making LMTP visible for the entire internet #address = #port = #} #} service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix } } sudo nano /etc/postfix/main.cf mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = ipv4 message_size_limit = 50331648 mailbox_transport = lmtp:unix:private/dovecot-lmtp smtputf8_enable = no sudo systemctl restart dovecot sudo systemctl restart postfix

    Тест на ел. поща

    Pic01