Kuweka Huduma za Barua Pepe (SMTP, Imap na Imaps) na Kuzuia Ufikiaji wa SMTP - Sehemu ya 7


LFCE (Mhandisi Aliyeidhinishwa na Linux Foundation) ni mtaalamu aliyefunzwa ambaye ana ujuzi wa kusakinisha, kudhibiti na kutatua huduma za mtandao katika mifumo ya Linux, na anasimamia muundo, utekelezaji na matengenezo yanayoendelea ya usanifu wa mfumo na usimamizi wa watumiaji.

Tunakuletea Mpango wa Uthibitishaji wa Msingi wa Linux.

Katika somo la awali tulijadili jinsi ya kufunga vipengele muhimu vya huduma ya barua. Ikiwa bado hujasakinisha Postfix na Dovecot, tafadhali rejelea Sehemu ya 1 ya mfululizo huu kwa maagizo ya kufanya hivyo kabla ya kuendelea.

  1. Sakinisha Seva ya Barua ya Postfix na Dovecot - Sehemu ya 1

Katika chapisho hili, nitakuonyesha jinsi ya kusanidi seva yako ya barua na jinsi ya kufanya kazi zifuatazo:

  1. Sanidi lakabu za barua pepe
  2. Sanidi IMAP na huduma ya IMAPS
  3. Sanidi huduma ya smtp
  4. Zuia ufikiaji wa seva ya smtp

Kumbuka: Kwamba usanidi wetu utashughulikia seva ya barua kwa mtandao wa eneo la karibu ambapo mashine ni za kikoa sawa. Kutuma ujumbe wa barua pepe kwa vikoa vingine kunahitaji usanidi changamano zaidi, ikiwa ni pamoja na uwezo wa utatuzi wa jina la kikoa, ambao hauko nje ya upeo wa uidhinishaji wa LFCE.

Lakini kwanza, hebu tuanze na ufafanuzi kadhaa.

Vipengele vya Mchakato wa Kutuma Barua, Usafirishaji na Uwasilishaji

Picha ifuatayo inaonyesha mchakato wa usafiri wa barua pepe kuanzia kwa mtumaji hadi ujumbe ufikie kisanduku pokezi cha mpokeaji:

Ili kufanya hivyo, mambo kadhaa hutokea nyuma ya pazia. Ili ujumbe wa barua pepe uwasilishwe kutoka kwa programu ya mteja (kama vile Thunderbird, Outlook, au huduma za barua pepe kama vile Gmail au Yahoo! Mail) hadi kwa seva yake ya barua pepe na kutoka hapo hadi kwa seva lengwa na hatimaye kwa mpokeaji anayekusudiwa. , huduma ya SMTP (Itifaki Rahisi ya Uhamisho wa Barua) lazima iwepo katika kila seva.

Unapozungumza kuhusu huduma za barua pepe, utapata maneno yafuatayo yametajwa mara nyingi sana:

MTA (kifupi cha Barua au Ajenti wa Usafiri wa Ujumbe), inayojulikana kama relay, ni programu inayohusika na kuhamisha barua pepe kutoka kwa seva. kwa mteja (na kwa njia nyingine pia). Katika mfululizo huu, Postfix hufanya kama MTA yetu.

MUA, au Wakala wa Mtumiaji wa Barua, ni programu ya kompyuta inayotumiwa kufikia na kudhibiti vikasha barua pepe vya mtumiaji. Mifano ya MUA ni pamoja na, lakini haizuiliwi, Thunderbird, Outlook, na violesura vya barua pepe kama vile Gmail, Outlook.com, kutaja chache. Katika mfululizo huu, tutatumia Thunderbird katika mifano yetu.

MDA (kifupi cha Ujumbe au Wakala wa Utumaji Barua) ni sehemu ya programu ambayo kwa hakika hutuma ujumbe wa barua pepe kwenye vikasha vya mtumiaji. Katika somo hili, tutatumia Dovecot kama MDA yetu. Dovecot pia itashughulikia uthibitishaji wa mtumiaji.

Ili vipengele hivi viweze \kuzungumza” wao kwa wao, ni lazima \kuzungumza” sawa \lugha (au itifaki), yaani SMTP (Itifaki Rahisi ya Uhawilishaji Barua) kama ilivyofafanuliwa katika RFC 2821. Uwezekano mkubwa zaidi, itabidi urejelee RFC hiyo unapoweka barua pepe yako. mazingira ya seva.

Itifaki zingine ambazo tunapaswa kuzingatia ni IMAP4 (Itifaki ya Ufikiaji Ujumbe wa Mtandao), ambayo inaruhusu kudhibiti barua pepe moja kwa moja kwenye seva bila kuzipakua kwenye diski kuu ya mteja wetu. , na POP3 (Itifaki ya Ofisi ya Posta), ambayo inaruhusu kupakua ujumbe na folda kwenye kompyuta ya mtumiaji.

Mazingira yetu ya majaribio ni kama ifuatavyo:

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

Kwa mteja wetu, tumeweka azimio la msingi la DNS kuongeza laini ifuatayo kwenye faili ya /etc/hosts.

