Telepítse, biztosítsa, hozzáférjen és konfigurálja a Linux Mail Server (Postfix)

posted in: Articles | 0

Ha e-mailt szeretne küldeni vagy kapni, rendelkeznie kell egy e-mail szerverrel. Ebben a bejegyzésben megvitatjuk a Linux levelezőszervert, valamint az SMTP (Simple Mail Transfer Protocol) működését, valamint más levelekkel kapcsolatos protokollokat, mint például a Post Office Protocol (POP) és az Internet Message Access Protocol (IMAP), valamint a köztük lévő kapcsolatot.,

Tartalomjegyzék

Linux SMTP server

SMTP meghatározza, hogyan lehet e-mailt küldeni az egyik gazdagépről a másikra; ez is rendszerfüggetlen, ami azt jelenti, hogy a feladó és a vevő különböző operációs rendszerekkel rendelkezhet.

az SMTP csak azt követeli meg, hogy a kiszolgáló egyenes ASCII szöveget küldjön egy másik kiszolgálóra, ezt úgy teheti meg, hogy csatlakozik a kiszolgálóhoz a 25-ös porton, amely a standard SMTP port.

a legtöbb Linux disztribúció ma az SMTP két leggyakoribb implementációjával érkezik, melyek a sendmail és a Postfix.,

a Sendmail egy híres és ingyenes levelezőszerver, de egy kicsit bonyolult és kevésbé biztonságos.

a Postfix egy lépéssel tovább vitte a mail server megvalósítását; a biztonságot szem előtt tartva fejlesztették ki.

Mail service components

az e-mail szolgáltatás bármely e-mail szerveren három összetevőből áll:

Mail user agent (MUA): ez az összetevő, amelyet a felhasználó lát és kölcsönhatásba lép, mint a Thunderbird és a Microsoft Outlook, ezek a felhasználói ügynökök felelősek a levelek olvasásáért, és lehetővé teszik a levelek összeállítását.,

Mail transport agent (MTA): ez az összetevő felelős azért, hogy a leveleket egyik helyről a másikra, mint a Sendmail és Postfix.

Mail delivery agent (MDA): ez az összetevő felelős a fogadott üzenetek helyi gépen történő terjesztéséért a megfelelő felhasználói postafiókba, mint például a postfix-maildrop vagy a Procmail.

e-mail kiszolgáló beállítása

a Postfix mail kiszolgálót választottuk, amely ma nagyon népszerű és gyakori a rendszergazdák körében.

a Postfix az alapértelmezett levelezőszerver a legtöbb modern Linux disztribúcióban.,

Első, ellenőrizze, hogy telepítve van-e a rendszer vagy sem:

$ rpm -qa | grep postfix

Ha nincs telepítve, telepítse Postfix levelező szerver, vagy a Red hat alapú disztribúciók, mint ez:

$ dnf -y install postfix

Majd indítsa el a postfix szolgáltatás, ami lehetővé teszi a rendszer indításakor:

$ systemctl start postfix$ systemctl enable postfix

A Debian alapú disztribúciók, mint az Ubuntu, tudod telepíteni, mint ez:

$ apt-get -y install postfix

kérni fogja, hogy válassza ki, milyen típusú konfiguráció a Postfix levelező szerver a telepítési folyamat során.,

a négy lehetőség közül nincs konfiguráció, internetes oldal, internet smarthost, műholdas rendszer, csak helyi, nem választunk konfigurációs lehetőséget.

konfigurálja a Linux levelezőszervert

a Postfix levelezőszerver telepítése után konfigurálnia kell; konfigurációs fájljainak nagy részét az /etc/postfix/ könyvtár alatt találja.

a Postfix mail server fő konfigurációját az /etc/postfix/main.cf fájlban találja meg.,

Ez a fájl sok lehetőséget tartalmaz, mint például:

myhostname

ezt a lehetőséget használhatja a levelezőszerver gazdagépnevének megadására. Ez az internetes hostname, amely Postfix e-maileket fog kapni rajta.

