Sähköpostipalvelujen (SMTP, Imap ja Imaps) määrittäminen ja SMTP:n käytön rajoittaminen - Osa 7


LFCE (Linux Foundation Certified Engineer) on koulutettu ammattilainen, jolla on taidot asentaa, hallita ja vianetsintä verkkopalveluja Linux-järjestelmissä ja joka vastaa järjestelmäarkkitehtuurin ja käyttäjien hallinnan suunnittelu, toteutus ja jatkuva ylläpito.

Esittelyssä Linux Foundation -sertifiointiohjelma.

Edellisessä opetusohjelmassa keskustelimme sähköpostipalvelun tarvittavien komponenttien asentamisesta. Jos et ole vielä asentanut Postfixia ja Dovecotia, katso tämän sarjan osa 1 saadaksesi ohjeet sen tekemiseen ennen kuin jatkat.

Vaatimus

  1. Asenna Postfix Mail Server ja Dovecot – Osa 1

Tässä viestissä näytän sinulle, kuinka sähköpostipalvelimesi määritetään ja miten seuraavat tehtävät suoritetaan:

  1. Määritä sähköpostin aliakset
  2. Määritä IMAP- ja IMAPS-palvelu
  3. Määritä smtp-palvelu
  4. Rajoita pääsyä smtp-palvelimeen

Huomaa: Asetuksemme kattaa vain sähköpostipalvelimen lähiverkossa, jossa koneet kuuluvat samaan verkkotunnukseen. Sähköpostiviestien lähettäminen muihin toimialueisiin vaatii monimutkaisemman asennuksen, mukaan lukien toimialueen nimen selvitysominaisuudet, jotka eivät kuulu LFCE-sertifioinnin piiriin.

Mutta aluksi aloitetaan muutamalla määritelmällä.

Postin lähetys-, kuljetus- ja jakeluprosessin osat

Seuraava kuva havainnollistaa sähköpostin siirtoprosessia lähettäjältä, kunnes viesti saapuu vastaanottajan postilaatikkoon:

Jotta tämä olisi mahdollista, kulissien takana tapahtuu useita asioita. Jotta sähköpostiviesti toimitetaan asiakassovelluksesta (kuten Thunderbird, Outlook tai webmail-palveluista, kuten Gmail tai Yahoo! Mail) hänen sähköpostipalvelimelleen ja sieltä kohdepalvelimelle ja lopulta sen aiotulle vastaanottajalle. SMTP-palvelun (Simple Mail Transfer Protocol) on oltava käytössä jokaisessa palvelimessa.

Kun puhut sähköpostipalveluista, löydät seuraavat termit mainittuna hyvin usein:

Viestinvälitysagentti – MTA

MTA (lyhenne sanoista Mail tai Message Transport Agent), alias mail relay, on ohjelmisto, joka vastaa sähköpostiviestien siirtämisestä palvelimelta asiakkaalle (ja myös toisinpäin). Tässä sarjassa Postfix toimii MTA:namme.

Mail User Agent – MUA

MUA tai Mail User Agent on tietokoneohjelma, jota käytetään käyttäjän sähköpostien kirjaamiseen ja hallintaan. Esimerkkejä MUA:sta ovat muun muassa Thunderbird, Outlook ja webmail-käyttöliittymät, kuten Gmail, Outlook.com. Tässä sarjassa käytämme esimerkeissämme Thunderbirdia.

Postinjakeluagentti

MDA (lyhenne sanoista Viesti tai Mail Delivery Agent) on ohjelmistoosa, joka toimittaa sähköpostit käyttäjien postilaatikoihin. Tässä opetusohjelmassa käytämme Dovecotia MDA:na. Dovecot hoitaa myös käyttäjän todennuksen.

Simple Mail Transfer Protocol – SMTP

