E-pasta pakalpojumu (SMTP, Imap un Imaps) iestatīšana un piekļuves ierobežošana SMTP - 7. daļa


LFCE ( Linux Foundation sertificēts inženieris ) ir apmācīts profesionālis, kam ir prasmes instalēt, pārvaldīt un novērst tīkla pakalpojumus Linux sistēmās, un viņš ir atbildīgs par sistēmas arhitektūras un lietotāju administrēšanas projektēšana, ieviešana un pastāvīga uzturēšana.

Iepazīstinām ar Linux Foundation sertifikācijas programmu.

Iepriekšējā apmācībā mēs apspriedām, kā instalēt nepieciešamos pasta pakalpojuma komponentus. Ja vēl neesat instalējis Postfix un Dovecot , lūdzu, skatiet šīs sērijas 1. daļu, pirms to turpināt.

  1. Instalējiet Postfix pasta serveri un Dovecot - 1. daļa

Šajā amatā es jums parādīšu, kā konfigurēt pasta serveri un kā veikt šādus uzdevumus:

  1. Konfigurējiet e-pasta aizstājvārdus
  2. Konfigurējiet IMAP un IMAPS pakalpojumu
  3. Konfigurējiet smtp pakalpojumu
  4. Ierobežojiet piekļuvi smtp serverim

Piezīme. Mūsu iestatījums aptvers tikai vietējā tīkla pasta serveri, kurā mašīnas pieder vienam domēnam. Lai nosūtītu e-pasta ziņojumus uz citiem domēniem, ir nepieciešama sarežģītāka iestatīšana, tostarp domēna vārda izšķiršanas iespējas, kas neietilpst LFCE sertifikātā.

Vispirms sāksim ar dažām definīcijām.

Pasta sūtīšanas, transportēšanas un piegādes procesa sastāvdaļas

Šis attēls parāda e-pasta pārsūtīšanas procesu, sākot ar sūtītāju, līdz ziņojums nonāk adresāta iesūtnē:

Lai tas būtu iespējams, aizkulisēs notiek vairākas lietas. Lai e-pasta ziņa tiktu piegādāta no klienta lietojumprogrammas (piemēram, Thunderbird, Outlook vai tīmekļa pasta pakalpojumiem, piemēram, Gmail vai Yahoo! Mail) uz viņa/viņas pasta serveri un no turienes uz galamērķa serveri un visbeidzot paredzētajam adresātam , katrā serverī jābūt izvietotam SMTP (vienkāršā pasta pārsūtīšanas protokola) pakalpojumam.

Runājot par e-pasta pakalpojumiem, jūs atradīsit šādus terminus, kas minēti ļoti bieži:

MTA (saīsinājums no Pasta vai Ziņojumu transportēšanas aģenta ), jeb pasta relejs, ir programmatūra, kas atbild par e-pasta ziņojumu pārsūtīšanu no servera klientam (un arī otrādi). Šajā sērijā Postfix darbojas kā mūsu MTA.

MUA vai Pasta lietotāja aģents ir datorprogramma, ko izmanto, lai piekļūtu lietotāja e-pasta iesūtnēm un pārvaldītu tās. MUA piemēri ietver, bet neaprobežojas ar, Thunderbird, Outlook un tīmekļa pasta saskarnes, piemēram, Gmail, Outlook.com. Šajā sērijā mēs savos piemēros izmantosim Thunderbird.

MDA (saīsinājums no Message vai Mail Delivery Agent ) ir programmatūras daļa, kas faktiski piegādā e-pasta ziņojumus lietotāja iesūtnēs. Šajā apmācībā mēs izmantosim Dovecot kā savu MDA. Dovecot apstrādās arī lietotāju autentifikāciju.

Lai šie komponenti varētu “sarunāties” savā starpā, viņiem “ jārunā ” tajā pašā “ valodā ” (vai protokolā). ), proti, SMTP ( vienkāršais pasta pārsūtīšanas protokols ), kā noteikts RFC 2821. Visticamāk, jums būs jāatsaucas uz šo RFC, iestatot pasta servera vidi.

Citi protokoli, kas mums jāņem vērā, ir IMAP4 ( Interneta ziņojumu piekļuves protokols ), kas ļauj pārvaldīt e-pasta ziņojumus tieši serverī, tos nelādējot mūsu klienta cietajā diskā. un POP3 ( pasta nodaļas protokols ), kas ļauj lejupielādēt ziņojumus un mapes lietotāja datorā.

Mūsu testēšanas vide ir šāda:

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

Mūsu klientā mēs esam iestatījuši elementāru DNS izšķirtspēju, failam /etc/hosts pievienojot šādu rindu.

192.168.0.15 example.com.ar mailserver

E-pasta aizstājvārdu pievienošana