Az állomásneveket lehet, mint mail.example.com, smtp.example.com.

myhostname = mail.example.com

mydomain

Ez az opció a mail, domain, hogy lesz szervizelése, mint example.com

A szintaxis, mint ez:

mydomain = example.com

myorigin

az Összes e-maileket küldött e-mail szerver fog kinézni, mintha jött ez a lehetőség., Ezt $mydomain értékre állíthatja.

myorigin = $mydomain

bármelyik opcióértéket használhatja, csak egy $ – hoz hasonló $mydomain-val megelőzve.

mydestination

Ez az opció felsorolja azokat a tartományokat, amelyeket a Postfix szerver használ a bejövő e-mailekhez.

ilyen értékeket vehet fel:

mydestination = $myhostname, localhost.$mydomain, $mydomain, mail.$mydomain, www.$mydomain

mail_spool_directory

két szállítási mód van, amelyeket a Postfix levelezőszerver használhat:

  • közvetlenül a felhasználó postafiókjába.
  • egy központi spool könyvtárba, így az e-mail a / var / spool / mail fájlban lesz minden felhasználó számára.,
mail_spool_directory = /var/spool/mail

mynetworks

Ez az opció lehetővé teszi, hogy konfigurálja, milyen szerverek továbbíthatják a Postfix kiszolgálót.

Ez az opció a helyi címeket, például a helyi e-mail szkripteket csak a kiszolgálón veheti igénybe.

ellenkező esetben a spamküldők felhasználhatják a levelezőszervert üzeneteik továbbítására, valamint a levelezőszerver feketelistára helyezésére, ezért nem fog tudni sok e-mailt kapni.,

Ez az opció a következő szintaxissal rendelkezik:

mynetworks = 127.0.0.0/8, 192.168.1.0/24

smtpd_barner

Ez a változó beállítja azt az üzenetet, amelyet a szerver küld, amikor az ügyfél sikeres kapcsolat után.

jobb, ha a szalaghirdetést olyanra változtatja, amely nem ad nyomot a használt kiszolgálóról.

inet_protocols

Ez az opció a szerverkapcsolatokhoz használt IP protokoll verziót adja meg.,

inet_protocols = ipv4

Ha megváltoztatja a Postfix levelezőszerver konfigurációs fájljait, újra kell töltenie a szolgáltatást:

$ systemctl reload postfix

bármilyen konfiguráció beírásakor hibát követhet el, a következő paranccsal ellenőrizheti a hibákat:

$ postfix check

Ez az eszköz segít megtalálni pontosan a sort és a hibát, így kijavíthatja.

A levelezési sor ellenőrzése

néha az e-mail sorok tele vannak üzenetekkel. Ez sok okból következik be, mint például a hálózati hiba vagy bármilyen ok, amely késleltetheti a postai kézbesítést.,

a Linux levelezőszerver levelezési sorának ellenőrzéséhez használja a következő parancsot:

$ mailq

Ez a parancs a Postfix levelezési sorát mutatja.

Ha a sor megtelt, az üzenet feldolgozása több órát vesz igénybe, akkor öblítse le a levelezési Sort.

$ postfix flush

most, ha ellenőrzi a levelezési Sort, üresnek kell lennie.

tesztelje a Linux levelezőszervert

a Postfix levelezőszerver helyes konfigurálása után tesztelje a levelezőszervert.,

az első lépés egy helyi e-mail felhasználói ügynök, például a mailx vagy a mail használata, amely egy symlink to mailx.

próbáljon levelet küldeni valaki másnak ugyanazon a kiszolgálón, ha ez működik, majd küldjön egy távoli webhelyre.

ezután próbáljon meg levelet kapni egy távoli webhelyről.

Ha bármilyen problémája van, ellenőrizze a naplókat. A Red Hat alapú disztrók naplófájlja a/var/log / maillog fájlban, valamint a Debian alapú disztrók a / var / log / mail fájlban.naplófájl vagy az rsyslogd konfigurációban meghatározottak szerint.,