Jotta nämä komponentit voisivat "puhua" toisilleen, niiden on "puhuttava" samaa "kieltä" (tai protokollaa ), nimittäin SMTP (Simple Mail Transfer Protocol), joka on määritelty RFC 2821:ssä. Todennäköisimmin sinun on viitattava tähän RFC:hen, kun määrität sähköpostipalvelinympäristöäsi.

Muita protokollia, jotka meidän on otettava huomioon, ovat IMAP4 (Internet Message Access Protocol), jonka avulla voit hallita sähköpostiviestejä suoraan palvelimella lataamatta niitä asiakkaamme kiintolevylle. ja POP3 (Post Office Protocol), jonka avulla voit ladata viestit ja kansiot käyttäjän tietokoneelle.

Testausympäristömme

Testausympäristömme on seuraava:

Postipalvelimen asetukset
Mail Server OS	: 	Debian Wheezy 7.5 
IP Address	:	192.168.0.15
Local Domain	:	example.com.ar
User Aliases	:	[email  is aliased to [email  and [email 
Asiakaskoneen asetukset
Mail Client OS	: 	Ubuntu 12.04
IP Address	:	192.168.0.103

Asiakkaassamme olemme määrittäneet perus DNS-resoluution lisäämällä seuraavan rivin /etc/hosts-tiedostoon.

192.168.0.15 example.com.ar mailserver

Sähköpostialiasten lisääminen

Oletuksena tietylle käyttäjälle lähetetty viesti tulee toimittaa vain tälle käyttäjälle. Jos kuitenkin haluat toimittaa sen myös käyttäjäryhmälle tai toiselle käyttäjälle, voit luoda sähköpostin aliaksen tai käyttää jotakin olemassa olevista tiedostoista /etc/postfix/aliases. , seuraamalla tätä syntaksia:

user1: user1, user2

Näin ollen käyttäjälle käyttäjälle1 lähetetyt sähköpostit toimitetaan myös käyttäjälle2. Huomaa, että jos jätät sanan käyttäjä1 pois kaksoispisteen jälkeen, kuten

user1: user2

käyttäjälle1 lähetetyt viestit lähetetään vain käyttäjälle käyttäjä2, ei käyttäjälle käyttäjälle1.

Yllä olevassa esimerkissä käyttäjä1 ja käyttäjä2 pitäisi jo olla järjestelmässä. Suosittelemme tutustumaan LFCS-sarjan osaan 8, jos sinun on päivitettävä muistisi ennen uusien käyttäjien lisäämistä.

  1. Käyttäjien/ryhmien lisääminen ja hallinta Linuxissa
  2. 15 komentoa käyttäjien lisäämiseen Linuxissa

Erityistapauksessamme käytämme seuraavaa aliasta, kuten edellä on selitetty (lisää seuraava rivi kohtaan /etc/aliases).

sysadmin: gacanepa, jdoe

Ja suorita seuraava komento luodaksesi tai päivittääksesi aliasten hakutaulukko.

postalias /etc/postfix/aliases

Näin osoitteeseen [sähköposti suojattu] lähetetyt viestit toimitetaan yllä lueteltujen käyttäjien postilaatikkoon.

Postfixin määrittäminen – SMTP-palvelu

Postfixin päämääritystiedosto on /etc/postfix/main.cf. Sinun tarvitsee vain määrittää muutama parametri ennen kuin voit käyttää sähköpostipalvelua. Sinun tulisi kuitenkin tutustua kaikkiin konfigurointiparametreihin (jotka voidaan luetella man 5 postconf:ssa) voidaksesi perustaa turvallisen ja täysin mukautetun sähköpostipalvelimen.

Huomaa: Tämän opetusohjelman on tarkoitus saada sinut alkuun prosessissa, eikä se ole kattava opas sähköpostipalveluista Linuxissa.

Avaa /etc/postfix/main.cf-tiedosto valitsemallasi editorilla ja tee seuraavat muutokset kuvatulla tavalla.

vi /etc/postfix/main.cf

1. myorigin määrittää verkkotunnuksen, joka näkyy palvelimelta lähetetyissä viesteissä. Saatat nähdä tämän parametrin kanssa käytetyn tiedoston /etc/mailname. Muokkaa sitä tarvittaessa.

myorigin = /etc/mailname

Jos yllä olevaa arvoa käytetään, sähköpostit lähetetään muodossa [sähköposti suojattu], jossa käyttäjä on viestin lähettäjä.

2. mydestination luettelee, mitkä toimialueet tämä kone toimittaa sähköpostiviestit paikallisesti sen sijaan, että ne välittäisivät toiselle koneelle (toimii välitysjärjestelmänä). Oletusasetukset riittävät meidän tapauksessamme (muista muokata tiedostoa ympäristöösi sopivaksi).

/etc/postfix/transport-tiedosto määrittää toimialueiden ja seuraavan palvelimen välisen suhteen, johon sähköpostiviestit tulee välittää. Meidän tapauksessamme, koska toimitamme viestejä vain lähiverkkoomme (jolloin ohitamme kaikki ulkoiset DNS-ratkaisut), seuraava kokoonpano riittää.

example.com.ar    local:
.example.com.ar    local:

Seuraavaksi meidän on muutettava tämä pelkkä tekstitiedosto .db-muotoon, joka luo hakutaulukon, jota Postfix itse asiassa käyttää tietääkseen, mitä tehdä saapuville ja lähteville posteille.

postmap /etc/postfix/transport

Sinun on muistettava luoda tämä taulukko uudelleen, jos lisäät merkintöjä vastaavaan tekstitiedostoon.

3. mynetworks määrittää valtuutetut verkot, joista Postfix lähettää viestit edelleen. Oletusarvo, aliverkko, käskee Postfixia välittämään sähköpostit SMTP-asiakkailta samoissa IP-aliverkoissa kuin paikallinen kone.

mynetworks = subnet

4. relay_domains määrittää kohteet, joihin sähköpostit tulee lähettää. Jätämme oletusarvon ennalleen, mikä viittaa mydestinationiin. Muista, että olemme perustamassa sähköpostipalvelinta lähiverkkoomme.

relay_domains = $mydestination

Huomaa, että voit käyttää $mydestination-toimintoa todellisen sisällön luetteloimisen sijaan.

5. inet_interfaces määrittää, mitä verkkoliitäntöjä sähköpostipalvelun tulee kuunnella. Oletusarvo, kaikki, käskee Postfixin käyttämään kaikkia verkkoliitäntöjä.

inet_interfaces = all

6. Lopuksi parametreja mailbox_size_limit ja message_size_limit käytetään määrittämään kunkin käyttäjän postilaatikon koko ja yksittäisten viestien suurin sallittu koko tavuina.

mailbox_size_limit = 51200000
message_size_limit = 5120000

SMTP-palvelimen pääsyn rajoittaminen

Postfix SMTP -palvelin voi soveltaa tiettyjä rajoituksia jokaiseen asiakasyhteyspyyntöön. Kaikkien asiakkaiden ei pitäisi antaa tunnistautua sähköpostipalvelimelle smtp HELO-komennolla, eikä kaikille pitäisi antaa lupaa lähettää tai vastaanottaa viestejä.

Näiden rajoitusten toteuttamiseksi käytämme seuraavia ohjeita main.cf-tiedostossa. Vaikka ne ovat itsestään selviä, kommentteja on lisätty selvennyssyistä.

Require that a remote SMTP client introduces itself with the HELO or EHLO command before sending the MAIL command or other commands that require EHLO negotiation.
smtpd_helo_required = yes

Permit the request when the client IP address matches any network or network address listed in $mynetworks
Reject the request when the client HELO and EHLO command has a bad hostname syntax
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname

Reject the request when Postfix does not represent the final destination for the sender address
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain

Reject the request unless 1) Postfix is acting as mail forwarder or 2) is the final destination
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

Postfix-määritysparametrien postconf-sivu voi olla hyödyllinen käytettävissä olevien vaihtoehtojen tutkimiseen.

Dovecotin konfigurointi

Heti dovecotin asennuksen jälkeen se tukee valmiita POP3- ja IMAP-protokollia sekä niiden suojattuja versioita POP3S ja IMAPS.

Lisää seuraavat rivit /etc/dovecot/conf.d/10-mail.conf-tiedostoon.

%u represents the user account that logs in
Mailboxes are in mbox format
mail_location = mbox:~/mail:INBOX=/var/mail/%u
Directory owned by the mail group and the directory set to group-writable (mode=0770, group=mail)
You may need to change this setting if postfix is running a different user / group on your system
mail_privileged_group = mail

Jos tarkistat kotihakemistosi, huomaat, että siellä on seuraavan sisällön sisältävä sähköpostialihakemisto.

Huomaa myös, että useimmissa järjestelmissä käyttäjän sähköpostit tallennetaan tiedostoon /var/mail/%u.

Lisää seuraava ohje tiedostoon /etc/dovecot/dovecot.conf (huomaa, että imap ja pop3 tarkoittavat myös imapsia ja pop3:a).

protocols = imap pop3

Varmista myös, että /etc/conf.d/10-ssl.conf sisältää seuraavat rivit (muussa tapauksessa lisää ne).

ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem

Käynnistetään nyt Dovecot uudelleen ja tarkistetaan, että se kuuntelee imap-, imaps-, pop3- ja pop3s-portteihin liittyviä portteja.

netstat -npltu | grep dovecot

Sähköpostiohjelman määrittäminen ja viestien lähettäminen/vastaanotto

Avaamme asiakastietokoneellamme Thunderbirdin ja napsautamme TiedostoUusiOlemassa oleva sähköpostitili. Meitä pyydetään antamaan tilin nimi ja siihen liittyvä sähköpostiosoite sekä salasana. Kun napsautamme Jatka, Thunderbird yrittää muodostaa yhteyden sähköpostipalvelimeen asetusten tarkistamiseksi.

Toista yllä oleva prosessi seuraavalle tilille ([sähköposti suojattu]), ja seuraavien kahden postilaatikon pitäisi näkyä Thunderbirdin vasemmassa ruudussa.

Kirjoitamme palvelimellamme sähköpostiviestin osoitteeseen sysadmin, jonka alias on jdoe ja gacanepa.

Postiloki (/var/log/mail.log) näyttää osoittavan, että osoitteeseen sysadmin lähetetty sähköposti välitettiin osoitteeseen [sähköposti suojattu] b> ja [sähköposti suojattu], kuten seuraavasta kuvasta näkyy.

Voimme tarkistaa, onko posti todella toimitettu asiakkaallemme, jossa IMAP-tilit määritettiin Thunderbirdissä.

Yritetään lopuksi lähettää viesti osoitteesta [sähköposti suojattu] osoitteeseen [sähköposti suojattu].

Kokeessa sinua pyydetään työskentelemään yksinomaan komentoriviohjelmien kanssa. Tämä tarkoittaa, että et voi asentaa työpöytäasiakassovellusta, kuten Thunderbird, vaan sinun on käytettävä sähköpostia sen sijaan. Olemme käyttäneet Thunderbirdia tässä luvussa vain havainnollistamistarkoituksessa.

Johtopäätös

Tässä viestissä olemme selittäneet, kuinka IMAP-sähköpostipalvelin määritetään lähiverkkoosi ja kuinka rajoitetaan pääsyä SMTP-palvelimeen. Jos kohtaat ongelman käyttäessäsi samanlaista asennusta testausympäristössäsi, sinun kannattaa tarkistaa Postfixin ja Dovecotin online-dokumentaatio (erityisesti tärkeimpiä määritystiedostoja käsittelevät sivut, /etc/postfix/main.cf ja/etc/dovecot/dovecot.conf), mutta älä kuitenkaan epäröi ottaa minuun yhteyttä alla olevan kommenttilomakkeen avulla. Autan sinua mielelläni.