Postavljanje usluga e-pošte (SMTP, Imap i Imaps) i ograničavanje pristupa SMTP-u - 7. dio


LFCE (Linux Foundation Certified Engineer) je obučeni profesionalac koji ima vještine za instaliranje, upravljanje i rješavanje problema mrežnih usluga u Linux sistemima, i zadužen je za projektovanje, implementacija i tekuće održavanje arhitekture sistema i administracije korisnika.

Predstavljamo program sertifikacije Linux Foundation.

U prethodnom tutorijalu raspravljali smo o tome kako instalirati potrebne komponente mail servisa. Ako još niste instalirali Postfix i Dovecot, pogledajte 1. dio ove serije za upute kako to učiniti prije nego što nastavite.

Requirement

  1. Instalirajte Postfix Mail Server i Dovecot – 1. dio

U ovom postu ću vam pokazati kako da konfigurišete svoj mail server i kako da izvršite sledeće zadatke:

  1. Konfigurirajte pseudonime e-pošte
  2. Konfigurirajte IMAP i IMAPS uslugu
  3. Konfigurirajte smtp uslugu
  4. Ograničite pristup smtp serveru

Napomena: da naše postavke pokrivaju samo mail server za lokalnu mrežu gdje mašine pripadaju istoj domeni. Slanje e-poruka na druge domene zahtijeva složenije podešavanje, uključujući mogućnosti razlučivanja imena domena, što je izvan opsega LFCE certifikata.

Ali prvo, krenimo s nekoliko definicija.

Komponente procesa slanja, transporta i dostave pošte

Sljedeća slika ilustruje proces transporta e-pošte počevši od pošiljaoca sve dok poruka ne stigne do prijemnog sandučeta primaoca:

Da bi to bilo moguće, nekoliko stvari se dešava iza kulisa. Da bi se poruka e-pošte isporučila iz klijentske aplikacije (kao što je Thunderbird, Outlook ili usluge web pošte kao što su Gmail ili Yahoo! Mail) na njegov/njen mail server, a odatle do odredišnog servera i konačno do željenog primaoca , SMTP (Simple Mail Transfer Protocol) usluga mora biti postavljena na svakom serveru.

Kada govorimo o uslugama e-pošte, naći ćete sljedeće pojmove koji se često spominju:

Agent za transport poruka – MTA

MTA (skraćenica od Mail ili Message Transport Agent), aka mail relay, je softver koji je zadužen za prijenos e-poruka sa servera klijentu (i obrnuto). U ovoj seriji, Postfix djeluje kao naš MTA.

Mail User Agent – MUA

MUA, ili Mail User Agent, je kompjuterski program koji se koristi za pristup i upravljanje prijemnim sandučićima korisnika. Primjeri MUA-a uključuju, ali nisu ograničeni na, Thunderbird, Outlook i webmail sučelja kao što su Gmail, Outlook.com, da spomenemo samo neke. U ovoj seriji ćemo koristiti Thunderbird u našim primjerima.

Agent za dostavu pošte

MDA (skraćenica od Message ili Mail Delivery Agent) je softverski dio koji zapravo isporučuje poruke e-pošte u pretince korisnika. U ovom vodiču ćemo koristiti Dovecot kao naš MDA. Dovecot će također upravljati autentifikacijom korisnika.

Jednostavan protokol za prijenos pošte – SMTP

Da bi ove komponente mogle da “razgovaraju” jedna s drugom, moraju “govoriti” istim “jezikom” (ili protokolom ), odnosno SMTP (Simple Mail Transfer Protocol) kako je definisano u RFC 2821. Najvjerovatnije ćete morati da se pozovete na taj RFC dok postavljate okruženje vašeg mail servera.

Ostali protokoli koje moramo uzeti u obzir su IMAP4 (Internet Message Access Protocol), koji omogućava upravljanje porukama e-pošte direktno na serveru bez njihovog preuzimanja na hard disk našeg klijenta , i POP3 (Post Office Protocol), koji omogućava preuzimanje poruka i foldera na računar korisnika.

Naše okruženje za testiranje

Naše okruženje za testiranje je sljedeće:

Podešavanje mail servera
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 
Podešavanje klijentske mašine
Mail Client OS	: 	Ubuntu 12.04
IP Address	:	192.168.0.103

Na našem klijentu, postavili smo elementarnu DNS rezoluciju dodajući sljedeći red u datoteku /etc/hosts.

192.168.0.15 example.com.ar mailserver

Dodavanje imena e-pošte

Podrazumevano, poruka poslana određenom korisniku treba biti isporučena samo tom korisniku. Međutim, ako želite da ga isporučite i grupi korisnika, ili drugom korisniku, možete kreirati pseudonim pošte ili koristiti jedan od postojećih u /etc/postfix/aliases , slijedeći ovu sintaksu:

user1: user1, user2

Stoga će e-poruke poslane korisniku1 također biti isporučene korisniku2. Imajte na umu da ako izostavite riječ user1 nakon dvotočka, kao u

user1: user2

poruke poslane korisniku1 bit će poslane samo korisniku2, a ne korisniku1.

U gornjem primjeru, user1 i user2 bi već trebali postojati na sistemu. Možda ćete htjeti pogledati 8. dio serije LFCS ako trebate osvježiti memoriju prije dodavanja novih korisnika.

  1. Kako dodati i upravljati korisnicima/grupama u Linuxu
  2. 15 naredbi za dodavanje korisnika u Linuxu

U našem konkretnom slučaju, koristićemo sledeći alias kao što je objašnjeno ranije (dodajte sledeći red u /etc/aliases).

sysadmin: gacanepa, jdoe

I pokrenite sljedeću naredbu da kreirate ili osvježite tabelu za pretraživanje aliasa.

postalias /etc/postfix/aliases

Tako da će poruke poslane na [email  biti isporučene u inbox gore navedenih korisnika.

Konfiguriranje Postfix-a – SMTP usluga

Glavni konfiguracijski fajl za Postfix je /etc/postfix/main.cf. Potrebno je samo da podesite nekoliko parametara da biste mogli da koristite uslugu e-pošte. Međutim, trebali biste se upoznati sa potpunim konfiguracijskim parametrima (koji se mogu navesti sa man 5 postconf) kako biste postavili siguran i potpuno prilagođen mail server.

Napomena: Ovaj vodič bi trebao samo da vas pokrene u tom procesu i ne predstavlja sveobuhvatan vodič o uslugama e-pošte s Linuxom.

Otvorite datoteku /etc/postfix/main.cf sa vašim izborom uređivača i izvršite sljedeće promjene kako je objašnjeno.

vi /etc/postfix/main.cf

1. myorigin specificira domenu koja se pojavljuje u porukama poslanim sa servera. Možda ćete vidjeti datoteku /etc/mailname koja se koristi sa ovim parametrom. Slobodno ga uredite ako je potrebno.

myorigin = /etc/mailname

Ako se koristi gornja vrijednost, mailovi će se slati kao [email , gdje je korisnik korisnik koji šalje poruku.

2. mydestination navodi koje domene će ova mašina isporučivati e-poruke lokalno, umjesto prosljeđivanja na drugu mašinu (djelujući kao sistem za prijenos). Zadane postavke će biti dovoljne u našem slučaju (pobrinite se da uredite datoteku tako da odgovara vašem okruženju).

Gdje datoteka /etc/postfix/transport definira odnos između domena i sljedećeg servera na koji bi mail poruke trebale biti proslijeđene. U našem slučaju, budući da ćemo isporučivati poruke samo našoj lokalnoj mreži (na taj način zaobilazeći bilo koju eksternu DNS rezoluciju), sljedeća konfiguracija će biti dovoljna.

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

Zatim, trebamo da konvertujemo ovaj obični tekstualni fajl u format .db, koji kreira tabelu pretraživanja koju će Postfix zapravo koristiti da zna šta da radi sa dolaznom i odlaznom poštom.

postmap /etc/postfix/transport

Moraćete da zapamtite da ponovo kreirate ovu tabelu ako dodate još unosa u odgovarajuću tekstualnu datoteku.

3. mynetworks definira ovlaštene mreže iz kojih će Postfix prosljeđivati poruke. Podrazumevana vrijednost, podmreža, govori Postfixu da prosljeđuje poštu samo od SMTP klijenata u istim IP podmrežama kao i lokalna mašina.

mynetworks = subnet

4. relay_domains specificira odredišta na koja se e-poruke šalju. Zadanu vrijednost ćemo ostaviti netaknutom, što ukazuje na moje odredište. Zapamtite da postavljamo mail server za naš LAN.

relay_domains = $mydestination

Imajte na umu da možete koristiti $mydestination umjesto navođenja stvarnog sadržaja.

5. inet_interfaces definira na kojim mrežnim sučeljima bi mail servis trebao slušati. Podrazumevano, sve, govori Postfixu da koristi sva mrežna sučelja.

inet_interfaces = all

6. Konačno, mailbox_size_limit i message_size_limit će se koristiti za postavljanje veličine poštanskog sandučeta svakog korisnika i maksimalne dozvoljene veličine pojedinačnih poruka, respektivno, u bajtovima.

mailbox_size_limit = 51200000
message_size_limit = 5120000

Ograničavanje pristupa SMTP serveru

Postfix SMTP server može primijeniti određena ograničenja na svaki zahtjev za povezivanje klijenta. Ne bi trebalo svim klijentima biti dozvoljeno da se identifikuju na serveru e-pošte pomoću smtp HELO komande, a svakako ne bi svima trebalo odobriti pristup za slanje ili primanje poruka.

Za implementaciju ovih ograničenja, koristit ćemo sljedeće direktive u datoteci main.cf. Iako su sami po sebi razumljivi, komentari su dodati u svrhu pojašnjenja.

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

Stranica Postfix konfiguracijskih parametara postconf može biti korisna za dalje istraživanje dostupnih opcija.

Konfiguriranje Dovecot-a

Odmah nakon instaliranja dovecot-a, podržava gotove protokole POP3 i IMAP, zajedno sa njihovim sigurnim verzijama, POP3S i IMAPS, respektivno.

Dodajte sljedeće redove u datoteku /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

Ako provjerite svoj početni direktorij, primijetit ćete da postoji poddirektorij pošte sa sljedećim sadržajem.

Također, imajte na umu da je datoteka /var/mail/%u mjesto gdje se pohranjuju mailovi korisnika na većini sistema.

Dodajte sljedeću direktivu u /etc/dovecot/dovecot.conf (imajte na umu da imap i pop3 također podrazumijevaju imaps i pop3s).

protocols = imap pop3

I uvjerite se da /etc/conf.d/10-ssl.conf uključuje sljedeće redove (u suprotnom, dodajte ih).

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

Sada ponovo pokrenimo Dovecot i provjerimo da li sluša portove koji se odnose na imap, imaps, pop3 i pop3s.

netstat -npltu | grep dovecot

Postavljanje mail klijenta i slanje/primanje pošte

Na našem klijentskom računaru otvorit ćemo Thunderbird i kliknuti na DatotekaNovoPostojeći račun e-pošte. Od nas će biti zatraženo da unesemo ime naloga i pridruženu adresu e-pošte, zajedno sa njegovom lozinkom. Kada kliknemo na Nastavi, Thunderbird će pokušati da se poveže sa serverom e-pošte kako bi provjerio postavke.

Ponovite gornji postupak za sljedeći račun ([email zaštićen]) i sljedeća dva prijemna sandučića bi se trebala pojaviti u lijevom oknu Thunderbirda.

Na našem serveru ćemo napisati e-poruku sysadminu, koji je pseudonim za jdoe i gacanepa.

Dnevnik pošte (/var/log/mail.log) izgleda ukazuje da je e-pošta poslana sysadminu proslijeđena na [email zaštićen] b> i [email zaštićen], kao što se može vidjeti na sljedećoj slici.

Možemo provjeriti da li je pošta zaista isporučena našem klijentu, gdje su IMAP nalozi konfigurisani u Thunderbirdu.

Na kraju, pokušajmo poslati poruku sa [email  na [email .

Na ispitu ćete biti zamoljeni da radite isključivo sa uslužnim programima komandne linije. To znači da nećete moći instalirati desktop klijentsku aplikaciju kao što je Thunderbird, već ćete umjesto toga morati koristiti poštu. Thunderbird smo u ovom poglavlju koristili samo u ilustrativne svrhe.

Zaključak

U ovom postu smo objasnili kako postaviti IMAP mail server za vašu lokalnu mrežu i kako ograničiti pristup SMTP serveru. Ako naiđete na problem dok implementirate slično podešavanje u vašem okruženju za testiranje, poželjet ćete provjeriti online dokumentaciju za Postfix i Dovecot (posebno stranice o glavnim konfiguracijskim datotekama, /etc/postfix/main.cf i/etc/dovecot/dovecot.conf), ali u svakom slučaju ne oklevajte da me kontaktirate koristeći formu za komentare ispod. Biće mi više nego drago da vam pomognem.