Pēc noklusējuma ziņojums, kas nosūtīts konkrētam lietotājam, būtu jānogādā tikai šim lietotājam. Tomēr, ja vēlaties to piegādāt arī lietotāju grupai vai citam lietotājam, varat izveidot pasta aizstājvārdu vai izmantot kādu no esošajiem /etc/postfix/aliases , ievērojot šo sintaksi:

user1: user1, user2

Tādējādi e-pasta ziņojumi, kas nosūtīti lietotājam user1 , tiks piegādāti arī lietotājam user2 . Ievērojiet - ja pēc kols izlaižat vārdu lietotājs1 , kā tas ir

user1: user2

lietotājam1 nosūtītie ziņojumi tiks nosūtīti tikai lietotājam lietotājs2 , nevis lietotājam1 .

Iepriekš minētajā piemērā lietotājam1 un lietotājam2 jau vajadzētu būt sistēmā. Ja pirms jaunu lietotāju pievienošanas ir jāatsvaidzina atmiņa, varat atsaukties uz LFCS sērijas 8. daļu .

  1. Kā pievienot un pārvaldīt lietotājus/grupas operētājsistēmā Linux
  2. 15 komandas lietotāju pievienošanai operētājsistēmā Linux

Mūsu īpašajā gadījumā mēs izmantosim šādu aizstājvārdu, kā paskaidrots iepriekš (pievienojiet šādu rindu /etc/aliases ).

sysadmin: gacanepa, jdoe

Un palaidiet šo komandu, lai izveidotu vai atsvaidzinātu aizstājvārdu uzmeklēšanas tabulu.

postalias /etc/postfix/aliases