azt javaslom, hogy tekintse át a Linux Syslog szerver részletes magyarázatot naplók, hogyan kell beállítani a rsyslogd.

Ha továbbra is problémái vannak, próbálja meg ellenőrizni a DNS-beállításokat, majd ellenőrizze az MX-rekordokat Linux hálózati parancsokkal.

biztonságos postafiókok a spam segítségével SpamAssassin

a spam elleni küzdelem egyik módja a postafiókok beolvasása valamilyen eszközzel, a spamhez kapcsolódó bizonyos minták keresése.

az egyik legjobb megoldás a SpamAssassin, amely nyílt forráskódú.,

így telepítheti:

$ dnf -y install spamassassin

Ezután indítsa el a szolgáltatást, majd indításkor engedélyezze:

$ systemctl start spamassassin$ systemctl enable spamassassin

miután telepítette, ellenőrizheti a konfigurációt

/etc/mail/spamassassin/local.cf

fájl.

a SpamAssassin meghatározza, hogy egy e-mail spam-e vagy sem a különböző szkriptek pontszámai alapján.

Ha az üzenetnek magasabb pontszáma van, ez azt jelenti, hogy nagyobb a lehetősége annak, hogy a levél spam legyen.,

a konfigurációs fájlban a required_hits 5 paraméter azt jelzi, hogy a SpamAssassin egy e-mailt spamként jelöl, ha a pontszám öt vagy annál magasabb.

a report_safe opció a 0, 1 vagy 2 értékeket veszi fel. Ha 0-ra van állítva, akkor azt jelenti, hogy a spamként megjelölt e-maileket úgy küldi el, ahogy van, csak a fejléceket módosítja, hogy megmutassa, hogy spam.

Ha 1 vagy 2 értéket vesz fel, a SpamAssassin új jelentésüzenetet generál, majd elküldi az üzenetet a címzettnek.,

az 1 érték azt jelenti, hogy a spam üzenet tartalomüzenetként van kódolva / rfc822, míg ha az érték 2, Ez azt jelenti, hogy az üzenet szöveges/egyszerű tartalomként van kódolva.

a szöveg/egyszerűség biztonságosabb, mivel egyes levelezőprogramok végrehajtják a message / rfc822 parancsot, és megfertőzhetik az ügyfél számítógépét.

most be kell integrálnunk a Postfixbe. Ennek legegyszerűbb módja valószínűleg a procmail használata.

létre kell hoznunk egy

/etc/procmailrc

nevű fájlt, majd hozzáadjuk a következő tartalmat:

:0 hbfw| /usr/bin/spamc

majd szerkesztjük a Postfix konfigurációs fájlt /etc/postfix/main.,cf and change

mailbox_command
mailbox_command = /usr/bin/procmail

végül indítsa újra a Postfix és a SpamAssassin szolgáltatásokat:

$ systemctl restart postfix$ systemctl restart spamassassin

azonban a SpamAssassin néha nem ismeri fel a spam üzeneteket, amelyek levélszemétekkel töltött postafiókhoz vezettek.

szerencsére szűrheti az üzeneteket, mielőtt belépnének a Postfix szerverbe a valós idejű Blackhole listák (RBLs) segítségével. Ez csökkenti a levelezőszerver terhelését, és tisztán tartja a levelezőszerverét.

nyissa meg a Postfix server /etc/postfix/main konfigurációs fájlját.,cf and change smtpd_recipient_restrictions option and add the following options like this:

ezután indítsa újra a postfix server:

$ systemctl restart postfix

a fenti RBLs a leggyakoribbak; további listákat találhat az interneten, és kipróbálhatja őket.

SMTP-kapcsolat biztosítása

jobb, ha az SMTP-forgalmat TLS-re továbbítja, hogy megvédje azt a középső embertől (MITM) támadás.

először létre kell hoznunk a tanúsítványt és a kulcsot az openssl paranccsal:

majd adjuk hozzá a következő opciót a Postfix konfigurációs fájl /etc/postfix/main.,cf:

végül indítsa újra a postfix szolgáltatást:

