Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
it:linux:mail_server [2016/02/06 09:51]
kourim [Nastavení Postfix]
it:linux:mail_server [2016/02/07 19:28] (aktuální)
kourim [Nastavení Dovecot]
Řádek 69: Řádek 69:
 cp /​etc/​postfix/​master.cf /​etc/​postfix/​master.cf.orig</​sxh>​ cp /​etc/​postfix/​master.cf /​etc/​postfix/​master.cf.orig</​sxh>​
   - zeditujeme /​etc/​postfix/​main.cf,​ aby se dostal do tohoto stavu {{:​it:​linux:​postfix_main.txt|main.cf}}   - zeditujeme /​etc/​postfix/​main.cf,​ aby se dostal do tohoto stavu {{:​it:​linux:​postfix_main.txt|main.cf}}
-    * nastavíme všechyn smtpd_* vlastnosti podle ukázky+    * nastavíme všechyn smtpd_* vlastnosti podle ukázky ​<sxh bash>​smtpd_tls_cert_file=/​etc/​dovecot/​dovecot.pem 
 +smtpd_tls_key_file=/​etc/​dovecot/​private/​dovecot.pem 
 +smtpd_use_tls=yes 
 +smtpd_tls_auth_only = yes 
 + 
 +#Enabling SMTP for authenticated users, and handing off authentication to Dovecot 
 +smtpd_sasl_type = dovecot 
 +smtpd_sasl_path = private/​auth 
 +smtpd_sasl_auth_enable = yes 
 + 
 +smtpd_recipient_restrictions = 
 +        permit_sasl_authenticated,​ 
 +        permit_mynetworks,​ 
 +        reject_unauth_destination</​sxh>​
     * všechny výskyty example.com přepíšeme na naší doménu     * všechny výskyty example.com přepíšeme na naší doménu
     * na řádku 44 přepíšeme hostname na server hostname     * na řádku 44 přepíšeme hostname na server hostname
Řádek 102: Řádek 115:
 postmap -q alias@example.com pgsql:/​etc/​postfix/​pgsql-virtual-alias-maps.cf</​sxh>​ postmap -q alias@example.com pgsql:/​etc/​postfix/​pgsql-virtual-alias-maps.cf</​sxh>​
   - nyní je potřeba upravit ještě /​etc/​postfix/​master.cf,​ aby se dostal do tohoto stavu {{:​it:​linux:​postfix_master.txt|master.cf}}   - nyní je potřeba upravit ještě /​etc/​postfix/​master.cf,​ aby se dostal do tohoto stavu {{:​it:​linux:​postfix_master.txt|master.cf}}
 +    * je potřeba odkomentovat řádek začínající submission a všechny -o navazující
 +    * je potřeba odkomentovat řádek začínající smtps a všechny -o navazující
 +  - restartujeme postfix<​sxh bash>​service postfix restart</​sxh>​
 ==== Nastavení Dovecot ==== ==== Nastavení Dovecot ====
 +  - vytvoříme zálohu všech konfiguračních souborů, kde budeme něco editovat <sxh bash>cp /​etc/​dovecot/​dovecot.conf /​etc/​dovecot/​dovecot.conf.orig
 +cp /​etc/​dovecot/​conf.d/​10-mail.conf /​etc/​dovecot/​conf.d/​10-mail.conf.orig
 +cp /​etc/​dovecot/​conf.d/​10-auth.conf /​etc/​dovecot/​conf.d/​10-auth.conf.orig
 +cp /​etc/​dovecot/​dovecot-sql.conf.ext /​etc/​dovecot/​dovecot-sql.conf.ext.orig
 +cp /​etc/​dovecot/​conf.d/​10-master.conf /​etc/​dovecot/​conf.d/​10-master.conf.orig
 +cp /​etc/​dovecot/​conf.d/​10-ssl.conf /​etc/​dovecot/​conf.d/​10-ssl.conf.orig
 +</​sxh>​
 +  - zeditujeme hlavní konfigurační soubor /​etc/​dovecot/​dovecot.conf do tohoto stavu {{:​it:​linux:​dovecot_dovecot.txt|dovecot.conf}}
 +  - zeditujeme soubor /​etc/​dovecot/​conf.d/​10-mail.conf,​ který se stará o ukládání/​získávání emailů z file systému, aby vypadal takto {{:​it:​linux:​dovecot_10-mail.conf.txt|10-mail.conf}}<​sxh bash>​mail_location = maildir:/​var/​mail/​vhosts/​%d/​%n
 +...
 +mail_privileged_group = mail</​sxh>​
 +  - ověříme, aby nám seděli práva na /​var/​mail<​sxh bash>ls -ld /var/mail
 +drwxrwsr-x 2 root mail 4096 Mar  6 15:08 /​var/​mail</​sxh>​
 +  - vytvoříme si adresáře na ukládání emailu a přidělíme je nově vytvořenému uživateli vmail<​sxh bash>​mkdir -p /​var/​mail/​vhosts/​example.com
 +
 +groupadd -g 5000 vmail
 +useradd -g vmail -u 5000 vmail -d /var/mail
 +
 +chown -R vmail:vmail /var/mail
 +</​sxh>​
 +  - zeditujeme soubor /​etc/​dovecot/​conf.d/​10-auth.conf,​ který se stará authentikaci uživatelů,​ aby následující parametry měli tyto hodnoty<​sxh bash>​disable_plaintext_auth = yes
 +auth_mechanisms = plain login
 +#!include auth-system.conf.ext ​  # zakomentovat tento řádek
 +!include auth-sql.conf.ext ​      # odkomentovat tento řádek
 +</​sxh>​
 +  - zeditujeme souboru /​etc/​dovecot/​conf.d/​auth.sql.conf.ext<​sxh bash>​passdb {
 +  driver = sql
 +  args = /​etc/​dovecot/​dovecot-sql.conf.ext
 +}
 +userdb {
 +  driver = static
 +  args = uid=vmail gid=vmail home=/​var/​mail/​vhosts/​%d/​%n
 +}</​sxh>​
 +  - zeditujeme /​etc/​dovecot/​dovecot-sql.conf.ext,​ kde se drží informace o připojení na databázi, těmito hodnotami<​sxh bash>​driver = pgsql
 +connect = host=localhost dbname=mailserver user=mailuser password=heslo
 +default_pass_scheme = SHA512
 +password_query = SELECT email as user, password FROM virtual_users WHERE email='​%u';​
 +</​sxh>​
 +  - změníme vlastníka a práva kolem dovecot aplikace<​sxh bash>​chown -R vmail:​dovecot /​etc/​dovecot
 +chmod -R o-rwx /​etc/​dovecot</​sxh>​
 +  - zeditujeme /​etc/​dovecot/​conf.d/​10-master.conf,​ kde se nastavují jaké protokoly a kde se používají<​sxh bash>​service imap-login {
 +  inet_listener imap {
 +    port = 0
 +  }
 +  inet_listener imaps {
 +    port = 993
 +    ssl = yes
 +  }
 +  ...
 +  service pop3-login {
 +    inet_listener pop3 {
 +      port = 0
 +    }
 +    inet_listener pop3s {
 +      port = 995
 +      ssl = yes
 +    }
 +    ...
 +  }
 +  ...
 +}</​sxh><​sxh bash>
 +service lmtp {
 +  unix_listener /​var/​spool/​postfix/​private/​dovecot-lmtp {
 +    mode = 0600
 +    user = postfix
 +    group = postfix
 +  }
 +  # 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 =
 +  #}
 +}</​sxh><​sxh bash>
 +service auth {
 +  # auth_socket_path points to this userdb socket by default. It's typically
 +  # used by dovecot-lda,​ doveadm, possibly imap process, etc. Its default
 +  # permissions make it readable only by root, but you may need to relax these
 +  # permissions. Users that have access to this socket are able to get a list
 +  # of all usernames and get results of everyone'​s userdb lookups.
 +  unix_listener /​var/​spool/​postfix/​private/​auth {
 +    mode = 0666
 +    user = postfix
 +    group = postfix
 +  }
 +
 +  unix_listener auth-userdb {
 +    mode = 0600
 +    user = vmail
 +    #group =
 +  }
 +
 +  # Postfix smtp-auth
 +  #​unix_listener /​var/​spool/​postfix/​private/​auth {
 +  #  mode = 0666
 +  #}
 +
 +  # Auth process is run as this user.
 +  user = dovecot
 +}</​sxh><​sxh bash>
 +service auth-worker {
 +  # Auth worker process is run as root by default, so that it can access
 +  # /​etc/​shadow. If this isn't necessary, the user should be changed to
 +  # $default_internal_user.
 +  user = vmail
 +}</​sxh>​
 +  - zeditujeme /​etc/​dovecot/​conf.d/​10-ssl.conf,​ kde se reší certifikáty,​ těmito vlastnostmi<​sxh bash>​ssl_cert = </​etc/​dovecot/​dovecot.pem
 +ssl_key = </​etc/​dovecot/​private/​dovecot.pem
 +
 +ssl = required</​sxh>​
 +  - restartujeme dovecot<​sxh bash>​service dovecot restart</​sxh>​
 +
 +==== Nastavení DKIM ====
 +Nainstalujeme dkim
 +<sxh bash>​apt-get install opendkim opendkim-tools</​sxh>​
 +následně přidáme postfix usera do skupiny opendkim<​sxh bash>​adduser postfix opendkim</​sxh>​
 +
 +https://​www.linode.com/​docs/​email/​postfix/​configure-spf-and-dkim-in-postfix-on-debian-8
 +
 +==== Nastavení SPF ====
 +Nastavení SPF sestává za dvou kroků. Pokud chci, aby se ověřoval můj SPF jinde, je potřeba do DNS záznamů přídat speciální záznam<​sxh>​example.com 1800 TXT v=spf1 a ip4:​ip_serveru -all</​sxh>​toto nastavení ovlivní to, že pokud bude špatně nastaven, tak ostatní servery budou označovat moje emaily jako spam.
 +
 +Druhý krok je kontrola SPF na vlastním serveru, aby se případně špatné emaily rovnou zahazovali. Nainstalujeme tedy doplněk na kontrolu<​sxh bash>​apt-get install postfix-policyd-spf-python</​sxh>​do souboru /​etc/​postfix/​master.cf doplníme na konec souboru<​sxh>​policyd-spf ​ unix  -       ​n ​      ​n ​      ​- ​      ​0 ​      spawn
 +    user=policyd-spf argv=/​usr/​bin/​policyd-spf</​sxh>​přidáme do /​etc/​postfix/​main.cf řádek<​sxh>​policyd-spf_time_limit = 3600</​sxh>​a doplníme do vlastnosti **smtpd_recipient_restrictions** na konec check_policy_service unix:​private/​policyd-spf<​sxh>​smtpd_recipient_restrictions =
 +    ...
 +    reject_unauth_destination,​
 +    check_policy_service unix:​private/​policyd-spf,​
 +    ...</​sxh>​Restartujeme postfix<​sxh>​service postfix restart</​sxh>​
  • it/linux/mail_server.1454748682.txt.gz
  • Poslední úprava: 2016/02/06 09:51
  • autor: kourim