Ero sivun ”Postfix” versioiden välillä
(Tämä versio merkittiin käännettäväksi) |
|||
Rivi 1: | Rivi 1: | ||
<languages/> | <languages/> | ||
<translate> | <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. | 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. | Suosittelemme käyttämään myös [[Spamassassin]] ja [[Amavis]] suojaamaan sähköpostipalvelinta roskapostittajilta. | ||
− | == Asennus == | + | == Asennus == <!--T:3--> |
− | [[aptitude]] install postfix | + | <!--T:4--> |
+ | [[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 | ||
+ | <!--T:8--> | ||
esimerkiksi: | esimerkiksi: | ||
− | mail.example.com | + | <!--T:9--> |
+ | mail.example.com | ||
− | == Konfigurointi == | + | == 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 41: | Rivi 53: | ||
inet_interfaces = all | inet_interfaces = all | ||
+ | <!--T:15--> | ||
Tallenna tiedosto ja avaa seuraavaksi tiedosto | 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 61: | Rivi 80: | ||
-o milter_macro_daemon_name=ORIGINATING | -o milter_macro_daemon_name=ORIGINATING | ||
+ | <!--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. | 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 70: | 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 84: | 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 99: | 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 == | + | == Lisäasetukset == <!--T:31--> |
− | === Virtuaali sähköpostiosoitteet === | + | === 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. | Voit ohjata virtuaali sähköpostiosoitteet esimerkiksi [email protected] ja [email protected] omalle käyttäjällesi. | ||
+ | <!--T:34--> | ||
Avaa tiedosto: | Avaa tiedosto: | ||
− | /etc/aliases | + | <!--T:35--> |
+ | /etc/aliases | ||
− | # /etc/aliases | + | <!--T:36--> |
+ | # /etc/aliases | ||
mailer-daemon: postmaster | mailer-daemon: postmaster | ||
postmaster: root | postmaster: root | ||
Rivi 128: | Rivi 159: | ||
root = [username] | 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: | 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] | + | <!--T:38--> |
+ | [alias_postinimi] = [käyttäjälle] | ||
+ | <!--T:39--> | ||
Vahvista muutokset | Vahvista muutokset | ||
− | newaliases | + | <!--T:40--> |
+ | newaliases | ||
− | === Virtuaali domainit === | + | === Virtuaali domainit === <!--T:41--> |
+ | <!--T:42--> | ||
Virtuaaliset domainit siis ovat tarkoitettu sähköpostipalvelimelle joka lähettää ja vastaanottaa usealle eri domainille. | Virtuaaliset domainit siis ovat tarkoitettu sähköpostipalvelimelle joka lähettää ja vastaanottaa usealle eri domainille. | ||
+ | <!--T:43--> | ||
Avaa Postfixin konfigurointi tiedosto main.cf | Avaa Postfixin konfigurointi tiedosto main.cf | ||
− | /etc/postfix/main.cf | + | <!--T:44--> |
+ | /etc/postfix/main.cf | ||
+ | <!--T:45--> | ||
Lisää seuraavat rivit: | Lisää seuraavat rivit: | ||
− | virtual_alias_domains = example.com | + | <!--T:46--> |
+ | virtual_alias_domains = example.com | ||
virtual_alias_maps = hash:/etc/postfix/virtual | virtual_alias_maps = hash:/etc/postfix/virtual | ||
+ | <!--T:47--> | ||
Luo uusi tiedosto | Luo uusi tiedosto | ||
− | [email protected] postmaster | + | <!--T:48--> |
+ | [email protected] postmaster | ||
[email protected] matti | [email protected] matti | ||
[email protected] kalle | [email protected] kalle | ||
Rivi 158: | Rivi 200: | ||
# @example.com aleksi | # @example.com aleksi | ||
+ | <!--T:49--> | ||
Älä lisää virtual_alias_domain:ia mydestination domainiksi! | Älä lisää virtual_alias_domain:ia mydestination domainiksi! | ||
− | === Sähköpostin uudelleenohjaus === | + | === Sähköpostin uudelleenohjaus === <!--T:50--> |
+ | <!--T:51--> | ||
Sähköpostin uudelleenohjaus [email protected] -> matti.example2.com esimerkiksi. | Sähköpostin uudelleenohjaus [email protected] -> matti.example2.com esimerkiksi. | ||
+ | <!--T:52--> | ||
Avaa Postfixin konfigurointi tiedosto main.cf | Avaa Postfixin konfigurointi tiedosto main.cf | ||
− | /etc/postfix/main.cf: | + | <!--T:53--> |
+ | /etc/postfix/main.cf: | ||
+ | <!--T:54--> | ||
Lisää seuraavat rivit tiedostoon: | Lisää seuraavat rivit tiedostoon: | ||
− | virtual_alias_domains = example.com | + | <!--T:55--> |
+ | virtual_alias_domains = example.com | ||
virtual_alias_maps = hash:/etc/postfix/virtual | virtual_alias_maps = hash:/etc/postfix/virtual | ||
+ | <!--T:56--> | ||
Luo uusi tiedosto | Luo uusi tiedosto | ||
− | /etc/postfix/virtual: | + | <!--T:57--> |
+ | /etc/postfix/virtual: | ||
+ | <!--T:58--> | ||
Lisää seuraavat rivit tiedostoon | Lisää seuraavat rivit tiedostoon | ||
[email protected] postmaster | [email protected] postmaster | ||
Rivi 184: | Rivi 235: | ||
# @example.com jim@yet-another-site | # @example.com jim@yet-another-site | ||
+ | <!--T:59--> | ||
Uudelleenohjattava sähköpostin domain tulee olla mydestination merkitty. Et voi uudelleenohjata aliaksia /etc/alias | Uudelleenohjattava sähköpostin domain tulee olla mydestination merkitty. Et voi uudelleenohjata aliaksia /etc/alias | ||
+ | <!--T:60--> | ||
Tarkista konfiguraatio | Tarkista konfiguraatio | ||
− | postmap /etc/postfix/virtual | + | <!--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: | ||
− | mail [email protected] | + | <!--T:67--> |
+ | mail [email protected] | ||
+ | <!--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 228: | 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 | ||
− | smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject | + | <!--T:85--> |
+ | smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject | ||
− | [[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 | ||
− | === TLS (STARTSSL) === | + | === TLS (STARTSSL) === <!--T:89--> |
+ | <!--T:90--> | ||
Esimerkki konfiguraatio tiedostosta /etc/postfix/main.cf | Esimerkki konfiguraatio tiedostosta /etc/postfix/main.cf | ||
− | smtpd_tls_cert_file = /etc/postfix/cert.pem | + | <!--T:91--> |
+ | smtpd_tls_cert_file = /etc/postfix/cert.pem | ||
smtpd_tls_key_file = /etc/postfix/key.pem | smtpd_tls_key_file = /etc/postfix/key.pem | ||
smtpd_tls_mandatory_ciphers = high | smtpd_tls_mandatory_ciphers = high | ||
Rivi 265: | Rivi 344: | ||
smtpd_tls_mandatory_protocols = TLSv1 TLSv1.1 TLSv1.2 | smtpd_tls_mandatory_protocols = TLSv1 TLSv1.1 TLSv1.2 | ||
+ | <!--T:92--> | ||
Ota käyttöön Submission kohdasta risuaidat pois. | Ota käyttöön Submission kohdasta risuaidat pois. | ||
+ | <!--T:93--> | ||
Testaa STARTSSL: https://starttls.info/ | Testaa STARTSSL: https://starttls.info/ | ||
− | === SMTPS === | + | === SMTPS === <!--T:94--> |
+ | <!--T:95--> | ||
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ä. | 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: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: | ||
+ | <!--T:99--> | ||
Olet siis konfiguroinnut /etc/postfix/main.cf tiedostoon. Tämä siis toimii salaamattassa portissa 25. | Olet siis konfiguroinnut /etc/postfix/main.cf tiedostoon. Tämä siis toimii salaamattassa portissa 25. | ||
− | relayhost = [mail.inet.fi] | + | <!--T:100--> |
+ | 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 297: | Rivi 389: | ||
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 309: | Rivi 403: | ||
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 331: | Rivi 427: | ||
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 | ||
− | service postfix restart | + | <!--T:122--> |
+ | service postfix restart | ||
− | == Postfix toiminta PHP5 kanssa == | + | == Postfix toiminta PHP5 kanssa == <!--T:123--> |
+ | <!--T:124--> | ||
PHP5 sisältää mail funktion. Sinun tulee konfiguroida php.ini tiedostoa | PHP5 sisältää mail funktion. Sinun tulee konfiguroida php.ini tiedostoa | ||
− | nano /etc/php5/apache2/php.ini | + | <!--T:125--> |
+ | nano /etc/php5/apache2/php.ini | ||
+ | <!--T:126--> | ||
ja muuttaa se tälläiseksi: | ja muuttaa se tälläiseksi: | ||
− | ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). | + | <!--T:127--> |
+ | ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). | ||
; http://php.net/sendmail-path | ; http://php.net/sendmail-path | ||
sendmail_path = "/usr/sbin/sendmail -t -i" | sendmail_path = "/usr/sbin/sendmail -t -i" | ||
+ | <!--T:128--> | ||
ja käynnistä apache uudelleen | ja käynnistä apache uudelleen | ||
− | service apache2 restart | + | <!--T:129--> |
+ | service apache2 restart | ||
− | == Virheilmoituksia == | + | == Virheilmoituksia == <!--T:130--> |
+ | <!--T:131--> | ||
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 | + | <!--T:132--> |
+ | Sender address rejected: Domain not found (in reply to RCPT TO command | ||
+ | <!--T:133--> | ||
myorigin on määritetty väärin /etc/postfix/main.cf tiedostosta. Tämän tulee olemaan domainin mini, esimerkiksi: example.com | myorigin on määritetty väärin /etc/postfix/main.cf tiedostosta. Tämän tulee olemaan domainin mini, esimerkiksi: example.com | ||
− | Client host rejected: Access denied | + | <!--T:134--> |
+ | Client host rejected: Access denied | ||
+ | <!--T:135--> | ||
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 | + | <!--T:136--> |
+ | connect to mx3.hotmail.com[65.55.37.104]:25: No route to host | ||
+ | <!--T:137--> | ||
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:138--> |
+ | Host or domain name not found. Name service error for name=gmail.con type=A: Host not found | ||
+ | <!--T:139--> | ||
DNS Virhe. Tarkista resolv.conf tiedostossa määriteytyt DNS asetukset. Kokeile nslookup komentoa. | DNS Virhe. Tarkista resolv.conf tiedostossa määriteytyt DNS asetukset. Kokeile nslookup komentoa. | ||
− | == Lähteet == | + | == Lähteet == <!--T:140--> |
+ | <!--T:141--> | ||
http://www.postfix.org/ | http://www.postfix.org/ | ||
+ | <!--T:142--> | ||
https://wiki.debian.org/Postfix | https://wiki.debian.org/Postfix | ||
</translate> | </translate> |
Versio 21. tammikuuta 2015 kello 11.35
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.
Sisällysluettelo
Asennus
aptitude install postfix
Seuraa asennusohjelman ohjeita
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
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_tls_cert_file = /etc/postfix/cert.pem smtpd_tls_key_file = /etc/postfix/key.pem smtpd_tls_mandatory_ciphers = high smtpd_tls_mandatory_exclude_ciphers = aNULL, MD5 smtpd_tls_security_level = encrypt smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_mandatory_protocols = TLSv1 TLSv1.1 TLSv1.2
Ota käyttöön Submission kohdasta risuaidat pois.
Testaa STARTSSL: https://starttls.info/
SMTPS
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ä.
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:
Olet siis konfiguroinnut /etc/postfix/main.cf tiedostoon. Tämä siis toimii salaamattassa portissa 25.
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
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
Virheilmoituksia
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/postfix/main.cf tiedostosta. Tämän tulee olemaan domainin mini, esimerkiksi: 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.