El. Pašto paslaugų (SMTP, „Imap“ ir „Imaps“) nustatymas ir prieigos prie SMTP apribojimas - 7 dalis


LFCE ( sertifikuotas „Linux Foundation“ inžinierius ) yra apmokytas specialistas, turintis įgūdžių diegti, valdyti ir šalinti tinklo paslaugas „Linux“ sistemose ir atsakingas už projektavimas, diegimas ir nuolatinė sistemos architektūros priežiūra ir vartotojų administravimas.

Pristatome „Linux Foundation“ sertifikavimo programą.

Ankstesnėje pamokoje aptarėme, kaip įdiegti būtinus pašto paslaugos komponentus. Jei dar neįdiegėte Postfix ir Dovecot , prieš tęsdami, žr. Šios serijos 1 dalį, kaip tai padaryti.

  1. Įdiekite „Postfix Mail Server“ ir „Dovecot“ - 1 dalis

Šiame įraše aš jums parodysiu, kaip sukonfigūruoti pašto serverį ir kaip atlikti šias užduotis:

  1. Konfigūruokite el. pašto slapyvardžius
  2. Konfigūruokite IMAP ir IMAPS paslaugas
  3. Konfigūruokite smtp paslaugą
  4. Apriboti prieigą prie smtp serverio

Pastaba: kad mūsų sąranka apims tik vietinio tinklo pašto serverį, kuriame mašinos priklauso tam pačiam domenui. Jei norite siųsti el. Laiškus į kitus domenus, reikia sudėtingesnės sąrankos, įskaitant domeno vardų sprendimo galimybes, kurios nepatenka į LFCE sertifikavimo sritį.

Tačiau pirmiausia pradėkime nuo kelių apibrėžimų.

Pašto siuntimo, gabenimo ir pristatymo proceso komponentai

Šis paveikslėlis iliustruoja el. Pašto perdavimo procesą pradedant siuntėju, kol pranešimas pasiekia gavėjo gautuosius:

Kad tai būtų įmanoma, užkulisiuose nutinka keli dalykai. Norint, kad el. Laiškas būtų išsiųstas iš kliento programos (pvz., „Thunderbird“, „Outlook“ ar žiniatinklio pašto paslaugų, tokių kaip „Gmail“ ar „Yahoo! Mail“) į jo/jos pašto serverį ir iš ten į paskirties serverį ir galiausiai numatytam gavėjui , kiekviename serveryje turi būti SMTP (paprasto pašto perdavimo protokolo) paslauga.

Kalbėdami apie el. Pašto paslaugas, labai dažnai rasite šiuos terminus:

MTA (trumpinys paštas arba pranešimų transportavimo agentas ), dar žinomas kaip pašto relė, yra programinė įranga, atsakinga už el. pašto pranešimų perdavimą iš serverio klientui (ir atvirkščiai - taip pat). Šioje serijoje „Postfix“ veikia kaip mūsų MTA.

MUA arba Pašto vartotojo agentas yra kompiuterinė programa, naudojama norint pasiekti ir tvarkyti vartotojo el. pašto dėžutes. MUA pavyzdžiai yra „Thunderbird“, „Outlook“ ir žiniatinklio pašto sąsajos, pvz., „Gmail“, „Outlook.com“, tačiau ne tik. Šioje serijoje savo pavyzdžiuose naudosime „Thunderbird“.

MDA (trumpinys Pranešimas arba Pašto pristatymo agentas ) yra programinės įrangos dalis, kuri iš tikrųjų perduoda el. laiškus į vartotojo gautuosius. Šioje pamokoje mes naudosime „Dovecot“ kaip savo MDA. „Dovecot“ taip pat tvarkys vartotojo tapatybę.

Kad šie komponentai galėtų „ kalbėtis“ “tarpusavyje, jie turi„ kalbėti “ta pačia„ kalba “(arba protokolu) ), būtent SMTP ( paprastas pašto perdavimo protokolas ), kaip apibrėžta RFC 2821. Greičiausiai turėsite nurodyti tą RFC, kai nustatysite savo pašto serverio aplinką.

Kiti protokolai, į kuriuos turime atsižvelgti, yra IMAP4 ( interneto pranešimų prieigos protokolas ), leidžiantis tvarkyti el. Laiškus tiesiai serveryje, jų neatsisiunčiant į kliento standųjį diską. ir POP3 ( Pašto protokolas ), kuris leidžia atsisiųsti pranešimus ir aplankus į vartotojo kompiuterį.

Mūsų bandymų aplinka yra tokia:

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

Savo kliente nustatėme elementarią DNS skiriamąją gebą, pridėdami šią eilutę prie failo /etc/hosts .

192.168.0.15 example.com.ar mailserver

El. Pašto slapyvardžių pridėjimas

Pagal numatytuosius nustatymus pranešimas, išsiųstas konkrečiam vartotojui, turėtų būti pristatytas tik tam vartotojui. Tačiau jei norite jį pristatyti ir vartotojų grupei, arba kitam vartotojui, galite sukurti pašto slapyvardį arba naudoti vieną iš esamų /etc/postfix/aliases , vadovaudamiesi šia sintakse:

user1: user1, user2

Taigi el. Laiškai, išsiųsti user1 , taip pat bus pristatyti user2 . Atminkite, kad jei po dvitaškio praleisite žodį vartotojas1 , kaip nurodyta

user1: user2

vartotojui1 išsiųsti pranešimai bus siunčiami tik vartotojui2 , o ne vartotojui1 .

Ankstesniame pavyzdyje vartotojas1 ir vartotojas2 sistemoje jau turėtų būti. Jei norite papildyti savo atmintį prieš įtraukdami naujus vartotojus, galite kreiptis į LFCS serijos 8 dalį .

  1. Kaip pridėti ir tvarkyti vartotojus/grupes sistemoje „Linux“
  2. 15 komandų vartotojams pridėti sistemoje „Linux“

Mūsų konkrečiu atveju naudosime šį slapyvardį, kaip paaiškinta anksčiau (pridėkite šią eilutę /etc/aliases ).

sysadmin: gacanepa, jdoe

Ir paleiskite šią komandą, kad sukurtumėte arba atnaujintumėte slapyvardžių paieškos lentelę.

postalias /etc/postfix/aliases

Taigi pranešimai, išsiųsti į [el. Pašto saugomas] , bus pristatyti į aukščiau išvardytų vartotojų gautuosius.

„Postfix“ konfigūravimas - SMTP paslauga

Pagrindinis „Postfix“ konfigūracijos failas yra /etc/postfix/main.cf . Kad galėtumėte naudotis pašto paslauga, turite nustatyti tik keletą parametrų. Tačiau, norėdami sukurti saugų ir visiškai pritaikytą pašto serverį, turėtumėte susipažinti su visais konfigūracijos parametrais (kuriuos galima išvardyti su man 5 postconf ).

Pastaba: Šis mokymas turėtų tik padėti jums pradėti šį procesą ir nėra išsamus el. Pašto paslaugų su „Linux“ vadovas.

Atidarykite failą /etc/postfix/main.cf pasirinkdami redaktorių ir atlikite šiuos pakeitimus, kaip paaiškinta.

# vi /etc/postfix/main.cf

1 . myorigin nurodo domeną, kuris rodomas iš serverio išsiųstuose pranešimuose. Galite pamatyti failą /etc/mailname , naudojamą su šiuo parametru. Jei reikia, nedvejodami redaguokite.

myorigin = /etc/mailname

Jei naudojama aukščiau nurodyta vertė, laiškai bus siunčiami kaip [apsaugotas el. Paštu] , kur vartotojas yra tas vartotojas, kuris siunčia pranešimą.

2 . mydestination išvardijami, kurie domenai ši mašina pateiks el. laiškus vietoje, o ne persiųs kitą kompiuterį (veikia kaip perdavimo sistema). Mūsų atveju pakaks numatytųjų nustatymų (būtinai redaguokite failą, kad atitiktų jūsų aplinką).

Kur failas /etc/postfix/transport apibrėžia santykį tarp domenų ir kito serverio, kuriam turėtų būti persiųsti pašto pranešimai. Mūsų atveju, kadangi pranešimus pristatysime tik į vietinį tinklą (taip apeisdami bet kokią išorinę DNS skiriamąją gebą), pakaks šios konfigūracijos.

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

Tada turime konvertuoti šį paprasto teksto failą į .db formatą, kuris sukuria paieškos lentelę, kurią „Postfix“ iš tikrųjų naudos, kad žinotų, ką daryti su gaunamu ir siunčiamu paštu.

# postmap /etc/postfix/transport

Turėsite nepamiršti atkurti šios lentelės, jei prie atitinkamo teksto failo pridėsite daugiau įrašų.

3 . mynetworks apibrėžia autorizuotus tinklus, iš kurių „Postfix“ persiųs pranešimus. Numatytoji reikšmė - potinklis - nurodo „Postfix“ persiųsti laiškus iš SMTP klientų tame pačiame IP potinklyje, kaip ir vietinis kompiuteris.

mynetworks = subnet

4 . relay_domains nurodo paskirties vietas, į kurias turėtų būti siunčiami el. laiškai. Numatytąją vertę paliksime nepaliestą, o tai nurodo paskirties vietą. Atminkite, kad mes kuriame savo LAN tinklo pašto serverį.

relay_domains = $mydestination

Atminkite, kad vietoj faktinio turinio sąrašo galite naudoti $mydestination .

5 . inet_interfaces apibrėžia, kurių tinklo sąsajų pašto tarnyba turėtų klausytis. Pagal numatytuosius nustatymus viskas nurodo „Postfix“ naudoti visas tinklo sąsajas.

inet_interfaces = all

6 . Galiausiai, mailbox_size_limit ir message_size_limit bus naudojami nustatant kiekvieno vartotojo pašto dėžutės dydį ir didžiausią leistiną atskirų pranešimų dydį atitinkamai baitais.

mailbox_size_limit = 51200000
message_size_limit = 5120000

Prieigos prie SMTP serverio apribojimas

Postfix SMTP serveris gali taikyti tam tikrus apribojimus kiekvienai kliento prisijungimo užklausai. Ne visiems klientams turėtų būti leidžiama identifikuoti save pašto serveryje naudojant komandą smtp HELO ir tikrai ne visiems turėtų būti suteikta prieiga siųsti ar gauti pranešimus.

Šiems apribojimams įgyvendinti faile main.cf naudosime šias direktyvas. Nors paaiškinimai yra savaime suprantami, komentarai buvo pridėti.

# 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“ konfigūravimo parametrų „postconf“ puslapis gali būti naudingas norint toliau nagrinėti galimas parinktis.

„Dovecot“ konfigūravimas

Iš karto įdiegus „dovecot“, jis palaiko „POP3 ir IMAP protokolų rinkinį, kartu su saugiomis jų versijomis, POP3S ir atitinkamai IMAPS .

Pridėkite šias eilutes faile /etc/dovecot/conf.d/10-mail.conf .

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

Jei patikrinsite savo namų katalogą, pastebėsite, kad yra pašto pakatalogis su tokiu turiniu.

Be to, atkreipkite dėmesį, kad failas /var/mail /% u yra vieta, kurioje vartotojo laiškai saugomi daugumoje sistemų.

Pridėkite šią direktyvą prie /etc/dovecot/dovecot.conf (atkreipkite dėmesį, kad imap ir pop3 taip pat reiškia imaps ir pop3s).

protocols = imap pop3

Įsitikinkite, kad /etc/conf.d/10-ssl.conf yra šios eilutės (kitaip jas pridėkite).

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

Dabar paleiskite iš naujo Dovecot ir patikrinkite, ar jis klausosi prievadų, susijusių su „imap“, „imaps“, „pop3“ ir „pop3“.

# netstat -npltu | grep dovecot

Pašto kliento nustatymas ir laiškų siuntimas/siuntimas

Kliento kompiuteryje atidarysime „Thunderbird“ ir spustelėkite Failas Nauja Esama pašto paskyra . Mums bus pasiūlyta įvesti paskyros pavadinimą ir susietą el. Pašto adresą kartu su slaptažodžiu. Kai spustelėsime Tęsti , „Thunderbird“ bandys prisijungti prie pašto serverio, kad patikrintų nustatymus.

Pakartokite aukščiau nurodytą procesą kitai paskyrai ( [el. Paštas apsaugotas] ), o šie du gautieji turėtų būti rodomi kairiajame „Thunderbird“ srityje.

Savo serveryje parašysime el. Laišką sysadmin , kuris yra slapyvardis jdoe ir gacanepa .

Panašu, kad pašto žurnalas ( /var/log/mail.log ) rodo, kad el. Laiškas, išsiųstas sysadmin , buvo persiųstas į [apsaugotas el. Paštas] , kaip matyti iš kito paveikslėlio.

Mes galime patikrinti, ar paštas iš tikrųjų buvo pristatytas mūsų klientui, kur „Thunderbird“ sukonfigūruotos IMAP paskyros.

Galiausiai pabandykime išsiųsti pranešimą iš [apsaugotas el. Pašto adresas] .

Egzamine jūsų bus paprašyta dirbti tik su komandinės eilutės paslaugomis. Tai reiškia, kad negalėsite įdiegti darbalaukio kliento programos, pvz., „Thunderbird“, tačiau vietoj to turėsite naudoti paštą. Šiame skyriuje „Thunderbird“ naudojome tik iliustraciniais tikslais.

Išvada

Šiame įraše mes paaiškinome, kaip nustatyti IMAP pašto serverį jūsų vietiniam tinklui ir kaip apriboti prieigą prie SMTP serverio. Jei bandymo aplinkoje diegdami panašią sąranką susiduriate su problema, norėsite patikrinti atitinkamą internetinę dokumentaciją /etc/dovecot/dovecot.conf), tačiau bet kuriuo atveju nedvejodami susisiekite su manimi naudodamiesi žemiau esančią komentaro formą. Aš mielai jums padėsiu.