192.168.0.15 example.com.ar mailserver

Kuongeza Lakabu za Barua Pepe

Kwa chaguo-msingi, ujumbe unaotumwa kwa mtumiaji mahususi unapaswa kuwasilishwa kwa mtumiaji huyo pekee. Hata hivyo, ikiwa ungependa kuiwasilisha kwa kundi la watumiaji pia, au kwa mtumiaji tofauti, unaweza kuunda lakabu ya barua pepe au kutumia mojawapo ya zilizopo katika /etc/postfix/aliases , kufuata sintaksia hii:

user1: user1, user2

Kwa hivyo, barua pepe zinazotumwa kwa mtumiaji1 pia zitatumwa kwa mtumiaji2. Kumbuka kwamba ukiacha neno user1 baada ya koloni, kama ilivyo

user1: user2

jumbe zinazotumwa kwa mtumiaji1 zitatumwa kwa mtumiaji2 pekee, na si kwa mtumiaji1.

Katika mfano ulio hapo juu, user1 na user2 wanapaswa kuwa tayari kuwepo kwenye mfumo. Unaweza kutaka kurejelea Sehemu ya 8 ya mfululizo wa LFCS ikiwa unahitaji kuonyesha upya kumbukumbu yako kabla ya kuongeza watumiaji wapya.

  1. Jinsi ya Kuongeza na Kudhibiti Watumiaji/Vikundi katika Linux
  2. Amri 15 za Kuongeza Watumiaji kwenye Linux

Katika hali yetu mahususi, tutatumia lakabu ifuatayo kama ilivyoelezwa hapo awali (ongeza mstari ufuatao katika /etc/aliases).

sysadmin: gacanepa, jdoe

Na endesha amri ifuatayo ili kuunda au kuburudisha jedwali la utafutaji lak.

postalias /etc/postfix/aliases