$ systemctl restart postfix

most ki kell választania a kliens TLS-jét, amikor csatlakozik a szerverhez.

figyelmeztetést kap, amikor a beállítás megváltoztatása után először küld e-mailt, mert a tanúsítvány nincs aláírva.

A Let ‘s Encrypt certificates

a Let’ s Encrypt egy ingyenes SSL tanúsítványszolgáltató, amely lehetővé teszi a forgalom titkosítását.

ahelyett, hogy önaláírt tanúsítványokat használna, amelyek bosszantják a felhasználókat abban, hogy megbíznak bennük, használhatja ezt a jó megoldást.,

először telepítse a letsencrypt:

$ yum install letsencrypt

vagy ha Debian alapú disztrót használ, akkor a következő parancsot használhatja:

$ apt-get install letsencrypt

ezután futtassa a letsencrypt-t:

$ letsencrypt certonly --standalone -d yourdomain.com

ki kell cserélni yourdomain.com a tényleges domain.

a kapcsolatfelvételi e-mailre, az e-mail szerver domainre, valamint a licencre vonatkozó kérdések megválaszolása után minden rendben van.,

a tanúsítványok a következőkben lesznek:

/etc/letsencrypt/live/yourdomain.com/

még egy utolsó dolog, amit meg kell tennie, ami a postfix ezeket a tanúsítványokat használja, a következő parancsokat használhatja:

ne felejtse el cserélni yourdomain.com a tényleges domain.

Végül indítsa újra a postfix szerver:

$ systemctl restart postfix

POP3, illetve IMAP protokoll alapismeretek

eddig láttuk, hogy az SMTP mail server küld kap e-maileket, problémák nélkül, de fontolja meg az alábbi helyzetekben:

  • a Felhasználóknak szükségük van a helyi másolatot az e-mail offline megtekintésre.,
  • az mbox fájlformátum nem támogatott. Az mbox formátumot számos levelező felhasználó használja, mint például a mailx vagy a mutt.
  • a felhasználók nem maradhatnak csatlakoztatva egy gyors hálózathoz, hogy megragadjanak egy helyi példányt offline olvasáshoz.
  • egyes levelezőszerverek biztonsági okokból nem biztosítanak hozzáférést a megosztott levéltárak könyvtáraihoz.

ezeknek az eseteknek a kezeléséhez használja a mail access protokollokat.

a leggyakoribb két népszerű levelezési hozzáférési protokoll a Post Office Protocol (POP) és az Internet Message Access Protocol (IMAP).,

a POP mögött rejlő ötlet nagyon egyszerű: egy központi Linux levelező szerver folyamatosan online marad, és e-maileket fogad és tárol minden felhasználó számára. Az összes fogadott e-mail sorban áll a kiszolgálón, amíg a felhasználó meg nem ragadja őket.

amikor egy felhasználó e-mailt szeretne küldeni, az e-mail kliens normál módon továbbítja azt a központi Linux levelezőszerveren keresztül SMTP-n keresztül.

vegye figyelembe, hogy az SMTP-kiszolgáló és a POP-kiszolgáló probléma nélkül ugyanazon a rendszeren lehet. A legtöbb szerver ezt ma teszi.

olyan funkciók, mint például a felhasználó e-mailjének mestermásolata a kiszolgálón, hiányoztak, ami az IMAP fejlesztéséhez vezetett.,

az IMAP használatával a Linux levelezőszerver három hozzáférési módot támogat:

  • az online mód hasonló a közvetlen fájlrendszer-hozzáféréshez a Linux levelezőszerverhez.
  • az offline mód hasonló a POP működéséhez, ahol az ügyfél le van választva a hálózatról, kivéve, ha megragad egy e-mailt. Ebben a módban a kiszolgáló általában nem őrzi meg az e-mail másolatát.
  • a leválasztott mód Úgy működik, hogy lehetővé teszi a felhasználók számára az e-mailek gyorsítótárazott másolatainak megőrzését, a szerver pedig megőrzi az e-mail másolatát.,