Tādējādi ziņojumi, kas nosūtīti uz [email , tiks piegādāti iepriekš minēto lietotāju iesūtnē.

Postfix konfigurēšana - SMTP pakalpojums

Postfix galvenais konfigurācijas fails ir /etc/postfix/main.cf . Lai varētu izmantot pasta pakalpojumu, jums jāiestata tikai daži parametri. Tomēr, lai izveidotu drošu un pilnībā pielāgotu pasta serveri, jums jāiepazīstas ar pilniem konfigurācijas parametriem (kurus var norādīt ar man 5 postconf ).

Piezīme. Šī apmācība ir domāta tikai tam, lai jūs sāktu darbu šajā procesā, un tā nav visaptveroša rokasgrāmata par e-pasta pakalpojumiem ar Linux.

Atveriet failu /etc/postfix/main.cf ar izvēlēto redaktoru un veiciet šādas izmaiņas, kā paskaidrots.

# vi /etc/postfix/main.cf

1 . myorigin norāda domēnu, kas parādās ziņojumos, kas nosūtīti no servera. Iespējams, redzēsit /etc/mailname failu, kas izmantots ar šo parametru. Ja nepieciešams, varat to rediģēt.

myorigin = /etc/mailname

Ja tiek izmantota iepriekš norādītā vērtība, vēstules tiks nosūtītas kā [aizsargātas ar e-pastu] , kur lietotājs ir lietotājs, kurš sūta ziņojumu.

2 . mydestination uzskaita, kādos domēnos šī mašīna piegādās e-pasta ziņojumus lokāli, nevis pārsūtīs uz citu mašīnu (darbojas kā pārraides sistēma). Mūsu gadījumā pietiks ar noklusējuma iestatījumiem (noteikti rediģējiet failu atbilstoši savai videi).

Kur fails /etc/postfix/transport nosaka attiecības starp domēniem un nākamo serveri, uz kuru jāpārsūta pasta ziņas. Mūsu gadījumā, tā kā mēs piegādāsim ziņojumus tikai vietējam tīklam (tādējādi apejot jebkuru ārējo DNS izšķirtspēju), pietiks ar šādu konfigurāciju.

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

Tālāk mums jāpārvērš šis vienkāršā teksta fails formātā .db , kas izveido uzmeklēšanas tabulu, kuru Postfix faktiski izmantos, lai zinātu, kā rīkoties ar ienākošo un izejošo pastu.

# postmap /etc/postfix/transport

Jums būs jāatceras atjaunot šo tabulu, ja attiecīgajam teksta failam pievienojat vairāk ierakstu.

3 . Tīkli definē autorizētos tīklus, no kuriem Postfix pārsūtīs ziņojumus. Noklusējuma vērtība apakštīkls liek Postfix pārsūtīt vēstules no SMTP klientiem tajā pašā IP apakštīklā, kur tikai vietējā mašīna.

mynetworks = subnet

4 . relay_domains norāda galamērķus, uz kuriem jānosūta e-pasta ziņojumi. Mēs atstāsim noklusēto vērtību neskartu, kas norāda uz manu mērķi. Atcerieties, ka mēs izveidojam pasta serveri savam LAN.

relay_domains = $mydestination

Ņemiet vērā, ka faktiskā satura uzskaitījuma vietā varat izmantot $mydestination .

5 . inet_interfaces nosaka, kuras tīkla saskarnes pasta pakalpojumam vajadzētu klausīties. Pēc noklusējuma visi norāda Postfix izmantot visas tīkla saskarnes.

inet_interfaces = all

6 . Visbeidzot, lai iestatītu katra lietotāja pastkastes lielumu un maksimāli atļauto atsevišķu ziņojumu lielumu baitos, tiks izmantotas pastkastes_izmēra_limits un ziņojuma_izmēra_limits .

mailbox_size_limit = 51200000
message_size_limit = 5120000

Piekļuves ierobežošana SMTP serverim

Postfix SMTP serveris katram klienta savienojuma pieprasījumam var piemērot noteiktus ierobežojumus. Ne visiem klientiem vajadzētu ļaut sevi identificēt pasta serverī, izmantojot komandu smtp HELO , un noteikti ne visiem viņiem būtu jāpiešķir piekļuve ziņojumu sūtīšanai vai saņemšanai.

Lai ieviestu šos ierobežojumus, failā main.cf izmantosim šādas direktīvas. Lai gan tie ir pašsaprotami, skaidrības labad ir pievienoti komentāri.

# 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 konfigurācijas parametru postconf lapa var būt noderīga, lai turpinātu izpētīt pieejamās opcijas.

Dovecot konfigurēšana

Tūlīt pēc baložu instalēšanas tas atbalsta protokolu POP3 un IMAP komplektā iekļautās izvēles iespējas, kā arī to drošās versijas POP3S un attiecīgi IMAPS .

Pievienojiet šādas rindas failā /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

Pārbaudot mājas direktoriju, pamanīsit, ka ir pasta apakšdirektorijs ar šādu saturu.

Lūdzu, ņemiet vērā arī to, ka failā /var/mail /% u lielākajā daļā lietotāju tiek glabāti lietotāja pasti.

Pievienojiet šādu direktīvu vietnei /etc/dovecot/dovecot.conf (ņemiet vērā, ka imap un pop3 nozīmē arī imaps un pop3).

protocols = imap pop3

Un pārliecinieties, ka /etc/conf.d/10-ssl.conf ir iekļautas šādas rindas (pretējā gadījumā pievienojiet tās).

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

Tagad restartēsim Dovecot un pārbaudiet, vai tas klausās portos, kas saistīti ar imap, imaps, pop3 un pop3s.

# netstat -npltu | grep dovecot

Pasta klienta iestatīšana un ziņojumu sūtīšana/saņemšana

Klienta datorā mēs atvērsim Thunderbird un noklikšķiniet uz Fails Jauns Esošais pasta konts . Mums tiks piedāvāts ievadīt konta nosaukumu un saistīto e-pasta adresi kopā ar tā paroli. Kad mēs noklikšķināsim uz Turpināt , Thunderbird mēģinās izveidot savienojumu ar pasta serveri, lai pārbaudītu iestatījumus.

Atkārtojiet iepriekš minēto procesu nākamajam kontam ( [aizsargāts ar e-pastu] ), un Thunderbird kreisajā rūtī vajadzētu parādīties nākamajām divām iesūtnēm.

Uz mūsu servera mēs rakstīsim e-pasta ziņojumu lietotājam sysadmin , kas tiek aizstāts ar jdoe un gacanepa .

Pasta žurnāls ( /var/log/mail.log ), šķiet, norāda, ka e-pasts, kas tika nosūtīts uz sysadmin , tika pārsūtīts uz [email , kā redzams nākamajā attēlā.

Mēs varam pārbaudīt, vai pasts faktiski tika piegādāts mūsu klientam, kur Thunderbird tika konfigurēti IMAP konti.

Visbeidzot, mēģināsim nosūtīt ziņojumu no [email .

Eksāmenā jums tiks lūgts strādāt tikai ar komandrindas utilītprogrammām. Tas nozīmē, ka nevarēsiet instalēt darbvirsmas klienta lietojumprogrammu, piemēram, Thunderbird, taču tā vietā jums būs jāizmanto pasts. Šajā nodaļā mēs izmantojām Thunderbird tikai ilustratīviem nolūkiem.

Secinājums

Šajā amatā mēs esam paskaidrojuši, kā iestatīt IMAP pasta serveri lokālajam tīklam un kā ierobežot piekļuvi serverim SMTP . Ja, testēšanas vidē ieviešot līdzīgu iestatījumu, rodas kāda problēma, vēlēsities pārbaudīt /etc/dovecot/dovecot.conf tiešsaistes dokumentāciju, taču jebkurā gadījumā nevilcinieties sazināties ar mani, izmantojot komentāru veidlapu zemāk. Es priecāšos jums palīdzēt.