Ili ujumbe unaotumwa kwa [email  uwasilishwe kwenye kikasha cha watumiaji walioorodheshwa hapo juu.

Kusanidi Postfix - Huduma ya SMTP

Faili kuu ya usanidi ya Postfix ni /etc/postfix/main.cf. Unahitaji tu kusanidi vigezo vichache kabla ya kuweza kutumia huduma ya barua. Hata hivyo, unapaswa kufahamiana na vigezo kamili vya usanidi (vinavyoweza kuorodheshwa na man 5 postconf) ili kusanidi seva ya barua iliyo salama na iliyobinafsishwa kikamilifu.

Kumbuka: Kwamba somo hili linafaa tu kukufanya uanze katika mchakato huo na haliwakilishi mwongozo wa kina wa huduma za barua pepe na Linux.

Fungua faili ya /etc/postfix/main.cf kwa chaguo lako la kihariri na ufanye mabadiliko yafuatayo kama ilivyoelezwa.

# vi /etc/postfix/main.cf

1. myorigin inabainisha kikoa kinachoonekana katika ujumbe uliotumwa kutoka kwa seva. Unaweza kuona faili ya /etc/mailname inayotumiwa na kigezo hiki. Jisikie huru kuihariri ikiwa inahitajika.

myorigin = /etc/mailname

Ikiwa thamani iliyo hapo juu itatumika, barua pepe zitatumwa kama [email , ambapo mtumiaji ndiye mtumiaji anayetuma ujumbe.

2. lengwa huorodhesha ni vikoa vipi ambavyo mashine hii itawasilisha barua pepe ndani ya nchi, badala ya kusambaza kwa mashine nyingine (inayofanya kazi kama mfumo wa relay). Mipangilio ya chaguo-msingi itatosha kwa upande wetu (hakikisha kuhariri faili ili kuendana na mazingira yako).

Ambapo faili ya /etc/postfix/transport inafafanua uhusiano kati ya vikoa na seva inayofuata ambayo ujumbe wa barua unapaswa kutumwa. Kwa upande wetu, kwa kuwa tutakuwa tukitoa ujumbe kwa mtandao wetu wa eneo la karibu pekee (hivyo tukikwepa azimio lolote la nje la DNS), usanidi ufuatao utatosha.

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

Kisha, tunahitaji kubadilisha faili hii ya maandishi wazi hadi umbizo la .db, ambalo linaunda jedwali la utafutaji ambalo Postfix itatumia kweli kujua la kufanya na barua zinazoingia na kutoka.

# postmap /etc/postfix/transport

Utahitaji kukumbuka kuunda upya jedwali hili ikiwa utaongeza maingizo zaidi kwenye faili inayolingana ya maandishi.

3. mitandao yangu inafafanua mitandao iliyoidhinishwa ya Postfix itasambaza ujumbe kutoka. Thamani chaguo-msingi, subnet, huiambia Postfix kusambaza barua pepe kutoka kwa wateja wa SMTP katika mitandao midogo ya IP sawa na mashine ya ndani pekee.

mynetworks = subnet

4. vikoa_vya_relay hubainisha maeneo ambayo barua pepe zinapaswa kutumwa. Tutaacha thamani chaguo-msingi bila kuguswa, ambayo inaelekeza kwenye marudio yangu. Kumbuka kwamba tunasanidi seva ya barua kwa LAN yetu.

relay_domains = $mydestination

Kumbuka kuwa unaweza kutumia $mydestination badala ya kuorodhesha yaliyomo halisi.

5. inet_interfaces inafafanua ni kiolesura kipi cha mtandao ambacho huduma ya barua inapaswa kusikiliza. Chaguo-msingi, yote, inaiambia Postfix kutumia miingiliano yote ya mtandao.

inet_interfaces = all

6. Hatimaye, mailbox_size_limit na message_size_limit zitatumika kuweka ukubwa wa kisanduku cha barua cha kila mtumiaji na upeo wa juu unaoruhusiwa wa barua pepe mahususi, mtawalia, katika baiti.

mailbox_size_limit = 51200000
message_size_limit = 5120000

Kuzuia Ufikiaji kwa Seva ya SMTP

Seva ya Postfix SMTP inaweza kuweka vikwazo fulani kwa kila ombi la muunganisho la mteja. Si wateja wote wanapaswa kuruhusiwa kujitambulisha kwa seva ya barua kwa kutumia smtp HELO amri, na kwa hakika si wote wanapaswa kupewa ufikiaji wa kutuma au kupokea ujumbe.

Ili kutekeleza vikwazo hivi, tutatumia maagizo yafuatayo katika faili ya main.cf. Ingawa yanajieleza, maoni yameongezwa kwa madhumuni ya ufafanuzi.

# 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

Ukurasa wa vigezo vya usanidi wa Postfix postconf unaweza kuja kwa manufaa ili kuchunguza zaidi chaguo zinazopatikana.

Inasanidi Dovecot

Mara tu baada ya kusakinisha dovecot, inasaidia nje ya kisanduku kwa POP3 na IMAP itifaki, pamoja na matoleo yao salama, POP3S na IMAPS, mtawalia.

Ongeza mistari ifuatayo katika faili ya /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

Ukiangalia saraka yako ya nyumbani, utagundua kuna saraka ndogo ya barua iliyo na yaliyomo.

Pia, tafadhali kumbuka kuwa faili ya /var/mail/%u ndipo barua za mtumiaji huhifadhiwa kwenye mifumo mingi.

Ongeza maagizo yafuatayo kwa /etc/dovecot/dovecot.conf (kumbuka kuwa imap na pop3 zinamaanisha imaps na pop3 pia).

protocols = imap pop3

Na hakikisha /etc/conf.d/10-ssl.conf inajumuisha mistari ifuatayo (vinginevyo, ziongeze).

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

Sasa hebu tuwashe upya Dovecot na tuthibitishe kwamba inasikiza kwenye milango inayohusiana na imap, imaps, pop3 na pop3.

# netstat -npltu | grep dovecot

Kuanzisha Mteja wa Barua na Kutuma/Kupokea Barua

Kwenye kompyuta yetu ya mteja, tutafungua Thunderbird na kubofya FailiMpyaAkaunti iliyopo ya barua pepe. Tutaulizwa kuingiza jina la akaunti na anwani ya barua pepe inayohusika, pamoja na nenosiri lake. Tunapobofya Endelea, Thunderbird itajaribu kuunganisha kwenye seva ya barua ili kuthibitisha mipangilio.

Rudia mchakato ulio hapo juu kwa akaunti inayofuata ([email ) na vikasha viwili vifuatavyo vinapaswa kuonekana kwenye kidirisha cha kushoto cha Thunderbird.

Kwenye seva yetu, tutaandika barua pepe kwa sysadmin, ambayo inajulikana kwa jina la jdoe na gacanepa.

Kumbukumbu ya barua (/var/log/mail.log) inaonekana kuashiria kwamba barua pepe iliyotumwa kwa sysadmin ilitumwa kwa [email  b>, kama inavyoonekana kwenye picha ifuatayo.

Tunaweza kuthibitisha ikiwa barua pepe iliwasilishwa kwa mteja wetu, ambapo akaunti za IMAP zilisanidiwa katika Thunderbird.

Hatimaye, hebu tujaribu kutuma ujumbe kutoka [email .

Katika mtihani utaulizwa kufanya kazi pekee na huduma za mstari wa amri. Hii inamaanisha kuwa hutaweza kusakinisha programu ya teja ya eneo-kazi kama vile Thunderbird, lakini utahitajika kutumia barua badala yake. Tumetumia Thunderbird katika sura hii kwa madhumuni ya kielelezo pekee.

Hitimisho

Katika chapisho hili tumeelezea jinsi ya kusanidi seva ya barua pepe ya IMAP kwa mtandao wa eneo lako na jinsi ya kuzuia ufikiaji wa seva ya SMTP. Ikiwa utakutana na suala wakati wa kutekeleza usanidi sawa katika mazingira yako ya majaribio, utataka kuangalia hati za mtandaoni za /etc/dovecot/dovecot.conf, mtawaliwa), lakini kwa hali yoyote usisite kuwasiliana nami kwa kutumia. fomu ya maoni hapa chini. Nitafurahi zaidi kukusaidia.