számos implementáció létezik az IMAP és a POP számára; a legnépszerűbb a Dovecot szerver, amely mindkét protokollt biztosítja.

A POP3, a POP3S, az IMAP és az IMAPS a 110-es, a 995-ös, a 143-as és a 993-as portokon hallgat.

telepítése Dovecot

a legtöbb Linux disztribúció jön Dovecot előre telepített., Azonban lehet telepíteni Dovecot a Red hat alapú disztribúciók, mint ez:

$ dnf -y install dovecot

Debian alapú disztribúciók nyújt az IMAP, illetve POP3 funkcionalitás két különálló csomagok telepítése, mint ez:

$ apt-get -y install dovecot-imapd dovecot-pop3d

Ez fogja kérni, hogy hozzon létre saját aláírású bizonyítványt használ, IMAP, illetve POP3-SSL/TLS. Válassza az Igen lehetőséget, majd adja meg a rendszer hostnevét, amikor a rendszer kéri.,

ezután futtathatja a szolgáltatást, és engedélyezheti azt indításkor:

$ systemctl start dovecot$ systemctl enable dovecot

Dovecot

a Dovecot fő konfigurációs fájlja

/etc/dovecot/dovecot.conf

fájl.

néhány Linux disztribúció a konfigurációt

/etc/dovecot/conf.d/

könyvtár alá helyezi, és az include directive segítségével tartalmazza a beállításokat a fájlokban.

a paraméterek alábbi listáját használhatja a Dovecot konfigurálásához:

protokollok: a támogatni kívánt protokollok.

protocols = imap pop3 lmtp

lmtp helyi levelezési protokollt jelent.,

hallgat: IP-címeket hallgatni.

listen = *, ::

a csillag minden ipv4 interfészt jelent, és :: minden ipv6 interfészt jelent

userdb: felhasználói adatbázis a felhasználók hitelesítéséhez.

userdb {driver = pam}

passdb: jelszó adatbázis a felhasználók hitelesítéséhez.

passdb {driver = passwd}

mail_location: this entry in /etc/dovecot/conf.d / 10-mail.conf fájl:

mail_location = mbox:~/mail:INBOX=/var/mail/%u

Secure Dovecot

a Dovecot általános SSL tanúsítványokkal és kulcsfájlokkal érkezik., Nézze meg ezt a fájlt:

/etc/dovecot/conf.d/10-ssl.conf
ssl_cert = </etc/pki/dovecot/certs/dovecot.pemssl_key = </etc/pki/dovecot/private/dovecot.pem

amikor egy felhasználó megpróbál csatlakozni a dovecot szerverhez, figyelmeztetést fog mutatni, mert a tanúsítványok nincsenek aláírva, akkor tanúsítványt vásárolhat egy tanúsítványkiadó hatóságtól, ha szeretné.

Vagy ha mondjuk Titkosítása bizonyítványok, akkor pont helyett:

ssl_cert = </etc/letsencrypt/live/yourdomain.com/fullchain.pemssl_key = </etc/letsencrypt/live/yourdomain.com/privkey.pem

Ne felejtsd el, hogy nyitott dovecot szerver port a iptables tűzfal hozzáadásával iptables szabályokat portok 110, 995, 143, 993, 25.

majd mentse el a szabályokat.,

vagy ha firewalld-t használ, akkor a következőket teheti:

és ismét a hibaelhárításhoz ellenőrizze a naplófájlokat /var/log/üzenetek, /var/log/maillog és /var/log/mail.naplófájlok.

A Linux mail server az egyik legegyszerűbb szerver, amellyel dolgozni lehet, különösen a Postfix mail server.

remélem, hasznosnak és érdekesnek találja a posztot. Gyere vissza.

köszönöm.

a LikeGeeks alapítója. 2010 óta dolgozom Linux rendszergazdaként., Én vagyok a felelős a Linux szerverek karbantartásáért, biztonságáért és hibaelhárításáért világszerte több ügyfél számára. Szeretek shell és Python szkripteket írni, hogy automatizáljam a munkámat.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük