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


LFCE (Linux Foundation Certified Engineer) obučeni je stručnjak koji ima vještine instaliranja, upravljanja i rješavanja problema s mrežnim uslugama u Linux sustavima i zadužen je za projektiranje, implementacija i kontinuirano održavanje arhitekture sustava i korisničke administracije.

Predstavljamo certifikacijski program Linux Foundation.

U prethodnom smo vodiču raspravljali o tome kako instalirati potrebne komponente usluge e-pošte. Ako još niste instalirali Postfix i Dovecot, pogledajte 1. dio ove serije za upute kako to učiniti prije nego nastavite.

Zahtjev

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

U ovom postu ću vam pokazati kako konfigurirati vaš poslužitelj e-pošte i kako izvršiti sljedeće zadatke:

  1. Konfigurirajte aliase e-pošte
  2. Konfigurirajte IMAP i IMAPS uslugu
  3. Konfigurirajte smtp uslugu
  4. Ograničite pristup smtp poslužitelju

Napomena: naše postavke pokrivaju samo poslužitelj pošte za lokalnu mrežu gdje strojevi pripadaju istoj domeni. Slanje poruka e-pošte na druge domene zahtijeva složeniju postavku, uključujući mogućnosti razlučivanja naziva domene, što je izvan opsega LFCE certifikacije.

Ali prvo, počnimo s nekoliko definicija.

Komponente procesa slanja, transporta i dostave pošte

Sljedeća slika ilustrira proces prijenosa e-pošte počevši od pošiljatelja dok poruka ne stigne u primateljev sandučić:

Da bi to bilo moguće, nekoliko se stvari događa iza kulisa. Kako bi se poruka e-pošte isporučila iz klijentske aplikacije (kao što su Thunderbird, Outlook ili usluge web pošte kao što su Gmail ili Yahoo! Mail) na njegov/njezin poslužitelj e-pošte i odatle na odredišni poslužitelj i na kraju do željenog primatelja , SMTP (Simple Mail Transfer Protocol) usluga mora biti postavljena na svakom poslužitelju.

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

Agent za prijenos poruka – MTA

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

Mail User Agent – MUA

MUA, ili Mail User Agent, računalni je program koji se koristi za pristup i upravljanje korisničkim pretincima e-pošte. Primjeri MUA uključuju, ali nisu ograničeni na, Thunderbird, Outlook i sučelja web pošte kao što su Gmail, Outlook.com, da spomenemo samo neke. U ovoj seriji koristit ćemo Thunderbird u našim primjerima.

Agent za dostavu pošte

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

Jednostavni protokol za prijenos pošte – SMTP

Da bi te komponente mogle međusobno “razgovarati”, moraju “govoriti” istim “jezikom” (ili protokolom ), naime SMTP (Simple Mail Transfer Protocol) kako je definirano u RFC 2821. Najvjerojatnije ćete se morati pozvati na taj RFC dok postavljate okruženje poslužitelja pošte.

Ostali protokoli koje trebamo uzeti u obzir su IMAP4 (Internet Message Access Protocol), koji omogućuje upravljanje porukama e-pošte izravno na poslužitelju bez njihovog preuzimanja na tvrdi disk našeg klijenta , i POP3 (Post Office Protocol), koji omogućuje preuzimanje poruka i mapa na računalo korisnika.

Naše okruženje za testiranje

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

Postavljanje poslužitelja pošte
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 
Postavljanje klijentskog stroja
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 aliasa e-pošte

Prema zadanim postavkama, poruka poslana određenom korisniku trebala bi biti isporučena samo tom korisniku. Međutim, ako ga također želite isporučiti grupi korisnika ili drugom korisniku, možete stvoriti 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 iza dvotočke, kao u

user1: user2

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

U gornjem primjeru, user1 i user2 već bi trebali postojati na sustavu. Možda ćete htjeti pogledati 8. dio serije LFCS ako trebate osvježiti pamćenje 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, koristit ćemo sljedeći alias kao što je prethodno objašnjeno (dodajte sljedeći redak u /etc/aliases).

sysadmin: gacanepa, jdoe

I pokrenite sljedeću naredbu za stvaranje ili osvježavanje tablice pretraživanja aliasa.

postalias /etc/postfix/aliases

Tako da će poruke poslane na [email  biti isporučene u pristiglu poštu gore navedenih korisnika.

Konfiguriranje Postfixa – SMTP usluge

Glavna konfiguracijska datoteka za Postfix je /etc/postfix/main.cf. Trebate postaviti samo nekoliko parametara prije nego što budete mogli koristiti uslugu pošte. Međutim, trebali biste se upoznati s punim konfiguracijskim parametrima (koji se mogu navesti uz man 5 postconf) kako biste postavili siguran i potpuno prilagođen poslužitelj e-pošte.

Napomena: ovaj bi vam vodič samo trebao pomoći da započnete s tim procesom i ne predstavlja opsežan vodič o uslugama e-pošte s Linuxom.

Otvorite /etc/postfix/main.cf datoteku uređivačem po svom izboru i napravite sljedeće promjene kao što je objašnjeno.

vi /etc/postfix/main.cf

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

myorigin = /etc/mailname

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

2. mydestination navodi koje će domene ovo računalo dostavljati poruke e-pošte lokalno, umjesto prosljeđivanja na drugo računalo (djelujući kao relejni sustav). Zadane postavke bit će dovoljne u našem slučaju (svakako uredite datoteku kako bi odgovarala vašem okruženju).

Gdje datoteka /etc/postfix/transport definira odnos između domena i sljedećeg poslužitelja na koji se poruke pošte trebaju proslijediti. U našem slučaju, budući da ćemo isporučivati poruke samo našoj lokalnoj mreži (tako zaobilazeći svaku vanjsku DNS rezoluciju), sljedeća konfiguracija će biti dovoljna.

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

Zatim moramo ovu datoteku običnog teksta pretvoriti u .db format, što stvara tablicu pretraživanja koju će Postfix zapravo koristiti da zna što učiniti s dolaznom i odlaznom poštom.

postmap /etc/postfix/transport

Morat ćete se sjetiti ponovno stvoriti ovu tablicu ako dodate više unosa u odgovarajuću tekstualnu datoteku.

3. mynetworks definira ovlaštene mreže s kojih će Postfix prosljeđivati poruke. Zadana vrijednost, podmreža, govori Postfixu da prosljeđuje poštu od SMTP klijenata samo u istoj IP podmreži kao i lokalno računalo.

mynetworks = subnet

4. relay_domains navodi odredišta na koja se e-pošta treba slati. Zadanu vrijednost ostavit ćemo netaknutu, koja upućuje na moje odredište. Ne zaboravite da postavljamo poslužitelj pošte za naš LAN.

relay_domains = $mydestination

Imajte na umu da možete koristiti $mydestination umjesto popisa stvarnog sadržaja.

5. inet_interfaces definira koja mrežna sučelja usluga pošte treba slušati. Zadana postavka, sve, govori Postfixu da koristi sva mrežna sučelja.

inet_interfaces = all

6. Konačno, mailbox_size_limit i message_size_limit koristit će se za postavljanje veličine poštanskog sandučića svakog korisnika i maksimalne dopuštene veličine pojedinačnih poruka, u bajtovima.

mailbox_size_limit = 51200000
message_size_limit = 5120000

Ograničavanje pristupa SMTP poslužitelju

Postfix SMTP poslužitelj može primijeniti određena ograničenja na svaki zahtjev za povezivanje klijenta. Ne bi trebalo dopustiti svim klijentima da se identificiraju poslužitelju e-pošte korištenjem smtp HELO naredbe, a svakako ne bi svima trebao biti odobren pristup za slanje ili primanje poruka.

Da bismo implementirali ova ograničenja, koristit ćemo sljedeće direktive u datoteci main.cf. Iako su sami po sebi jasni, komentari su dodani 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

Postconf stranica konfiguracijskih parametara Postfixa može biti korisna za daljnje istraživanje dostupnih opcija.

Konfiguriranje Dovecota

Odmah nakon instaliranja dovecota, on podržava protokole POP3 i IMAP, zajedno s njihovim sigurnim verzijama, POP3S i IMAPS, odnosno.

Dodajte sljedeće retke 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 matični direktorij, primijetit ćete da postoji poddirektorij e-pošte sa sljedećim sadržajem.

Također, imajte na umu da je datoteka /var/mail/%u mjesto gdje se pohranjuju korisničke poruke e-pošte na većini sustava.

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

protocols = imap pop3

I provjerite uključuje li /etc/conf.d/10-ssl.conf sljedeće retke (u suprotnom ih dodajte).

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

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

netstat -npltu | grep dovecot

Postavljanje e-mail klijenta i slanje/primanje e-pošte

Na našem klijentskom računalu otvorit ćemo Thunderbird i kliknuti na DatotekaNovoPostojeći račun e-pošte. Od nas će se tražiti da unesemo naziv računa i pridruženu adresu e-pošte, zajedno sa zaporkom. Kada kliknemo Nastavi, Thunderbird će se pokušati spojiti na poslužitelj e-pošte kako bi provjerio postavke.

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

Na našem poslužitelju ćemo napisati e-poruku sysadminu, koji je povezan s jdoe i gacanepa.

Čini se da dnevnik pošte (/var/log/mail.log) pokazuje da je e-pošta koja je poslana sysadmin proslijeđena na [email  i [email , kao što se može vidjeti na sljedećoj slici.

Možemo provjeriti je li pošta stvarno isporučena našem klijentu, gdje su IMAP računi konfigurirani u Thunderbirdu.

Konačno, pokušajmo poslati poruku s [email  na [email .

Na ispitu će se od vas tražiti da radite isključivo s uslužnim programima naredbenog retka. To znači da nećete moći instalirati desktop klijentsku aplikaciju kao što je Thunderbird, već ćete umjesto toga morati koristiti poštu. Koristili smo Thunderbird u ovom poglavlju samo u ilustrativne svrhe.

Zaključak

U ovom smo postu objasnili kako postaviti IMAP poslužitelj e-pošte za vašu lokalnu mrežu i kako ograničiti pristup SMTP poslužitelju. Ako slučajno naiđete na problem dok implementirate sličnu postavku u svom testnom okruženju, bilo bi dobro da provjerite online dokumentaciju Postfixa i Dovecota (posebno stranice o glavnim konfiguracijskim datotekama, /etc/postfix/main.cf i/etc/dovecot/dovecot.conf), ali u svakom slučaju nemojte se ustručavati kontaktirati me putem donjeg obrasca za komentare. Bit će mi više nego drago pomoći vam.