Mainos / Advertisement:

Ero sivun ”Postfix” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
 
(79 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 1: Rivi 1:
Postfix on yleinen sähköpostipalvelu Debianille. Jos asennat postfixin niin sinun tulee suojata palvelinta. Webmailiksi sopii vaikka [http://roundcube.net/ Roundcube].  
+
<languages/>
 +
<translate>
 +
<!--T:1-->
 +
Postfix on sähköpostin välitysohjelmisto (MTA). Postfix on avoimen lisenssillä varustettu ohjelmisto. Tietoturvallisessa ja suorituskykyisessä Postfixissä on hyvä roskapostin suodatus.  
  
 +
<!--T:2-->
 +
Suosittelemme käyttämään myös [[Spamassassin]] ja [[Amavis]] suojaamaan sähköpostipalvelinta roskapostittajilta.
  
 +
== Asennus == <!--T:3-->
  
== Asennus ==
+
  <!--T:4-->
 
+
[[aptitude]] install postfix
  aptitude install postfix
 
  
 +
<!--T:5-->
 
Seuraa asennusohjelman ohjeita
 
Seuraa asennusohjelman ohjeita
  
 +
<!--T:6-->
 
[[Tiedosto:postfix1.png]]
 
[[Tiedosto:postfix1.png]]
  
  
 +
<!--T:7-->
 
Tämän jälkeen sinun tulee antaa palvelimen isäntänimi
 
Tämän jälkeen sinun tulee antaa palvelimen isäntänimi
  
== Konfigurointi ==
+
<!--T:8-->
 +
esimerkiksi:
 +
 
 +
  <!--T:9-->
 +
mail.example.com
 +
 
 +
== Konfigurointi == <!--T:10-->
  
  
 +
<!--T:11-->
 
Avaa konfigurointi tiedosto:
 
Avaa konfigurointi tiedosto:
  
   nano /etc/postfix/main.cf
+
   <!--T:12-->
 +
[[nano]] /etc/postfix/main.cf
  
 +
<!--T:13-->
 
Tarkista postifixin konfigurointi tiedostossa on määritetty tietokoneen isäntänimi ja palvelimen osoite
 
Tarkista postifixin konfigurointi tiedostossa on määritetty tietokoneen isäntänimi ja palvelimen osoite
  
   myhostname = server.example.com
+
   <!--T:14-->
 +
myhostname = server.example.com
 
   alias_maps = hash:/etc/aliases
 
   alias_maps = hash:/etc/aliases
 
   alias_database = hash:/etc/aliases
 
   alias_database = hash:/etc/aliases
Rivi 35: Rivi 53:
 
   inet_interfaces = all
 
   inet_interfaces = all
  
 +
<!--T:15-->
 +
Tallenna tiedosto ja avaa seuraavaksi tiedosto
  
   nano /etc/postfix/master.cf
+
   <!--T:16-->
 +
nano /etc/postfix/master.cf
  
 +
<!--T:17-->
 
Oletuksena master.cf tiedostossa on sallittu normaali SMTP yhteys portissa 25.
 
Oletuksena master.cf tiedostossa on sallittu normaali SMTP yhteys portissa 25.
  
   smtp      inet  n      -      -      -      -      smtpd
+
   <!--T:18-->
 +
smtp      inet  n      -      -      -      -      smtpd
  
  
 +
<!--T:19-->
 
Oletuksena seuraavat ovat risuaidalla merkitty (#).
 
Oletuksena seuraavat ovat risuaidalla merkitty (#).
  
 +
<!--T:20-->
 
Ota käyttöön poistamalla risuaita 587 portissa tapahtuva SMTP tiedonsiirtoa. Sillä voi myös siirtää salattua liikennettä komennolla STARTTLS.
 
Ota käyttöön poistamalla risuaita 587 portissa tapahtuva SMTP tiedonsiirtoa. Sillä voi myös siirtää salattua liikennettä komennolla STARTTLS.
  
   submission inet n      -      -      -      -      smtpd
+
   <!--T:21-->
 +
submission inet n      -      -      -      -      smtpd
 
     -o syslog_name=postfix/submission
 
     -o syslog_name=postfix/submission
 
     -o smtpd_tls_security_level=encrypt
 
     -o smtpd_tls_security_level=encrypt
Rivi 54: Rivi 80:
 
     -o milter_macro_daemon_name=ORIGINATING
 
     -o milter_macro_daemon_name=ORIGINATING
  
Ota käyttöön poistamalla risuaita SMTPS yhteys (portissa 465). SSL salaus käytetään tässä yhteydessä oletuksena.
+
<!--T:22-->
 +
Ota käyttöön poistamalla risuaita SMTPS yhteys (portissa 465). SSL salaus käytetään tässä yhteydessä oletuksena. SASL todennusta suositellaan käytettäväksi.
  
   smtps    inet  n      -      -      -      -      smtpd
+
   <!--T:23-->
 +
smtps    inet  n      -      -      -      -      smtpd
 
     -o syslog_name=postfix/smtps
 
     -o syslog_name=postfix/smtps
 
     -o smtpd_tls_wrappermode=yes
 
     -o smtpd_tls_wrappermode=yes
Rivi 63: Rivi 91:
 
     -o milter_macro_daemon_name=ORIGINATING
 
     -o milter_macro_daemon_name=ORIGINATING
  
=== Selitetään: ===
+
=== Selitetään: === <!--T:24-->
  
 +
<!--T:25-->
 
Palvelimesi nimi (tarkista että on sama kuin hostname (komento: hostname)):
 
Palvelimesi nimi (tarkista että on sama kuin hostname (komento: hostname)):
 
   myhostname = server.example.com
 
   myhostname = server.example.com
Rivi 77: Rivi 106:
 
Tämä vaaditaan jos ei ole suoraa yhteyttä verkkoon.  
 
Tämä vaaditaan jos ei ole suoraa yhteyttä verkkoon.  
  
 +
<!--T:26-->
 
Esimerkkinä Soneran postipalvelin:
 
Esimerkkinä Soneran postipalvelin:
 
   relayhost = [mail.inet.fi]:25
 
   relayhost = [mail.inet.fi]:25
  
 +
<!--T:27-->
 
DNA postipalvelin:
 
DNA postipalvelin:
 
   relayhost = [smtp.dnainternet.net]:25
 
   relayhost = [smtp.dnainternet.net]:25
  
  
 +
<!--T:28-->
 
Lähiverkkosi:
 
Lähiverkkosi:
 
   mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
 
   mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
Rivi 92: Rivi 124:
 
   inet_interfaces = all
 
   inet_interfaces = all
  
 +
<!--T:29-->
 
Sulje tiedosto ja käynnistä postfix uudelleen
 
Sulje tiedosto ja käynnistä postfix uudelleen
  
   service postfix restart
+
   <!--T:30-->
 +
service postfix restart
 +
 
 +
== Lisäasetukset == <!--T:31-->
 +
 
 +
=== Virtuaali sähköpostiosoitteet === <!--T:32-->
 +
 
 +
<!--T:33-->
 +
Voit ohjata virtuaali sähköpostiosoitteet esimerkiksi [email protected] ja [email protected] omalle käyttäjällesi.
 +
 
 +
<!--T:34-->
 +
Avaa tiedosto:
 +
 
 +
  <!--T:35-->
 +
/etc/aliases
 +
 
 +
<!--T:36-->
 +
# /etc/aliases
 +
mailer-daemon: postmaster
 +
postmaster: root
 +
nobody: root
 +
hostmaster: root
 +
usenet: root
 +
news: root
 +
webmaster: root
 +
www: root
 +
ftp: root
 +
abuse: root
 +
noc: root
 +
security: root
 +
root = [username]
 +
 
 +
<!--T:37-->
 +
Muuttamalla [username] kohta omaksi käyttäjätiliksi saat kaikki näiden käyttäjätilien sähköpostit samaan sähköpostilaatikkoon. Voit lisätä muitakin osoitteita tiedoston loppuun:
 +
 
 +
<!--T:38-->
 +
[alias_postinimi] = [käyttäjälle]
 +
 
 +
<!--T:39-->
 +
Vahvista muutokset
 +
 
 +
  <!--T:40-->
 +
newaliases
 +
 
 +
=== Virtuaali domainit === <!--T:41-->
 +
 
 +
<!--T:42-->
 +
Virtuaaliset domainit siis ovat tarkoitettu sähköpostipalvelimelle joka lähettää ja vastaanottaa usealle eri domainille.
 +
 
 +
 
 +
<!--T:43-->
 +
Avaa Postfixin konfigurointi tiedosto main.cf
 +
 
 +
  <!--T:44-->
 +
/etc/postfix/main.cf
 +
 
 +
<!--T:45-->
 +
Lisää seuraavat rivit:
 +
 
 +
  <!--T:46-->
 +
virtual_alias_domains = example.com
 +
  virtual_alias_maps = hash:/etc/postfix/virtual
 +
 
 +
<!--T:47-->
 +
Luo uusi tiedosto
 +
 
 +
  <!--T:48-->
 +
 +
  [email protected]      matti
 +
  [email protected]      kalle
 +
  # Uncomment entry below to implement a catch-all address
 +
  # @example.com        aleksi
 +
 
 +
<!--T:49-->
 +
Älä lisää virtual_alias_domain:ia mydestination domainiksi!
 +
 
 +
=== Sähköpostin uudelleenohjaus === <!--T:50-->
 +
 
 +
<!--T:51-->
 +
Sähköpostin uudelleenohjaus [email protected] -> matti.example2.com esimerkiksi.
 +
 
 +
<!--T:52-->
 +
Avaa Postfixin konfigurointi tiedosto main.cf
 +
 
 +
  <!--T:53-->
 +
/etc/postfix/main.cf:
 +
 
 +
<!--T:54-->
 +
Lisää seuraavat rivit tiedostoon:
 +
 
 +
    <!--T:55-->
 +
virtual_alias_domains = example.com
 +
    virtual_alias_maps = hash:/etc/postfix/virtual
 +
 
 +
<!--T:56-->
 +
Luo uusi tiedosto
 +
 
 +
  <!--T:57-->
 +
/etc/postfix/virtual:
 +
 
 +
<!--T:58-->
 +
Lisää seuraavat rivit tiedostoon
 +
  [email protected] postmaster
 +
 +
 +
  # Uncomment entry below to implement a catch-all address
 +
  # @example.com        jim@yet-another-site
 +
 
 +
<!--T:59-->
 +
Uudelleenohjattava sähköpostin domain tulee olla mydestination merkitty. Et voi uudelleenohjata aliaksia /etc/alias
 +
 
 +
<!--T:60-->
 +
Tarkista konfiguraatio
 +
 
 +
  <!--T:61-->
 +
postmap /etc/postfix/virtual
  
== Testataan Postfixin toimintaa ==
+
== Testataan Postfixin toimintaa == <!--T:62-->
  
 +
<!--T:63-->
 
Lähetetään testisähköposti:
 
Lähetetään testisähköposti:
  
 +
<!--T:64-->
 
Asenna tämä sähköpostityökälut jos ei ole asennettu:
 
Asenna tämä sähköpostityökälut jos ei ole asennettu:
  
   apt-get install mailutils
+
   <!--T:65-->
 +
apt-get install mailutils
  
 +
<!--T:66-->
 
ja sen jälkeen lähetetään sähköpostia:
 
ja sen jälkeen lähetetään sähköpostia:
  
+
   <!--T:67-->
 
+
 +
 
 +
<!--T:68-->
 
Komento tulostaa:
 
Komento tulostaa:
 
   Subject: Aiheesi viestille
 
   Subject: Aiheesi viestille
  
 +
<!--T:69-->
 
Tämän jälkeen kirjoita viesti (ja ENTER) ja tulostuu:
 
Tämän jälkeen kirjoita viesti (ja ENTER) ja tulostuu:
  
   CC:  
+
   <!--T:70-->
 +
CC:  
  
 +
<!--T:71-->
 
jonka voi jättää tyhjäksi. Lähetä sähköposti näppäinyhdistelmällä CTRL+D.
 
jonka voi jättää tyhjäksi. Lähetä sähköposti näppäinyhdistelmällä CTRL+D.
  
== Sähköpostipalvelimen suojaaminen ==
+
== Sähköpostipalvelimen suojaaminen == <!--T:72-->
  
 +
<!--T:73-->
 
Kun luot oman sähköpostipalvelimen, sitä pitää heti alkaa suojaamaan ahkerasti roskapostittajia vastaan. Suositus on ottaa myös SASL todennus käyttöön.
 
Kun luot oman sähköpostipalvelimen, sitä pitää heti alkaa suojaamaan ahkerasti roskapostittajia vastaan. Suositus on ottaa myös SASL todennus käyttöön.
  
=== Roskapostien suodatus ===  
+
=== Roskapostien suodatus === <!--T:74-->
  
 +
<!--T:75-->
 
Lisäämällä seuraava koodi pätkä tarkistaa onko lähettäjän verkkotunnus olemassa:
 
Lisäämällä seuraava koodi pätkä tarkistaa onko lähettäjän verkkotunnus olemassa:
  
   nano /etc/postfix/main.cf
+
   <!--T:76-->
 +
nano /etc/postfix/main.cf
  
  
   smtpd_recipient_restrictions = reject_invalid_hostname,
+
   <!--T:77-->
 +
smtpd_recipient_restrictions = reject_invalid_hostname,
 
         reject_unknown_recipient_domain,
 
         reject_unknown_recipient_domain,
 
         reject_unauth_destination,
 
         reject_unauth_destination,
Rivi 134: Rivi 295:
 
         permit
 
         permit
  
  smtpd_helo_restrictions = reject_invalid_helo_hostname,
+
  <!--T:78-->
 +
smtpd_helo_restrictions = reject_invalid_helo_hostname,
 
         reject_non_fqdn_helo_hostname,
 
         reject_non_fqdn_helo_hostname,
 
         reject_unknown_helo_hostname
 
         reject_unknown_helo_hostname
  
 +
<!--T:79-->
 
Ja tämä tarkistaa listan onko verkkotunnus merkitty roskapostittajaksi:
 
Ja tämä tarkistaa listan onko verkkotunnus merkitty roskapostittajaksi:
  
   nano /etc/postfix/main.cf
+
   <!--T:80-->
 +
[[nano]] /etc/postfix/main.cf
  
   smtpd_client_restrictions = reject_rbl_client dnsbl.sorbs.net
+
   <!--T:81-->
 +
smtpd_client_restrictions = reject_rbl_client dnsbl.sorbs.net
  
=== SMTPS SASL todennus ===  
+
=== SMTPS SASL todennus === <!--T:82-->
  
 +
<!--T:83-->
 
Lisäämällä seuraava rivi, niin estät sähköpostin välitykset muusta kuin omasta verkostasi. SASL tunnistuksen avulla voit lähettää muustakin verkosta
 
Lisäämällä seuraava rivi, niin estät sähköpostin välitykset muusta kuin omasta verkostasi. SASL tunnistuksen avulla voit lähettää muustakin verkosta
  
   nano /etc/postfix/main.cf
+
   <!--T:84-->
 +
[[nano]] /etc/postfix/main.cf
 +
 
 +
  <!--T:85-->
 +
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject
 +
 
 +
Hyödynnä Dovecottia SASL todennuksessa. Tämä toimii siis Dovecotin todennuksen kanssa.
 +
 
 +
<pre>
 +
# SASL authentication
 +
smtpd_sasl_auth_enable=yes
 +
smtpd_sasl_type = dovecot
 +
smtpd_sasl_path = private/auth
 +
smtpd_sasl_security_options = noanonymous
 +
smtpd_sasl_tls_security_options = noanonymous
 +
</pre>
 +
 
 +
Lisäksi poista risuaita tiedostosta
 +
 
 +
  nano /etc/dovecot/conf.d/10-master.conf
 +
 
 +
kohdasta
 +
 
 +
<pre>
 +
# Postfix smtp-auth
 +
  unix_listener /var/spool/postfix/private/auth {
 +
    mode = 0666
 +
        user = postfix
 +
        group = postfix
  
  smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject
+
}
 +
</pre>
  
   nano /etc/postfix/master.cf
+
   <!--T:86-->
 +
[[nano]] /etc/postfix/master.cf
  
 +
<!--T:87-->
 
Ota seuraavilta riveiltä risuaita pois submission ja smtps kohdasta. Jos haluat SMTP portille myös audikoinnin, lisää tämä seuraavat rivi sen alle.
 
Ota seuraavilta riveiltä risuaita pois submission ja smtps kohdasta. Jos haluat SMTP portille myös audikoinnin, lisää tämä seuraavat rivi sen alle.
  
   -o smtpd_sasl_auth_enable=yes
+
   <!--T:88-->
 +
-o smtpd_sasl_auth_enable=yes
 
   -o smtpd_client_restrictions=permit_sasl_authenticated,reject
 
   -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  
== Postfix toiminta PHP5 kanssa ==
+
=== TLS (STARTSSL) === <!--T:89-->
 +
 
 +
<!--T:90-->
 +
Esimerkki konfiguraatio tiedostosta /etc/postfix/main.cf
 +
 
 +
<!--T:91-->
 +
<pre>
 +
smtpd_use_tls=yes
 +
smtpd_tls_security_level = may
 +
smtp_tls_security_level = may
 +
smtpd_tls_cert_file=/etc/ssl/postfix.cert
 +
smtpd_tls_key_file=/etc/ssl/postfix.key
 +
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
 +
smtpd_tls_security_level = may
 +
smtpd_tls_auth_only = yes
 +
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
 +
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3
 +
smtpd_tls_protocols=!SSLv2,!SSLv3,TLSv1,TLSv1.1,TLSv1.2
 +
smtpd_tls_mandatory_exclude_ciphers = aNULL, MD5 , DES, ADH, !RC4, PSD, SRP, 3DES, eNULL
 +
smtpd_tls_mandatory_ciphers = high
 +
tls_high_cipherlist = AES128+EECDH:AES128+EDH
 +
</pre>
 +
 
 +
<!--T:92-->
 +
Ota käyttöön Submission kohdasta risuaidat pois.
 +
 
 +
<!--T:93-->
 +
Testaa STARTSSL: https://starttls.info/
 +
 
 +
https://checktls.com/
 +
https://ssl-tools.net/mailservers/
 +
 
 +
Testaa openssl_client komennolla toimivuuksia
 +
 
 +
  openssl s_client -connect mail.example.org:587
 +
 
 +
==== TLS-Policy ====
 +
 
 +
TLS Policyllä eli säännöillä voidaan määrittää missä sivuilla esimerkiksi on pakotettu TLS käyttöön ja missä vaihtoehtoisesti.
 +
 
 +
Lisää tämä main.conf tiedostoon
 +
 
 +
  smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
 +
 
 +
Luo tiedosto /etc/postfix/tls_policy . Policyyn määritetään domainit jossa on pakotettu salaus encrypt määritteellä. Testaa lähettämällä gmailiin niin gmail ilmoittaa että sähköposti on salattu.
 +
 
 +
<pre>
 +
gmail.com encrypt
 +
.gmail.com encrypt
 +
ssl-tools.net encrypt
 +
.ssl-tools.net encrypt
 +
</pre>
  
PHP5 sisältää mail funktion. Sinun tulee konfiguroida php.ini tiedostoa
+
Hash sisältö postmap komennolla
 +
 
 +
  sudo postmap /etc/postfix/tls_policy
 +
 
 +
Lataa Postfix konfiguraatio uudelleen
 +
 
 +
  sudo service postfix reload
 +
 
 +
=== Poista lähtevistä sähköposteistä asiakkaan header-tiedot ===
 +
 
 +
Tällä tarkoituksena on poistaa esimerkiksi sähköpostiasiakasohjelmalla lähtevien IP-osoitteet suojaten yksityisyyttä. Tiedot kuitenkin tallentuu palvelimen lokiin normaalisti.
 +
 
 +
Asenna Postfix-pcre
 +
 
 +
  sudo apt install postfix-pcre
 +
 
 +
Luo uusi tiedosto smtp_header_checks
 +
 
 +
sudo nano /etc/postfix/smtp_header_checks
 +
 
 +
Ja lisää tiedostoon
 +
 
 +
<pre>
 +
/^\s*(Received: from)[^\n]*(.*)/ REPLACE $1 [127.0.0.1] (localhost [127.0.0.1])$2
 +
/^\s*User-Agent/        IGNORE
 +
/^\s*X-Enigmail/        IGNORE
 +
/^\s*X-Mailer/          IGNORE
 +
/^\s*X-Originating-IP/  IGNORE
 +
</pre>
 +
 
 +
Tämä muuttaa from-headeristä kaikki IP-osoitteet 127.0.0.1:seksi. Poistaa asiakasohjelman User-Agentin yms tiedot.
 +
 
 +
Lisää tämän jälkeen Postfixin main.conf tiedostoon rivi
  
  nano /etc/php5/apache2/php.ini
+
smtp_header_checks = pcre:/etc/postfix/smtp_header_checks
  
ja muuttaa se tälläiseksi:
+
Ja lataa konfiguraatio uudelleen
  
  ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
+
  sudo service postfix reload
  ; http://php.net/sendmail-path
 
  sendmail_path = "/usr/sbin/sendmail -t -i"
 
  
ja käynnistä apache uudelleen
 
  
  service apache2 restart
+
[[Luokka:Linux|Postfix]]
  
== SMTPS ==
+
== Telia Postipalvelimen käytössä Relaynä - SMTPS == <!--T:94-->
  
Postfixissä on tuki SSL yhteydelle TLS:n kanssa mutta ei pelkästään SSL kanssa. Tämä seuraava ohje siis on pelkälle SSL, mutta jos on tuki TLS salaukselle, on suositeltavaa käyttää sitä.
+
<!--T:95-->
 +
Postfixissä on tuki SSL yhteydelle TLS:n kanssa mutta ei pelkästään SSL kanssa. Tämä seuraava ohje on pelkästään SSL, mutta jos on tuki TLS salaukselle, on suositeltavaa käyttää sitä.
  
 +
<!--T:96-->
 
Ohjeen lähde: http://www5.sonera.fi/keskustele/viewtopic.php?f=59&t=9210
 
Ohjeen lähde: http://www5.sonera.fi/keskustele/viewtopic.php?f=59&t=9210
  
 +
<!--T:97-->
 
SMTPS on salattu SMTP yhteys ja nykyisin suositus olisi käyttää tätä ominaisuutta.  
 
SMTPS on salattu SMTP yhteys ja nykyisin suositus olisi käyttää tätä ominaisuutta.  
  
 +
<!--T:98-->
 
Esimerkkinä on Soneran verkko:
 
Esimerkkinä on Soneran verkko:
  
Olet siis konfiguroinnut /etc/postfix/main.cf tiedostoon. Tämä siis toimii salaamattassa portissa 25.
+
  <!--T:100-->
 
+
relayhost = [mail.inet.fi]
  relayhost = [mail.inet.fi]
 
  
 +
<!--T:101-->
 
Nyt olisi aika siirtyä salattuun postiin ja tämä on hieman hankalempi, kun Soneran omat postipalvelimet eivät tue TLS salausta. Postfix ei tue SSL salausta, mutta asennetaan pieni kiertotie niin se onnistuu.
 
Nyt olisi aika siirtyä salattuun postiin ja tämä on hieman hankalempi, kun Soneran omat postipalvelimet eivät tue TLS salausta. Postfix ei tue SSL salausta, mutta asennetaan pieni kiertotie niin se onnistuu.
  
 +
<!--T:102-->
 
Asennetaan ensin Stunnel
 
Asennetaan ensin Stunnel
  
   aptitude install stunnel
+
   <!--T:103-->
 +
[[aptitude]] install stunnel
  
 +
<!--T:104-->
 
Luodaan tiedosto /etc/stunnel/postfix.conf ja kopioi alla oleva koodi:
 
Luodaan tiedosto /etc/stunnel/postfix.conf ja kopioi alla oleva koodi:
  
   [ssmtp_c2s]
+
   <!--T:105-->
 +
[ssmtp_c2s]
 
     accept = 127.0.0.1:10111
 
     accept = 127.0.0.1:10111
 
     client = yes
 
     client = yes
Rivi 203: Rivi 489:
 
     delay = yes   
 
     delay = yes   
  
 +
<!--T:106-->
 
ja tämän jälkeen avaa tiedosto: /etc/default/stunnel ja muuta se seuraavanlaiseksi:
 
ja tämän jälkeen avaa tiedosto: /etc/default/stunnel ja muuta se seuraavanlaiseksi:
  
   # Change to one to enable stunnel automatic startup
+
   <!--T:107-->
 +
# Change to one to enable stunnel automatic startup
 
   # MUUTOS
 
   # MUUTOS
 
   #ENABLED=0
 
   #ENABLED=0
Rivi 215: Rivi 503:
 
   PPP_RESTART=0
 
   PPP_RESTART=0
  
 +
<!--T:108-->
 
Tämän jälkeen muokkaa /etc/postfix/main.cf seuraavanlaiseksi:
 
Tämän jälkeen muokkaa /etc/postfix/main.cf seuraavanlaiseksi:
  
   relayhost = 127.0.0.1:10111
+
   <!--T:109-->
 +
relayhost = 127.0.0.1:10111
 
      
 
      
 
   # SASL authentication
 
   # SASL authentication
Rivi 237: Rivi 527:
 
Luo tiedosto  /etc/postfix/passwd ja kirjoita siihen Soneran sähköpostisi käyttäjätunnus ja salasana
 
Luo tiedosto  /etc/postfix/passwd ja kirjoita siihen Soneran sähköpostisi käyttäjätunnus ja salasana
  
   mail.inet.fi:465 KÄYTTÄJÄTUNNUS:SALASANA
+
   <!--T:110-->
 +
mail.inet.fi:465 KÄYTTÄJÄTUNNUS:SALASANA
  
 +
<!--T:111-->
 
Esimerkiksi:
 
Esimerkiksi:
  
   mail.inet.fi:465 [email protected]:taisto
+
   <!--T:112-->
 +
mail.inet.fi:465 [email protected]:taisto
  
 +
<!--T:113-->
 
Tämän jälkeen anna tämä komento:
 
Tämän jälkeen anna tämä komento:
  
   postmap hash:/etc/postfix/passwd
+
   <!--T:114-->
 +
postmap hash:/etc/postfix/passwd
  
 +
<!--T:115-->
 
Kokeile toimiiko antamalla seuraava komento:
 
Kokeile toimiiko antamalla seuraava komento:
  
   postmap -q mail.inet.fi:465 /etc/postfix/passwd
+
   <!--T:116-->
 +
postmap -q mail.inet.fi:465 /etc/postfix/passwd
  
 +
<!--T:117-->
 
Jos komento tulostaa käyttäjätunnuksesi ja salasanasi, kaikki toimii tähän asti
 
Jos komento tulostaa käyttäjätunnuksesi ja salasanasi, kaikki toimii tähän asti
  
  
 +
<!--T:118-->
 
Estä muiden käyttäjien näkemästä salasanaasi:
 
Estä muiden käyttäjien näkemästä salasanaasi:
  
   chmod go-rwx /etc/postfix/passwd*
+
   <!--T:119-->
 +
chmod go-rwx /etc/postfix/passwd*
  
 +
<!--T:120-->
 
Käynnistä lopuksi palvelut uudelleen
 
Käynnistä lopuksi palvelut uudelleen
  
   service stunnel4  restart
+
   <!--T:121-->
 +
service stunnel4  restart
 +
 
 +
  <!--T:122-->
 +
service postfix restart
 +
 
 +
== Varasähköpostipalvelin ==
 +
 
 +
Varasähköpostipalvelimen avulla varmistat ettei sähköpostit häviä jos ensisijainen sähköpostipalvelin ei olisikaan verkossa. Varasähköpostipalvelimia voi olla useita ja ne tallentavat sähköpostit jonotus listalle odottamaan kunnes ensisijainen sähköpostipalvelin palaa takaisin toimintaan.
 +
 
 +
Sinun tulee määrittää MX tietueet DNS palveluun. MX1 on ensisijainen palvelin ja MX2 on toissijainen palvelin. Priority arvolla määritetään mikä palvelin on ensisijainen ja toissijaiset. Pienin arvo (10) on ensisijainen ja suurin arvo (20) on toissijainen.
 +
 
 +
<pre>
 +
example.com.              86400  IN      MX      10 mx1.example.com.
 +
example.com.              86400  IN      MX      20 mx2.example.com.
 +
</pre>
 +
 
 +
Konfiguroidessa MX2 palvelimesta varapalvelin, sinun tulee konfiguroida main.cf tiedostoon
 +
 
 +
  nano /etc/postfix/main.cf
 +
 
 +
Määritä seuraavanlaiset konfiguraatiot. smtpd_recipient_restrictions tulee olla permit_mynetworks  ja reject_unauth_destination. Relay_domainissa tulee olla example.org, eli domain joka ohjataan eteenpäin. Tämä määrittää mikä sähköpostidomainien postit ohjataan eteenpäin. relay_recipient_maps  tulee olla tyhjä.
 +
 
 +
<pre>
 +
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
 +
 
 +
relay_domains = $mydestination, example.com
 +
 
 +
relay_recipient_maps =
 +
</pre>
 +
 
 +
Varmista että seuraavat parametrit ovat tyhjiä: mydestination, virtual_alias_domains, virtual_mailbox_domains
 +
 
 +
Käynnistä palvelu uudelleen
  
 
   service postfix restart
 
   service postfix restart
  
== Virheilmoituksia ==
+
Testaa sammuttamalla pääsähköpostipalvelin ja lähetä example.org osoitteelle sähköpostia. mail.log voit seurata toimiiko sähköpostit oikein.
  
 +
[[Luokka:Linux|Postfix]]
 +
 +
== SPF ==
 +
 +
SPF tarkoitus ilmoittaa että mistä IP:stä tai osoitteesta on sallittua lähettää tällä domainilla sähköpostia. Tällä vaikeutetaan roskapostittajien ns. domain väärentämisiä.
 +
 +
Voit luoda tietueet täältä: http://www.spfwizard.net/
 +
 +
Esimerkki (sallitaan A recordista mail.example.org joka on meidän oma postipalvelin ja estetään muista palvelimista sekä MX palvelimista jotka nimipalvelusta löytyy:
 +
 +
  v=spf1 mx a:mail.example.org -all
 +
 +
Lisää tietue nimipalveluun. Kysy lisää palveluntarjoajaltasi.
 +
 +
Asenna sitten Postfix palvelimeesi
 +
 +
  sudo apt install postfix-policyd-spf-python
 +
 +
Lisää master.cf tiedostoon loppuun
 +
 +
<pre>
 +
policyd-spf  unix  -      n      n      -      0      spawn
 +
    user=policyd-spf argv=/usr/bin/policyd-spf
 +
</pre>
 +
 +
Konfiguroi main.cf.
 +
 +
<pre>
 +
policyd-spf_time_limit = 3600
 +
 +
 +
 +
smtpd_recipient_restrictions =
 +
    ...
 +
    reject_unauth_destination,
 +
    check_policy_service unix:private/policyd-spf,
 +
    ...
 +
</pre>
 +
 +
Varmista että 'check_policy_service' on '''jälkeen''' 'reject_unauth_destination' estääksesi avoimen postipalvelun (käytetään muuten palvelintasi roskapostittamiseen).
 +
 +
== Greylisting ==
 +
 +
Asenna Postgrey
 +
 +
sudo apt install postgrey
 +
 +
Lisää asennuksen jälkeen /etc/postfix/main.conf tiedostoon check_policy_service inet:127.0.0.1:10023 parametri smtpd_recipient_restrictions kohtaan.
 +
 +
smtpd_recipient_restrictions
 +
  check_policy_service inet:127.0.0.1:10023
 +
 +
Lataa Postfix-konfiguraatio uudelleen
 +
 +
sudo postfix reload
 +
 +
== Opendkim ==
 +
 +
DKIM (DomainKeys Identified Mail):in avulla estät sähköpostien väärentämisen lisäämällä digitaalisen allekirjoituksen lähtevissä posteissa. Tässä käytetään yksityistä avainta salatakseen lähtevän postin headerin ja julkinen avain lisätään DNS:ään. Vastaanottaja palvelin voi täältä DNS:stä hakea julkisen avaimen ja näin varmistaa että sähköposti tulee oikealta palvelimelta eikä ole muuttunut matkalla.
 +
 +
Asenna openkim
 +
 +
<pre>
 +
sudo apt-get update
 +
sudo apt-get dist-upgrade
 +
sudo apt-get install opendkim opendkim-tools
 +
</pre>
 +
 +
Lisää Postfix käyttäjä Opendkim ryhmään
 +
 +
  sudo adduser postfix opendkim
 +
 +
=== Opendkim konfigurointi ===
 +
 +
Avaa konfigurointi tiedosto
 +
 +
  sudo nano /etc/opendkim.conf
 +
 +
Konfiguraatio tulisi näyttää tältä:
 +
 +
<pre>
 +
# This is a basic configuration that can easily be adapted to suit a standard
 +
# installation. For more advanced options, see opendkim.conf(5) and/or
 +
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.
 +
 +
# Log to syslog
 +
Syslog          yes
 +
# Required to use local socket with MTAs that access the socket as a non-
 +
# privileged user (e.g. Postfix)
 +
UMask          002
 +
# OpenDKIM user
 +
# Remember to add user postfix to group opendkim
 +
UserID          opendkim
 +
 +
# Map domains in From addresses to keys used to sign messages
 +
KeyTable        /etc/opendkim/key.table
 +
SigningTable        refile:/etc/opendkim/signing.table
 +
 +
# Hosts to ignore when verifying signatures
 +
ExternalIgnoreList  /etc/opendkim/trusted.hosts
 +
InternalHosts      /etc/opendkim/trusted.hosts
 +
 +
# Commonly-used options; the commented-out versions show the defaults.
 +
Canonicalization    relaxed/simple
 +
Mode            sv
 +
SubDomains      no
 +
#ADSPAction    continue
 +
AutoRestart    yes
 +
AutoRestartRate    10/1M
 +
Background      yes
 +
DNSTimeout      5
 +
SignatureAlgorithm  rsa-sha256
 +
 +
# Always oversign From (sign using actual From and a null From to prevent
 +
# malicious signatures header fields (From and/or others) between the signer
 +
# and the verifier.  From is oversigned by default in the Debian package
 +
# because it is often the identity key used by reputation systems and thus
 +
# somewhat security sensitive.
 +
OversignHeaders    From
 +
</pre>
 +
 +
Määritä konfigurointi tiedostolle oikeudet
 +
 +
  sudo chmod u=rw,go=r /etc/opendkim.conf
 +
 +
Luo hakemisto opendkim:ille, avaimille sekä määritä niille oikeudet
 +
 +
<pre>
 +
sudo mkdir /etc/opendkim
 +
sudo mkdir /etc/opendkim/keys
 +
sudo chown -R opendkim:opendkim /etc/opendkim
 +
sudo chmod go-rw /etc/opendkim/keys
 +
</pre>
 +
 +
=== Avainten luonti ===
 +
 +
Luo avainten allekirjoitustaulu. Tiedostossa tulee olla jokaisella riville domain mitä haluat käyttää
 +
 +
sudo nano /etc/opendkim/signing.table
 +
 +
<pre>
 +
*@example.com  example
 +
</pre>
 +
 +
Korvaa example sinun omallasi domainilla. Ensimmäinen osuus @example.org täsmää sähköpostiosoitteeseesi.
 +
 +
Luo ja avaa key.table tiedosto. Korvaa example.org omalla verkkotunnuksella
 +
 +
sudo nano /etc/opendkim/key.table
 +
 +
<pre>
 +
example    example.com:mail:/etc/opendkim/keys/example.com/mail.private
 +
</pre>
 +
 +
Korvaa example sillä mitä käytit signing.table:ssa "mail" on DNS recordi jonka kirjoitat DNS:sään.
 +
 +
Luo trusted.hosts tiedosto.
 +
 +
  sudo nano /etc/opendkim/trusted.hosts
 +
 +
<pre>
 +
127.0.0.1
 +
::1
 +
localhost
 +
myhostname
 +
myhostname.example.com
 +
example.com
 +
</pre>
 +
 +
Korvaa myhostname palvelimen nimelläsi ja example domainillasi.
 +
 +
Määritä oikeudet hakemistoihin
 +
 +
<pre>
 +
sudo chown -R opendkim:opendkim /etc/opendkim
 +
sudo chmod -R go-rwx /etc/opendkim/keys
 +
</pre>
 +
 +
Luodaan nyt avaimet DKIMiä varten
 +
 +
<pre>
 +
sudo mkdir /etc/opendkim/keys/example.com
 +
cd /etc/opendkim/keys/example.com/
 +
sudo opendkim-genkey -b 2048 -s mail -d example.com -v
 +
</pre>
 +
 +
Mikäli nimipalvelin ei tue 2048 bittistä niin sitten käytä 1024 bittistä
 +
 +
sudo opendkim-genkey -b 1024 -s mail -d example.org -v
 +
 +
Määritä vielä rekurssiiviset oikeudet hakemistoihin
 +
 +
<pre>
 +
sudo chown -R opendkim:opendkim /etc/opendkim
 +
sudo chmod -R go-rw /etc/opendkim/keys
 +
</pre>
 +
 +
Käynnistä Opendkim uudelleen
 +
 +
  sudo service opendkim restart
 +
 +
=== Konfiguroi DNS ===
 +
 +
Avaa nyt mail.txt tiedosto
 +
 +
  sudo cat /etc/opendkim/keys/example.com/mail.txt
 +
 +
Tee nimipalvelimeen TXT recordi, esim:
 +
 +
<pre>
 +
mail._domainkey.example.com  IN  TXT v=DKIM1; k=rsa; s=email; p=<avain>
 +
</pre>
 +
 +
Korvaa example.com ja <avain> tiedoston sisällöllä ja domainilla.
 +
 +
Testaa
 +
 +
  sudo opendkim-testkey -d example.com -s mail
 +
 +
Jos kaikki on OK sinun ei tulisi saada ollenkaan mitään tulostusta.
 +
 +
=== Opendkim konfigurointi Postfixiin ===
 +
 +
Luo hakemisto
 +
 +
<pre>
 +
sudo mkdir /var/spool/postfix/opendkim
 +
sudo chown opendkim:postfix /var/spool/postfix/opendkim
 +
</pre>
 +
 +
Määritä oikea soketti opendkim:ille
 +
 +
  sudo nano /etc/default/opendkim
 +
 +
Varmista että kaikki on kommentoitu ja lisää alla oleva tiedostoon
 +
 +
  SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock"
 +
 +
Konfiguroi seuraavaksi main.cnf tiedostoon opendkim asetuksia
 +
 +
  sudo nano /etc/postfix/main.cf
 +
 +
<pre>
 +
# Milter configuration
 +
# OpenDKIM
 +
milter_default_action = accept
 +
milter_protocol = 6
 +
smtpd_milters = local:/var/spool/postfix/opendkim/opendkim.sock
 +
non_smtpd_milters = local:/var/spool/postfix/opendkim/opendkim.sock
 +
</pre>
 +
 +
Käynnistä Postfix ja Opendkim uudelleen
 +
 +
  sudo service postfix restart
 +
 +
  sudo service opendkim restart
 +
 +
Testaa toimiiko kaikki lähettämällä tyhjän sähköpostin: [email protected] . Saat paluupostina viestin jossa näet toimiiko vai ei.
 +
 +
== Opendmarc ==
 +
 +
Opendmarcin avulla voit tarkistaa Postfixissä Dmarc-tietueen.
 +
 +
sudo apt install opendmarc
 +
 +
Kopioi alkuperäinen konfiguraatio talteen
 +
 +
sudo mv /etc/opendmarc.conf /etc/opendmarc.conf.bak
 +
 +
Luo uusi tiedosto
 +
 +
sudo nano /etc/opendmarc.conf
 +
 +
Tässä on esimerkkikonfiguraatio
 +
 +
<pre>
 +
AutoRestart            Yes
 +
AutoRestartRate        10/1h
 +
 +
UserID                  postfix:postfix
 +
Socket                  inet:54321@localhost
 +
Syslog                  true
 +
SyslogFacility          mail
 +
 +
AuthservID              mail.example.org
 +
#TrustedAuthservIDs      other.mail.server, another.mail.server
 +
IgnoreHosts            /etc/opendkim/trusted.hosts
 +
 +
FailureReportsSentBy    [email protected]
 +
FailureReportsBcc      [email protected]
 +
 +
RejectFailures          false
 +
</pre>
 +
 +
Lisää tämä /etc/default/opendmarc tiedostoon
 +
 +
SOCKET="inet:54321@localhost"
 +
 +
Lisää tämä /etc/postfix/main.conf tiedostoon kohtaan smttpd_milters
 +
 +
smtpd_milters = inet:localhost:54321
 +
 +
Käynnistä Postfix ja Opendmarc uudelleen
 +
 +
sudo service opendmarc restart
 +
sudo service postfix restart
 +
 +
== Postfix toiminta PHP5 kanssa == <!--T:123-->
 +
 +
<!--T:124-->
 +
PHP5 sisältää mail funktion. Sinun tulee konfiguroida php.ini tiedostoa
 +
 +
  <!--T:125-->
 +
nano /etc/php5/apache2/php.ini
 +
 +
<!--T:126-->
 +
ja muuttaa se tälläiseksi:
 +
 +
  <!--T:127-->
 +
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
 +
  ; http://php.net/sendmail-path
 +
  sendmail_path = "/usr/sbin/sendmail -t -i"
 +
 +
<!--T:128-->
 +
ja käynnistä apache uudelleen
 +
 +
  <!--T:129-->
 +
service apache2 restart
 +
 +
[[Luokka:Linux|Postfix]]
 +
 +
== Postfix AD ==
 +
 +
Hyvä ohje löytyy ICT-academyn [http://ict-academy.fi/index.php?title=Postfix_Dovecot_ClamAv_Spamassassin#Postfixin_liitt.C3.A4minen_AD:seen Wikistä]
 +
 +
== Postqueue komentoja ==
 +
 +
postqueue avulla voit hallinnoida postin liikennettä, esimerkiksi voit estää tietyn lähettäjän s.postien lähtemisen tai saapumisen poistamalla ne
 +
 +
  postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } /username@example\.org/ { print $1 }' | tr -d '*!' | postsuper -d -
 +
 +
Poistaa tietyltä domainilta
 +
 +
  postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } /@example\.org/ { print $1 }' | tr -d '*!' | postsuper -d -
 +
 +
Poistaa kaikki s.postit
 +
 +
  postsuper -d ALL
 +
 +
Valmiita scriptejä: https://www.saotn.org/delete-mailer-daemon-emails-from-postfix-queue/
 +
 +
<pre>
 +
#!/bin/bash
 +
EMAILADDY=$1
 +
 +
if [ -z "$EMAILADDY" ]
 +
then
 +
  echo "Usage: $0 <email address>"
 +
  exit
 +
fi
 +
 +
echo "Delete all emails addressed to $EMAILADDY from our Postfix queue."
 +
 +
mailq | tail -n +2 | grep -v '^ *(' | awk -v "address=$EMAILADDY" 'BEGIN { RS = "" }
 +
  {
 +
    # example conditions:
 +
    #  if ( $7 == address && $8 == "" )
 +
    #  if ( $7 == address || $8 == address )
 +
    if ( $7 == address )
 +
      print $1
 +
  }
 +
' | tr -d '*!' | postsuper -d -
 +
</pre>
 +
 +
Voit käyttää tätä ajamalla
 +
 +
  sh mailq2delete.sh [email protected]
 +
 +
== Virheilmoituksia == <!--T:130-->
 +
 +
Ongelmien sattuessa kannattaa lukea palvelimen lokia:
 +
 +
  /var/log
 +
 +
<!--T:148-->
 
Tässä lista yleisistä virheilmoituksista mitä ilmenee usein postfixin konfiguroinnista:
 
Tässä lista yleisistä virheilmoituksista mitä ilmenee usein postfixin konfiguroinnista:
  
Sender address rejected: Domain not found (in reply to RCPT TO command
+
=== Sender address rejected: Domain not found (in reply to RCPT TO command === <!--T:149-->
  
myorigin on määritetty väärin /etc/postfix/main.cf tiedostosta. Tämän tulee olemaan domainin mini, esimerkiksi: example.com
+
<!--T:150-->
 +
myorigin on määritetty väärin /etc/mailname tiedostosta. Tämän tulee olemaan domainin nimi.
  
   Client host rejected: Access denied
+
   <!--T:151-->
 +
myorigin /etc/mailname
  
 +
  <!--T:152-->
 +
example.com 
 +
 +
=== Client host rejected: Access denied=== <!--T:153-->
 +
 +
<!--T:154-->
 
Relayhost on estänyt sinut, ehkä roskapostien takia.
 
Relayhost on estänyt sinut, ehkä roskapostien takia.
  
  connect to mx3.hotmail.com[65.55.37.104]:25: No route to host
+
=== connect to mx3.hotmail.com[65.55.37.104]:25: No route to host === <!--T:155-->
  
 +
<!--T:156-->
 
Tarkista Relayhost main.cf tiedostossa. Mahdollisesti sinulla on suljettu suoraan portti 25.
 
Tarkista Relayhost main.cf tiedostossa. Mahdollisesti sinulla on suljettu suoraan portti 25.
 +
 +
=== Host or domain name not found. Name service error for name=gmail.con type=A: Host not found === <!--T:157-->
 +
 +
<!--T:158-->
 +
DNS Virhe. Tarkista resolv.conf tiedostossa määriteytyt DNS asetukset. Kokeile nslookup komentoa.
 +
 +
=== Invalid mail address, must be fully qualified domain (in reply to RCPT TO command)) === <!--T:159-->
 +
 +
<!--T:160-->
 +
Isäntänimessä ongelma. Varmista että DNS on oikein määritetty ja isäntänimi main.cf tiedostossa.
 +
 +
=== unable to verify address (in reply to MAIL FROM command)) === <!--T:161-->
 +
 +
<!--T:162-->
 +
DNS ongelma. Varmista että sinulla on määritetty oikein A-records DNS palvelimelle ja MX-records. Tarkista /etc/hosts tiedosto. Korjaus:
 +
 +
<!--T:163-->
 +
nano /etc/hosts
 +
 +
<!--T:164-->
 +
127.0.0.1      localhost mail.example.com server
 +
127.0.1.1      example.com mail.example.com server
 +
 +
== Lähteet == <!--T:140-->
 +
 +
<!--T:141-->
 +
http://www.postfix.org/
 +
 +
<!--T:142-->
 +
https://wiki.debian.org/Postfix
 +
 +
<!--T:143-->
 +
http://www.sami-lehtinen.net/blog/securing-email-transport-starttls-postfix-ca-certificates-fingerprint-authority
 +
 +
http://ary.kleinerman.org/posts/how-to-install-and-setup-a-powerful-mail-server-on-linux/
 +
 +
</translate>

Nykyinen versio 30. joulukuuta 2018 kello 11.06

Muut kielet:
English • ‎suomi

Postfix on sähköpostin välitysohjelmisto (MTA). Postfix on avoimen lisenssillä varustettu ohjelmisto. Tietoturvallisessa ja suorituskykyisessä Postfixissä on hyvä roskapostin suodatus.

Suosittelemme käyttämään myös Spamassassin ja Amavis suojaamaan sähköpostipalvelinta roskapostittajilta.

Asennus

 aptitude install postfix

Seuraa asennusohjelman ohjeita

Postfix1.png


Tämän jälkeen sinun tulee antaa palvelimen isäntänimi

esimerkiksi:

 mail.example.com

Konfigurointi

Avaa konfigurointi tiedosto:

 nano /etc/postfix/main.cf

Tarkista postifixin konfigurointi tiedostossa on määritetty tietokoneen isäntänimi ja palvelimen osoite

 myhostname = server.example.com
 alias_maps = hash:/etc/aliases
 alias_database = hash:/etc/aliases
 myorigin = example.com
 mydestination = example.com, server.example.com, localhost, localhost.example.com$
 #relayhost =
 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
 mailbox_command = procmail -a "$EXTENSION"
 mailbox_size_limit = 0
 recipient_delimiter = +
 inet_interfaces = all

Tallenna tiedosto ja avaa seuraavaksi tiedosto

 nano /etc/postfix/master.cf

Oletuksena master.cf tiedostossa on sallittu normaali SMTP yhteys portissa 25.

 smtp      inet  n       -       -       -       -       smtpd


Oletuksena seuraavat ovat risuaidalla merkitty (#).

Ota käyttöön poistamalla risuaita 587 portissa tapahtuva SMTP tiedonsiirtoa. Sillä voi myös siirtää salattua liikennettä komennolla STARTTLS.

 submission inet n       -       -       -       -       smtpd
   -o syslog_name=postfix/submission
   -o smtpd_tls_security_level=encrypt
   -o smtpd_sasl_auth_enable=yes
   -o smtpd_client_restrictions=permit_sasl_authenticated,reject
   -o milter_macro_daemon_name=ORIGINATING

Ota käyttöön poistamalla risuaita SMTPS yhteys (portissa 465). SSL salaus käytetään tässä yhteydessä oletuksena. SASL todennusta suositellaan käytettäväksi.

 smtps     inet  n       -       -       -       -       smtpd
   -o syslog_name=postfix/smtps
   -o smtpd_tls_wrappermode=yes
   -o smtpd_sasl_auth_enable=yes
   -o smtpd_client_restrictions=permit_sasl_authenticated,reject
   -o milter_macro_daemon_name=ORIGINATING

Selitetään:

Palvelimesi nimi (tarkista että on sama kuin hostname (komento: hostname)):

 myhostname = server.example.com

Kirjautumisen tunnukset = sama kuin Debian. Ei muuteta

 alias_maps = hash:/etc/aliases
 alias_database = hash:/etc/aliases

Domain (määritetään palvelimesi sähköpostiosoitteeseen [email protected]). Oletuksena määritetty /etc/mailname:

 myorigin = example.com

Tietokoneen isäntänimet:

 mydestination = example.com, server.example.com, localhost, localhost.example.com$
 #relayhost = 127.0.0.1:10111

Tämä vaaditaan jos ei ole suoraa yhteyttä verkkoon.

Esimerkkinä Soneran postipalvelin:

 relayhost = [mail.inet.fi]:25

DNA postipalvelin:

 relayhost = [smtp.dnainternet.net]:25


Lähiverkkosi:

 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
 mailbox_command = procmail -a "$EXTENSION"
 mailbox_size_limit = 0
 recipient_delimiter = +

Verkkoliitännät

 inet_interfaces = all

Sulje tiedosto ja käynnistä postfix uudelleen

 service postfix restart

Lisäasetukset

Virtuaali sähköpostiosoitteet

Voit ohjata virtuaali sähköpostiosoitteet esimerkiksi [email protected] ja [email protected] omalle käyttäjällesi.

Avaa tiedosto:

 /etc/aliases
# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root = [username]

Muuttamalla [username] kohta omaksi käyttäjätiliksi saat kaikki näiden käyttäjätilien sähköpostit samaan sähköpostilaatikkoon. Voit lisätä muitakin osoitteita tiedoston loppuun:

[alias_postinimi] = [käyttäjälle]

Vahvista muutokset

 newaliases

Virtuaali domainit

Virtuaaliset domainit siis ovat tarkoitettu sähköpostipalvelimelle joka lähettää ja vastaanottaa usealle eri domainille.


Avaa Postfixin konfigurointi tiedosto main.cf

 /etc/postfix/main.cf

Lisää seuraavat rivit:

 virtual_alias_domains = example.com
 virtual_alias_maps = hash:/etc/postfix/virtual

Luo uusi tiedosto

 [email protected] postmaster
 [email protected]       matti
 [email protected]      kalle
 # Uncomment entry below to implement a catch-all address
 # @example.com         aleksi

Älä lisää virtual_alias_domain:ia mydestination domainiksi!

Sähköpostin uudelleenohjaus

Sähköpostin uudelleenohjaus [email protected] -> matti.example2.com esimerkiksi.

Avaa Postfixin konfigurointi tiedosto main.cf

 /etc/postfix/main.cf:

Lisää seuraavat rivit tiedostoon:

   virtual_alias_domains = example.com
   virtual_alias_maps = hash:/etc/postfix/virtual

Luo uusi tiedosto

 /etc/postfix/virtual:

Lisää seuraavat rivit tiedostoon

  [email protected] postmaster
  [email protected]        [email protected]
  [email protected]       [email protected]
  # Uncomment entry below to implement a catch-all address
  # @example.com         jim@yet-another-site

Uudelleenohjattava sähköpostin domain tulee olla mydestination merkitty. Et voi uudelleenohjata aliaksia /etc/alias

Tarkista konfiguraatio

  postmap /etc/postfix/virtual

Testataan Postfixin toimintaa

Lähetetään testisähköposti:

Asenna tämä sähköpostityökälut jos ei ole asennettu:

 apt-get install mailutils

ja sen jälkeen lähetetään sähköpostia:

 mail [email protected]

Komento tulostaa:

 Subject: Aiheesi viestille

Tämän jälkeen kirjoita viesti (ja ENTER) ja tulostuu:

 CC: 

jonka voi jättää tyhjäksi. Lähetä sähköposti näppäinyhdistelmällä CTRL+D.

Sähköpostipalvelimen suojaaminen

Kun luot oman sähköpostipalvelimen, sitä pitää heti alkaa suojaamaan ahkerasti roskapostittajia vastaan. Suositus on ottaa myös SASL todennus käyttöön.

Roskapostien suodatus

Lisäämällä seuraava koodi pätkä tarkistaa onko lähettäjän verkkotunnus olemassa:

 nano /etc/postfix/main.cf


 smtpd_recipient_restrictions = reject_invalid_hostname,
       reject_unknown_recipient_domain,
       reject_unauth_destination,
       reject_rbl_client sbl.spamhaus.org, # Tämä rivi ei Soneran verkkoon
       permit
smtpd_helo_restrictions = reject_invalid_helo_hostname,
       reject_non_fqdn_helo_hostname,
       reject_unknown_helo_hostname

Ja tämä tarkistaa listan onko verkkotunnus merkitty roskapostittajaksi:

 nano /etc/postfix/main.cf
 smtpd_client_restrictions = reject_rbl_client dnsbl.sorbs.net

SMTPS SASL todennus

Lisäämällä seuraava rivi, niin estät sähköpostin välitykset muusta kuin omasta verkostasi. SASL tunnistuksen avulla voit lähettää muustakin verkosta

 nano /etc/postfix/main.cf
 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject

Hyödynnä Dovecottia SASL todennuksessa. Tämä toimii siis Dovecotin todennuksen kanssa.

# SASL authentication
smtpd_sasl_auth_enable=yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = noanonymous

Lisäksi poista risuaita tiedostosta

 nano /etc/dovecot/conf.d/10-master.conf

kohdasta

 # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
        user = postfix
        group = postfix

}
 nano /etc/postfix/master.cf

Ota seuraavilta riveiltä risuaita pois submission ja smtps kohdasta. Jos haluat SMTP portille myös audikoinnin, lisää tämä seuraavat rivi sen alle.

 -o smtpd_sasl_auth_enable=yes
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject

TLS (STARTSSL)

Esimerkki konfiguraatio tiedostosta /etc/postfix/main.cf

smtpd_use_tls=yes
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtpd_tls_cert_file=/etc/ssl/postfix.cert
smtpd_tls_key_file=/etc/ssl/postfix.key
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3
smtpd_tls_protocols=!SSLv2,!SSLv3,TLSv1,TLSv1.1,TLSv1.2
smtpd_tls_mandatory_exclude_ciphers = aNULL, MD5 , DES, ADH, !RC4, PSD, SRP, 3DES, eNULL
smtpd_tls_mandatory_ciphers = high
tls_high_cipherlist = AES128+EECDH:AES128+EDH

Ota käyttöön Submission kohdasta risuaidat pois.

Testaa STARTSSL: https://starttls.info/

https://checktls.com/ https://ssl-tools.net/mailservers/

Testaa openssl_client komennolla toimivuuksia

 openssl s_client -connect mail.example.org:587

TLS-Policy

TLS Policyllä eli säännöillä voidaan määrittää missä sivuilla esimerkiksi on pakotettu TLS käyttöön ja missä vaihtoehtoisesti.

Lisää tämä main.conf tiedostoon

 smtp_tls_policy_maps = hash:/etc/postfix/tls_policy

Luo tiedosto /etc/postfix/tls_policy . Policyyn määritetään domainit jossa on pakotettu salaus encrypt määritteellä. Testaa lähettämällä gmailiin niin gmail ilmoittaa että sähköposti on salattu.

gmail.com encrypt
.gmail.com encrypt
ssl-tools.net encrypt
.ssl-tools.net encrypt

Hash sisältö postmap komennolla

 sudo postmap /etc/postfix/tls_policy

Lataa Postfix konfiguraatio uudelleen

 sudo service postfix reload

Poista lähtevistä sähköposteistä asiakkaan header-tiedot

Tällä tarkoituksena on poistaa esimerkiksi sähköpostiasiakasohjelmalla lähtevien IP-osoitteet suojaten yksityisyyttä. Tiedot kuitenkin tallentuu palvelimen lokiin normaalisti.

Asenna Postfix-pcre

 sudo apt install postfix-pcre

Luo uusi tiedosto smtp_header_checks

sudo nano /etc/postfix/smtp_header_checks

Ja lisää tiedostoon

/^\s*(Received: from)[^\n]*(.*)/ REPLACE $1 [127.0.0.1] (localhost [127.0.0.1])$2
/^\s*User-Agent/        IGNORE
/^\s*X-Enigmail/        IGNORE
/^\s*X-Mailer/          IGNORE
/^\s*X-Originating-IP/  IGNORE

Tämä muuttaa from-headeristä kaikki IP-osoitteet 127.0.0.1:seksi. Poistaa asiakasohjelman User-Agentin yms tiedot.

Lisää tämän jälkeen Postfixin main.conf tiedostoon rivi

smtp_header_checks = pcre:/etc/postfix/smtp_header_checks

Ja lataa konfiguraatio uudelleen

sudo service postfix reload

Telia Postipalvelimen käytössä Relaynä - SMTPS

Postfixissä on tuki SSL yhteydelle TLS:n kanssa mutta ei pelkästään SSL kanssa. Tämä seuraava ohje on pelkästään SSL, mutta jos on tuki TLS salaukselle, on suositeltavaa käyttää sitä.

Ohjeen lähde: http://www5.sonera.fi/keskustele/viewtopic.php?f=59&t=9210

SMTPS on salattu SMTP yhteys ja nykyisin suositus olisi käyttää tätä ominaisuutta.

Esimerkkinä on Soneran verkko:

 relayhost = [mail.inet.fi]

Nyt olisi aika siirtyä salattuun postiin ja tämä on hieman hankalempi, kun Soneran omat postipalvelimet eivät tue TLS salausta. Postfix ei tue SSL salausta, mutta asennetaan pieni kiertotie niin se onnistuu.

Asennetaan ensin Stunnel

 aptitude install stunnel

Luodaan tiedosto /etc/stunnel/postfix.conf ja kopioi alla oleva koodi:

 [ssmtp_c2s]
   accept = 127.0.0.1:10111
   client = yes
   connect = mail.inet.fi:465
   delay = yes  

ja tämän jälkeen avaa tiedosto: /etc/default/stunnel ja muuta se seuraavanlaiseksi:

 # Change to one to enable stunnel automatic startup
 # MUUTOS
 #ENABLED=0
 ENABLED=1
 FILES="/etc/stunnel/*.conf"
 OPTIONS=""
 
 # Change to one to enable ppp restart scripts
 PPP_RESTART=0

Tämän jälkeen muokkaa /etc/postfix/main.cf seuraavanlaiseksi:

 relayhost = 127.0.0.1:10111
   
 # SASL authentication
 smtp_sasl_auth_enable=yes
 smtp_sasl_password_maps = hash:/etc/postfix/passwd
 smtp_sasl_security_options = noanonymous
 smtp_sasl_tls_security_options = noanonymous
    
 # TLS
 smtp_tls_eccert_file =
 smtp_tls_eckey_file =
 # http://www.postfix.org/TLS_README.html#client_tls_may
 smtp_tls_security_level = may
 smtpd_tls_received_header = yes
tls_random_source = dev:/dev/urandom
 # http://www.postfix.org/TLS_README.html#client_tls_may
 smtpd_tls_security_level = may
 

Luo tiedosto /etc/postfix/passwd ja kirjoita siihen Soneran sähköpostisi käyttäjätunnus ja salasana

 mail.inet.fi:465 KÄYTTÄJÄTUNNUS:SALASANA

Esimerkiksi:

 mail.inet.fi:465 [email protected]:taisto

Tämän jälkeen anna tämä komento:

 postmap hash:/etc/postfix/passwd

Kokeile toimiiko antamalla seuraava komento:

 postmap -q mail.inet.fi:465 /etc/postfix/passwd

Jos komento tulostaa käyttäjätunnuksesi ja salasanasi, kaikki toimii tähän asti


Estä muiden käyttäjien näkemästä salasanaasi:

 chmod go-rwx /etc/postfix/passwd*

Käynnistä lopuksi palvelut uudelleen

 service stunnel4  restart
 service postfix restart

Varasähköpostipalvelin

Varasähköpostipalvelimen avulla varmistat ettei sähköpostit häviä jos ensisijainen sähköpostipalvelin ei olisikaan verkossa. Varasähköpostipalvelimia voi olla useita ja ne tallentavat sähköpostit jonotus listalle odottamaan kunnes ensisijainen sähköpostipalvelin palaa takaisin toimintaan.

Sinun tulee määrittää MX tietueet DNS palveluun. MX1 on ensisijainen palvelin ja MX2 on toissijainen palvelin. Priority arvolla määritetään mikä palvelin on ensisijainen ja toissijaiset. Pienin arvo (10) on ensisijainen ja suurin arvo (20) on toissijainen.

example.com.               86400   IN      MX      10 mx1.example.com.
example.com.               86400   IN      MX      20 mx2.example.com.

Konfiguroidessa MX2 palvelimesta varapalvelin, sinun tulee konfiguroida main.cf tiedostoon

 nano /etc/postfix/main.cf

Määritä seuraavanlaiset konfiguraatiot. smtpd_recipient_restrictions tulee olla permit_mynetworks ja reject_unauth_destination. Relay_domainissa tulee olla example.org, eli domain joka ohjataan eteenpäin. Tämä määrittää mikä sähköpostidomainien postit ohjataan eteenpäin. relay_recipient_maps tulee olla tyhjä.

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

relay_domains = $mydestination, example.com

relay_recipient_maps =

Varmista että seuraavat parametrit ovat tyhjiä: mydestination, virtual_alias_domains, virtual_mailbox_domains

Käynnistä palvelu uudelleen

 service postfix restart

Testaa sammuttamalla pääsähköpostipalvelin ja lähetä example.org osoitteelle sähköpostia. mail.log voit seurata toimiiko sähköpostit oikein.

SPF

SPF tarkoitus ilmoittaa että mistä IP:stä tai osoitteesta on sallittua lähettää tällä domainilla sähköpostia. Tällä vaikeutetaan roskapostittajien ns. domain väärentämisiä.

Voit luoda tietueet täältä: http://www.spfwizard.net/

Esimerkki (sallitaan A recordista mail.example.org joka on meidän oma postipalvelin ja estetään muista palvelimista sekä MX palvelimista jotka nimipalvelusta löytyy:

 v=spf1 mx a:mail.example.org -all

Lisää tietue nimipalveluun. Kysy lisää palveluntarjoajaltasi.

Asenna sitten Postfix palvelimeesi

  sudo apt install postfix-policyd-spf-python

Lisää master.cf tiedostoon loppuun

policyd-spf  unix  -       n       n       -       0       spawn
    user=policyd-spf argv=/usr/bin/policyd-spf

Konfiguroi main.cf.

policyd-spf_time_limit = 3600



smtpd_recipient_restrictions =
    ...
    reject_unauth_destination,
    check_policy_service unix:private/policyd-spf,
    ...

Varmista että 'check_policy_service' on jälkeen 'reject_unauth_destination' estääksesi avoimen postipalvelun (käytetään muuten palvelintasi roskapostittamiseen).

Greylisting

Asenna Postgrey

sudo apt install postgrey

Lisää asennuksen jälkeen /etc/postfix/main.conf tiedostoon check_policy_service inet:127.0.0.1:10023 parametri smtpd_recipient_restrictions kohtaan.

smtpd_recipient_restrictions
  check_policy_service inet:127.0.0.1:10023

Lataa Postfix-konfiguraatio uudelleen

sudo postfix reload

Opendkim

DKIM (DomainKeys Identified Mail):in avulla estät sähköpostien väärentämisen lisäämällä digitaalisen allekirjoituksen lähtevissä posteissa. Tässä käytetään yksityistä avainta salatakseen lähtevän postin headerin ja julkinen avain lisätään DNS:ään. Vastaanottaja palvelin voi täältä DNS:stä hakea julkisen avaimen ja näin varmistaa että sähköposti tulee oikealta palvelimelta eikä ole muuttunut matkalla.

Asenna openkim

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install opendkim opendkim-tools

Lisää Postfix käyttäjä Opendkim ryhmään

 sudo adduser postfix opendkim

Opendkim konfigurointi

Avaa konfigurointi tiedosto

 sudo nano /etc/opendkim.conf

Konfiguraatio tulisi näyttää tältä:

# This is a basic configuration that can easily be adapted to suit a standard
# installation. For more advanced options, see opendkim.conf(5) and/or
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.

# Log to syslog
Syslog          yes
# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
UMask           002
# OpenDKIM user
# Remember to add user postfix to group opendkim
UserID          opendkim

# Map domains in From addresses to keys used to sign messages
KeyTable        /etc/opendkim/key.table
SigningTable        refile:/etc/opendkim/signing.table

# Hosts to ignore when verifying signatures
ExternalIgnoreList  /etc/opendkim/trusted.hosts
InternalHosts       /etc/opendkim/trusted.hosts

# Commonly-used options; the commented-out versions show the defaults.
Canonicalization    relaxed/simple
Mode            sv
SubDomains      no
#ADSPAction     continue
AutoRestart     yes
AutoRestartRate     10/1M
Background      yes
DNSTimeout      5
SignatureAlgorithm  rsa-sha256

# Always oversign From (sign using actual From and a null From to prevent
# malicious signatures header fields (From and/or others) between the signer
# and the verifier.  From is oversigned by default in the Debian package
# because it is often the identity key used by reputation systems and thus
# somewhat security sensitive.
OversignHeaders     From

Määritä konfigurointi tiedostolle oikeudet

 sudo chmod u=rw,go=r /etc/opendkim.conf

Luo hakemisto opendkim:ille, avaimille sekä määritä niille oikeudet

sudo mkdir /etc/opendkim
sudo mkdir /etc/opendkim/keys
sudo chown -R opendkim:opendkim /etc/opendkim
sudo chmod go-rw /etc/opendkim/keys

Avainten luonti

Luo avainten allekirjoitustaulu. Tiedostossa tulee olla jokaisella riville domain mitä haluat käyttää

sudo nano /etc/opendkim/signing.table
*@example.com   example

Korvaa example sinun omallasi domainilla. Ensimmäinen osuus @example.org täsmää sähköpostiosoitteeseesi.

Luo ja avaa key.table tiedosto. Korvaa example.org omalla verkkotunnuksella

sudo nano /etc/opendkim/key.table
example     example.com:mail:/etc/opendkim/keys/example.com/mail.private

Korvaa example sillä mitä käytit signing.table:ssa "mail" on DNS recordi jonka kirjoitat DNS:sään.

Luo trusted.hosts tiedosto.

 sudo nano /etc/opendkim/trusted.hosts
127.0.0.1
::1
localhost
myhostname
myhostname.example.com
example.com

Korvaa myhostname palvelimen nimelläsi ja example domainillasi.

Määritä oikeudet hakemistoihin

sudo chown -R opendkim:opendkim /etc/opendkim
sudo chmod -R go-rwx /etc/opendkim/keys

Luodaan nyt avaimet DKIMiä varten

sudo mkdir /etc/opendkim/keys/example.com
cd /etc/opendkim/keys/example.com/
sudo opendkim-genkey -b 2048 -s mail -d example.com -v

Mikäli nimipalvelin ei tue 2048 bittistä niin sitten käytä 1024 bittistä

sudo opendkim-genkey -b 1024 -s mail -d example.org -v

Määritä vielä rekurssiiviset oikeudet hakemistoihin

sudo chown -R opendkim:opendkim /etc/opendkim
sudo chmod -R go-rw /etc/opendkim/keys

Käynnistä Opendkim uudelleen

 sudo service opendkim restart

Konfiguroi DNS

Avaa nyt mail.txt tiedosto

 sudo cat /etc/opendkim/keys/example.com/mail.txt

Tee nimipalvelimeen TXT recordi, esim:

mail._domainkey.example.com  IN  TXT v=DKIM1; k=rsa; s=email; p=<avain>

Korvaa example.com ja <avain> tiedoston sisällöllä ja domainilla.

Testaa

 sudo opendkim-testkey -d example.com -s mail

Jos kaikki on OK sinun ei tulisi saada ollenkaan mitään tulostusta.

Opendkim konfigurointi Postfixiin

Luo hakemisto

sudo mkdir /var/spool/postfix/opendkim
sudo chown opendkim:postfix /var/spool/postfix/opendkim

Määritä oikea soketti opendkim:ille

 sudo nano /etc/default/opendkim

Varmista että kaikki on kommentoitu ja lisää alla oleva tiedostoon

 SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock"

Konfiguroi seuraavaksi main.cnf tiedostoon opendkim asetuksia

 sudo nano /etc/postfix/main.cf
# Milter configuration
# OpenDKIM
milter_default_action = accept
milter_protocol = 6
smtpd_milters = local:/var/spool/postfix/opendkim/opendkim.sock
non_smtpd_milters = local:/var/spool/postfix/opendkim/opendkim.sock

Käynnistä Postfix ja Opendkim uudelleen

 sudo service postfix restart
 sudo service opendkim restart

Testaa toimiiko kaikki lähettämällä tyhjän sähköpostin: [email protected] . Saat paluupostina viestin jossa näet toimiiko vai ei.

Opendmarc

Opendmarcin avulla voit tarkistaa Postfixissä Dmarc-tietueen.

sudo apt install opendmarc

Kopioi alkuperäinen konfiguraatio talteen

sudo mv /etc/opendmarc.conf /etc/opendmarc.conf.bak

Luo uusi tiedosto

sudo nano /etc/opendmarc.conf

Tässä on esimerkkikonfiguraatio

AutoRestart             Yes
AutoRestartRate         10/1h

UserID                  postfix:postfix
Socket                  inet:54321@localhost
Syslog                  true
SyslogFacility          mail

AuthservID              mail.example.org
#TrustedAuthservIDs      other.mail.server, another.mail.server
IgnoreHosts             /etc/opendkim/trusted.hosts

FailureReportsSentBy    [email protected]
FailureReportsBcc       [email protected]

RejectFailures          false

Lisää tämä /etc/default/opendmarc tiedostoon

SOCKET="inet:54321@localhost"

Lisää tämä /etc/postfix/main.conf tiedostoon kohtaan smttpd_milters

smtpd_milters = inet:localhost:54321

Käynnistä Postfix ja Opendmarc uudelleen

sudo service opendmarc restart
sudo service postfix restart

Postfix toiminta PHP5 kanssa

PHP5 sisältää mail funktion. Sinun tulee konfiguroida php.ini tiedostoa

 nano /etc/php5/apache2/php.ini

ja muuttaa se tälläiseksi:

 ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
 ; http://php.net/sendmail-path
 sendmail_path = "/usr/sbin/sendmail -t -i"

ja käynnistä apache uudelleen

 service apache2 restart

Postfix AD

Hyvä ohje löytyy ICT-academyn Wikistä

Postqueue komentoja

postqueue avulla voit hallinnoida postin liikennettä, esimerkiksi voit estää tietyn lähettäjän s.postien lähtemisen tai saapumisen poistamalla ne

 postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } /username@example\.org/ { print $1 }' | tr -d '*!' | postsuper -d -

Poistaa tietyltä domainilta

 postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } /@example\.org/ { print $1 }' | tr -d '*!' | postsuper -d -

Poistaa kaikki s.postit

 postsuper -d ALL

Valmiita scriptejä: https://www.saotn.org/delete-mailer-daemon-emails-from-postfix-queue/

#!/bin/bash
EMAILADDY=$1

if [ -z "$EMAILADDY" ]
then
  echo "Usage: $0 <email address>"
  exit
fi

echo "Delete all emails addressed to $EMAILADDY from our Postfix queue."

mailq | tail -n +2 | grep -v '^ *(' | awk -v "address=$EMAILADDY" 'BEGIN { RS = "" }
  {
    # example conditions:
    #   if ( $7 == address && $8 == "" )
    #   if ( $7 == address || $8 == address )
    if ( $7 == address )
      print $1
  }
' | tr -d '*!' | postsuper -d -

Voit käyttää tätä ajamalla

 sh mailq2delete.sh [email protected]

Virheilmoituksia

Ongelmien sattuessa kannattaa lukea palvelimen lokia:

 /var/log

Tässä lista yleisistä virheilmoituksista mitä ilmenee usein postfixin konfiguroinnista:

Sender address rejected: Domain not found (in reply to RCPT TO command

myorigin on määritetty väärin /etc/mailname tiedostosta. Tämän tulee olemaan domainin nimi.

 myorigin /etc/mailname
 example.com  

Client host rejected: Access denied

Relayhost on estänyt sinut, ehkä roskapostien takia.

connect to mx3.hotmail.com[65.55.37.104]:25: No route to host

Tarkista Relayhost main.cf tiedostossa. Mahdollisesti sinulla on suljettu suoraan portti 25.

Host or domain name not found. Name service error for name=gmail.con type=A: Host not found

DNS Virhe. Tarkista resolv.conf tiedostossa määriteytyt DNS asetukset. Kokeile nslookup komentoa.

Invalid mail address, must be fully qualified domain (in reply to RCPT TO command))

Isäntänimessä ongelma. Varmista että DNS on oikein määritetty ja isäntänimi main.cf tiedostossa.

unable to verify address (in reply to MAIL FROM command))

DNS ongelma. Varmista että sinulla on määritetty oikein A-records DNS palvelimelle ja MX-records. Tarkista /etc/hosts tiedosto. Korjaus:

nano /etc/hosts
127.0.0.1       localhost mail.example.com server
127.0.1.1       example.com mail.example.com server

Lähteet

http://www.postfix.org/

https://wiki.debian.org/Postfix

http://www.sami-lehtinen.net/blog/securing-email-transport-starttls-postfix-ca-certificates-fingerprint-authority

http://ary.kleinerman.org/posts/how-to-install-and-setup-a-powerful-mail-server-on-linux/

Mainos / Advertisement: