Nastavitev e-poštnih storitev (SMTP, Imap in Imaps) in omejevanje dostopa do SMTP - 7. del


LFCE ( Linux Foundation Certified Engineer ) je usposobljen strokovnjak, ki ima znanje za namestitev, upravljanje in odpravljanje težav z omrežnimi storitvami v sistemih Linux in je odgovoren za načrtovanje, izvajanje in stalno vzdrževanje sistemske arhitekture in skrbništvo uporabnikov.

Predstavljamo vam Linux Foundation Certification Program.

V prejšnji vadnici smo razpravljali o namestitvi potrebnih komponent poštne storitve. Če še niste namestili Postfix in Dovecot , si oglejte navodila za to, preden to nadaljujete, v 1. delu te serije.

  1. Namestite poštni strežnik Postfix in Dovecot - 1. del

V tej objavi vam bom pokazal, kako konfigurirati svoj poštni strežnik in kako izvesti naslednje naloge:

  1. Konfigurirajte vzdevke e-pošte
  2. Konfigurirajte storitev IMAP in IMAPS
  3. Konfigurirajte storitev smtp
  4. Omejite dostop do strežnika smtp

Opomba: Naša namestitev bo zajemala samo poštni strežnik za lokalno omrežje, kjer računalniki pripadajo isti domeni. Pošiljanje e-poštnih sporočil v druge domene zahteva bolj zapleteno nastavitev, vključno z zmogljivostmi za reševanje domenskih imen, kar je zunaj obsega certifikata LFCE.

Najprej pa začnimo z nekaj definicijami.

Sestavni deli postopka pošiljanja, prevoza in dostave pošte

Naslednja slika prikazuje postopek prenosa e-pošte, ki se začne s pošiljateljem, dokler sporočilo ne prispe v mapo prejemnika:

Da bi to omogočili, se v zakulisju dogaja več stvari. Da bi bilo e-poštno sporočilo dostavljeno iz odjemalske aplikacije (kot so Thunderbird, Outlook ali storitve spletne pošte, kot sta Gmail ali Yahoo! Mail), na njegov poštni strežnik, od tam pa na ciljni strežnik in končno do predvidenega prejemnika. , mora biti na vsakem strežniku vzpostavljena storitev SMTP (Simple Mail Transfer Protocol).

Ko govorimo o e-poštnih storitvah, boste zelo pogosto našli naslednje izraze:

MTA (okrajšava za Mail ali Message Transport Agent ), aka mail relay, je programska oprema, ki je odgovorna za prenos e-poštnih sporočil s strežnika stranki (in obratno tudi). V tej seriji Postfix deluje kot naš MTA.

MUA ali Mail User Agent je računalniški program, ki se uporablja za dostop in upravljanje uporabnikovih e-poštnih nabiralnikov. Primeri MUA vključujejo, vendar niso omejeni na, vmesnike Thunderbird, Outlook in spletno pošto, kot so Gmail, Outlook.com. V tej seriji bomo v naših primerih uporabili Thunderbird.

MDA (okrajšava za Message ali Mail Delivery Agent ) je del programske opreme, ki dejansko dostavlja e-poštna sporočila v uporabniške mape. V tej vadnici bomo uporabili Dovecot kot naš MDA. Dovecot bo urejal tudi preverjanje pristnosti uporabnikov.

Da lahko te komponente\" govorijo " med seboj, morajo\" govoriti " v istem\" jeziku " (ali protokol), in sicer SMTP ( Simple Mail Transfer Protocol ), kot je opredeljeno v RFC 2821. Najverjetneje se boste morali pri nastavitvi pošte sklicevati na ta RFC strežniško okolje.

Drugi protokoli, ki jih moramo upoštevati, so IMAP4 ( protokol za dostop do internetnih sporočil ), ki omogoča upravljanje e-poštnih sporočil neposredno na strežniku, ne da bi jih naložil na trdi disk naše stranke. in POP3 ( Post Office Protocol ), ki omogoča prenos sporočil in map v uporabnikov računalnik.

Naše preskusno okolje je naslednje:

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 
Mail Client OS	: 	Ubuntu 12.04
IP Address	:	192.168.0.103

V našem odjemalcu smo nastavili osnovno ločljivost DNS in v datoteko /etc/hosts dodali naslednjo vrstico.

192.168.0.15 example.com.ar mailserver

Dodajanje vzdevkov e-pošte

Privzeto mora biti sporočilo, poslano določenemu uporabniku, dostavljeno samo temu uporabniku. Če pa ga želite dostaviti tudi skupini uporabnikov ali drugemu uporabniku, lahko ustvarite poštni vzdevek ali uporabite enega od obstoječih v /etc/postfix/aliases , po tej sintaksi:

user1: user1, user2

Tako bodo e-poštna sporočila, poslana uporabniku1 , dostavljena tudi uporabniku2 . Upoštevajte, da če za dvopičjem izpustite besedo uporabnik1 , kot v

user1: user2

sporočila, poslana uporabniku1 , bodo poslana samo uporabniku2 in ne uporabniku1 .

V zgornjem primeru morata v sistemu že obstajati uporabnik1 in uporabnik2 . Če želite osvežiti spomin pred dodajanjem novih uporabnikov, se lahko obrnete na 8. del serije LFCS.

  1. Dodajanje in upravljanje uporabnikov/skupin v Linuxu
  2. 15 ukazov za dodajanje uporabnikov v Linuxu

V našem konkretnem primeru bomo uporabili naslednji vzdevek, kot smo že pojasnili (dodajte naslednjo vrstico v /etc/aliases ).

sysadmin: gacanepa, jdoe

In zaženite naslednji ukaz, da ustvarite ali osvežite iskalno tabelo vzdevkov.

postalias /etc/postfix/aliases

Tako bodo sporočila, poslana na naslov [e-pošta zaščitena] , dostavljena v mapo »Prejeto« zgoraj naštetih uporabnikov.

Konfiguriranje Postfix - storitev SMTP

Glavna konfiguracijska datoteka za Postfix je /etc/postfix/main.cf . Pred uporabo poštne storitve morate nastaviti le nekaj parametrov. Vendar se morate seznaniti s celotnimi konfiguracijskimi parametri (ki jih lahko navedete s man 5 postconf ), da nastavite varen in popolnoma prilagojen poštni strežnik.

Opomba: Ta vadnica naj bi vas le začela s tem postopkom in ne predstavlja celovitega vodnika o e-poštnih storitvah z Linuxom.

Odprite datoteko /etc/postfix/main.cf z izbiro urejevalnika in izvedite naslednje spremembe, kot je razloženo.

# vi /etc/postfix/main.cf

1 . myorigin določa domeno, ki se pojavi v sporočilih, poslanih s strežnika. Morda boste videli datoteko /etc/mailname , uporabljeno s tem parametrom. Po potrebi ga lahko uredite.

myorigin = /etc/mailname

Če je uporabljena zgornja vrednost, bodo e-poštna sporočila poslana kot [e-pošta zaščitena] , kjer je uporabnik uporabnik, ki pošilja sporočilo.

2 . mydestination navaja, katere domene bo ta naprava lokalno pošiljala e-poštna sporočila, namesto da bi jih posredovala drugemu računalniku (deluje kot relejni sistem). Privzete nastavitve bodo v našem primeru zadostovale (datoteko uredite tako, da ustreza vašemu okolju).

Datoteka /etc/postfix/transport določa razmerje med domenami in naslednjim strežnikom, na katerega je treba poslati poštna sporočila. V našem primeru, ker bomo sporočila dostavili samo v naše lokalno omrežje (s čimer bomo obšli kakršno koli zunanjo ločljivost DNS), bo zadostovala naslednja konfiguracija.

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

Nato moramo pretvoriti to navadno besedilno datoteko v format .db , ki ustvari iskalno tabelo, ki jo bo Postfix dejansko uporabil, da bo vedel, kaj storiti z dohodno in odhodno pošto.

# postmap /etc/postfix/transport

Če boste v ustrezno besedilno datoteko dodali več vnosov, boste morali to tabelo znova ustvariti.

3 . mynetworks določa pooblaščena omrežja, ki jih bo Postfix posredoval. Privzeta vrednost, podomrežje, sporoča Postfixu, naj posreduje pošto od odjemalcev SMTP v istih podomrežjih IP kot samo lokalna naprava.

mynetworks = subnet

4 . relay_domains določa cilje, na katere naj se pošiljajo e-poštna sporočila. Privzeto vrednost bomo pustili nedotaknjeno, kar kaže na mdestinacijo. Ne pozabite, da za naš LAN postavljamo poštni strežnik.

relay_domains = $mydestination

Upoštevajte, da lahko namesto navajanja dejanske vsebine uporabite $mydestination .

5 . inet_interfaces določa, katere omrežne vmesnike naj posluša poštna storitev. Privzeto, vse, sporoča Postfixu, naj uporablja vse omrežne vmesnike.

inet_interfaces = all

6 . Nazadnje bosta z velikostjo nabiralnika_mere in velikostjo_mest_ sporočila določena velikost nabiralnika vsakega uporabnika oziroma največja dovoljena velikost posameznih sporočil v bajtih.

mailbox_size_limit = 51200000
message_size_limit = 5120000

Omejevanje dostopa do strežnika SMTP

Strežnik Postfix SMTP lahko za vsako zahtevo za povezavo odjemalca uporabi določene omejitve. Vsem odjemalcem ne bi smeli dovoliti, da se identificirajo s poštnim strežnikom z ukazom smtp HELO , vsekakor pa ne smejo imeti vseh dostopa do pošiljanja ali prejemanja sporočil.

Za izvajanje teh omejitev bomo v datoteki main.cf uporabili naslednje smernice. Kljub temu, da so samoumevne, so bile zaradi pojasnitve dodane pripombe.

# 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

Konfiguracijski parametri Postfix stran postconf vam lahko pridejo prav, da lahko še naprej preučite razpoložljive možnosti.

Konfiguriranje Dovecot

Takoj po namestitvi dovecot podpira protokole POP3 in IMAP , kot tudi njihove varne različice POP3S in IMAPS .

V datoteko /etc/dovecot/conf.d/10-mail.conf dodajte naslednje vrstice.

# %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

Če preverite domači imenik, boste opazili, da obstaja podimenik pošte z naslednjo vsebino.

Upoštevajte tudi, da je v večini sistemov uporabnikova pošta shranjena v datoteki /var/mail /% u .

V /etc/dovecot/dovecot.conf dodajte naslednjo direktivo (upoštevajte, da imap in pop3 vključujeta tudi slike in pop3).

protocols = imap pop3

In poskrbite, da /etc/conf.d/10-ssl.conf vključuje naslednje vrstice (sicer jih dodajte).

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

Zdaj znova zaženimo Dovecot in preverimo, ali posluša na vratih, povezanih z imap, imaps, pop3 in pop3s.

# netstat -npltu | grep dovecot

Nastavitev poštnega odjemalca in pošiljanje/prejemanje pošte

V našem odjemalskem računalniku bomo odprli Thunderbird in kliknili Datoteka Nov Obstoječi poštni račun . Pozvani bomo, da vnesemo ime računa in z njim povezan e-poštni naslov ter njegovo geslo. Ko kliknemo Nadaljuj , se Thunderbird nato poskusi povezati s poštnim strežnikom, da preveri nastavitve.

Ponovite zgornji postopek za naslednji račun ( [e-pošta zaščitena] ) in v levem podoknu Thunderbirda bi se morala pojaviti naslednja dva nabiralnika.

Na naš strežnik bomo napisali e-poštno sporočilo na sysadmin , ki je vzdevek jdoe in gacanepa .

Zdi se, da poštni dnevnik ( /var/log/mail.log ) kaže, da je bilo e-poštno sporočilo, poslano na sysadmin , posredovano na [email , kot je razvidno iz naslednje slike.

Preverimo lahko, ali je bila pošta dejansko dostavljena naši stranki, kjer so bili računi IMAP konfigurirani v Thunderbirdu.

Na koncu poskusimo poslati sporočilo od [email .

Na izpitu boste pozvani, da delate izključno s pripomočki ukazne vrstice. To pomeni, da namizne odjemalske aplikacije, kot je Thunderbird, ne boste mogli namestiti, ampak boste morali namesto nje uporabljati pošto. Thunderbirda smo v tem poglavju uporabili samo za ilustracijo.

Zaključek

V tej objavi smo razložili, kako nastaviti poštni strežnik IMAP za vaše lokalno omrežje in kako omejiti dostop do strežnika SMTP . Če med izvajanjem podobne nastavitve v preskusnem okolju naletite na težavo, boste želeli preveriti spletno dokumentacijo /etc/dovecot/dovecot.conf), vendar v vsakem primeru ne oklevajte in se obrnite na mene z uporabo spodnji obrazec za komentar. Z veseljem vam bom pomagal.