Asentaa, Turvallinen Käyttää ja Konfiguroida Linux-Mail Server (Postfix)

posted in: Articles | 0

Jos haluat lähettää tai vastaanottaa sähköpostia, sinun pitäisi olla mail server. Tässä postitse, aiomme keskustella Linux-sähköpostipalvelimen ja miten SMTP (Simple Mail Transfer Protocol) toimii samoin kuin muu posti-liittyvät protokollat, kuten Post Office Protocol (POP) ja Internet Message Access Protocol (IMAP) – ja niiden välinen suhde.,

Sisällysluettelo

Linux SMTP-palvelin

SMTP määrittää, miten lähettää postia isännästä toiseen; se on myös riippumaton järjestelmä, joka tarkoittaa lähettäjän ja vastaanottajan voi olla eri käyttöjärjestelmiä.

SMTP edellyttää vain, että palvelin voi lähettää suoraa ASCII-tekstiä toiselle palvelimelle, voit tehdä tämän liittämällä palvelimeen portissa 25, joka on tavallinen SMTP-portti.

useimmissa Linux distroissa on nykyään kaksi SMTP: n yleisintä toteutusta, jotka ovat sendmail ja Postfix.,

Sendmail on kuuluisa ja ilmainen postipalvelin, mutta siinä on hieman monimutkainen muotoilu ja vähemmän turvallinen.

Postfix vei postipalvelimen toteutuksen askeleen pidemmälle; he kehittivät sen turvallisuussyistä.

Mail-palvelun komponenttien

mail service mail server on kolme osaa:

Mail user agent (MUA): tämä osa, jonka käyttäjä näkee ja vuorovaikutuksessa, kuten Thunderbird ja Microsoft Outlook, nämä user-agentit ovat vastuussa sähköpostin lukeminen ja jonka avulla voit säveltää sähköpostia.,

– sähköpostinvälitysohjelma (MTA): tämä komponentti on vastuussa siitä, että mail paikasta toiseen, kuten Sendmail ja Postfix.

postinjakeluagentti (MDA): tämä osa vastaa vastaanotettujen viestien jakamisesta paikallisella koneella asianmukaiseen käyttäjän postilaatikkoon, kuten postfix-maildrop ja Procmail.

Asetukset Sähköpostin palvelin

valitsimme Postfix sähköpostipalvelin, joka on erittäin suosittu ja yleinen järjestelmänvalvojat tänään.

Postfix on oletuspostipalvelin useimmissa moderneissa Linux distroissa.,

tarkista Ensin, jos se on asennettu järjestelmään vai ei:

$ rpm -qa | grep postfix

Jos ei ole asennettu, voit asentaa Postfix sähköpostipalvelin on Red Hat-pohjainen distrot, kuten tämä:

$ dnf -y install postfix

Sitten käynnistää postfix-palvelu ja ottaa se käyttöön järjestelmän käynnistyksen yhteydessä:

$ systemctl start postfix$ systemctl enable postfix

Debian-pohjaiset distrot, kuten Ubuntu, voit asentaa sen näin:

$ apt-get -y install postfix

Se pyytää sinua valitse tyyppi konfigurointi Postfix sähköpostipalvelin asennuksen aikana.,

Joukossa neljä vaihtoehtoa, Ei kokoonpano, Internet-sivusto, Internet smarthost, Satelliitti-järjestelmä, ja Paikalliset vain, me valita Ei kokoonpano vaihtoehto.

Määritä Linux sähköpostipalvelimen

Kun olet asentanut Postfix sähköpostipalvelin, sinun täytyy määrittää sen, voit löytää useimmat sen kokoonpano tiedostoja /etc/postfix/ hakemistoon.

Postfix-postipalvelimen pääasetukset löytyvät/etc/postfix / main.cf-tiedostosta.,

Tämä tiedosto sisältää paljon vaihtoehtoja, kuten:

omanpääkoneennimi

Voit käyttää tätä vaihtoehto pääkoneen nimi postin palvelimen. Tämä on Internet-palvelinnimi, joka Postfix saa siitä sähköposteja.

isäntänimiä voisi olla mail.example.com, smtp.example.com.

myhostname = mail.example.com

oma toimialue-ominaisuus

Tämä vaihtoehto on sähköposti domain, että sinun tulee olla huolto, kuten example.com

syntaksi on kuin tämä:

mydomain = example.com

myorigin

Kaikki sähköpostit lähetetään tästä postin palvelin näyttää ikään kuin se tuli tämän vaihtoehdon., Voit asettaa tämän $ mydomain arvo.

myorigin = $mydomain

Voit käyttää mitä tahansa vaihtoehtoa arvo, juuri ennen sen $ kuin $toimialue.

mydestination

tässä vaihtoehdossa luetellaan verkkotunnukset, joita Postfix-palvelin käyttää saapuviin sähköposteihin.

Se voi kestää arvoja, kuten tämä:

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

mail_spool_directory

On olemassa kaksi toimitustavat, että Postfix sähköpostipalvelin voi käyttää:

  • Suoraan käyttäjän postilaatikkoon.
  • keskitettyyn spool-hakemistoon, näin posti tulee/var/spool / Mailiin, jossa on tiedosto jokaiselle käyttäjälle.,
mail_spool_directory = /var/spool/mail

mynetworks

Tämän vaihtoehdon avulla voit määrittää, mitä palvelimet voivat releen kautta Postfix-palvelin.

tämän vaihtoehdon tulisi ottaa paikallisia osoitteita, kuten paikallisia mail skriptejä vain palvelimellasi.

muuten roskapostittajat voivat käyttää sähköpostipalvelinta viestiensä välittämiseen ja postipalvelimesi mustalle listalle, minkä seurauksena et voi vastaanottaa monia sähköposteja.,

Tämä vaihtoehto on seuraava syntaksi:

mynetworks = 127.0.0.0/8, 192.168.1.0/24

smtpd_banner

Tämä muuttuja määrittää viestin palvelin lähettää, kun asiakas sen jälkeen onnistuneen yhteyden.

on parempi vaihtaa banneri johonkin, joka ei anna mitään hajua käyttämästäsi palvelimesta.

inet_protocols

Tämä vaihtoehto määrittää palvelinyhteyksissä käytetyn IP-protokollaversion.,

inet_protocols = ipv4

Jos haluat muuttaa asetustiedostoja Postfix sähköpostipalvelin, sinun täytyy ladata palveluun:

$ systemctl reload postfix

Kun kirjoitat mitään asetuksia, voit tehdä virheen, voit tarkista virheet käyttämällä seuraavaa komentoa:

$ postfix check

Tämä työkalu auttaa sinua löytämään juuri line ja virhe, jotta voit korjata sen.

Postijonon tarkistaminen

joskus postijonot täyttyvät viesteistä. Tämä johtuu monista syistä, kuten verkkovika tai mikä tahansa syy, joka voi viivästyttää postinjakelua.,

Voit tarkistaa postin jonossa Linux-mail-palvelin, käytä seuraavaa komentoa:

$ mailq

Tämä komento näyttää Postfix mail jono.

jos jono täyttyy ja viestin käsittely kestää useita tunteja, kannattaa huuhdella postijono.

$ postfix flush

nyt, jos tarkistat postijonosi, se kannattaa löytää tyhjänä.

testaa Linux mail server

kun olet määrittänyt Postfix mail server-palvelimen oikein, testaa sähköpostipalvelimesi.,

ensimmäinen askel on käyttää paikallista mail user agent, kuten mailx tai sähköposti, joka on symbolinen linkki mailx.

yritä lähettää postia jollekin toiselle samalla palvelimella, jos tämä toimii, lähetä sitten etäsivustolle.

yritä sitten saada postia syrjäiseltä sivustolta.

Jos sinulla on ongelmia, tarkista lokit. Loki-tiedostoon Red Hat-pohjainen distrot /var/log/maillog tiedoston ja Debian-pohjainen distros /var/log/mail.lokitiedosto tai rsyslogd-määrityksessä määritelty.,

suosittelen tarkistamaan Linux Syslog-palvelimen yksityiskohtaista selitystä lokeista ja rsyslogdin konfiguroinnista.

Jos sinulla on edelleen ongelmia, yritä tarkistaa DNS-asetukset ja tarkistaa MX-tietueet käyttämällä Linux-verkon komentoja.

Turvallinen postilaatikoihin roskapostia käyttämällä SpamAssassin

Yksi tapa taistella roskapostia, on tarkistaa postilaatikoita joitakin työkalu, etsivät tiettyjä malleja, jotka liittyvät roskapostin.

yksi parhaista ratkaisuista on avoimen lähdekoodin SpamAssassin.,

Voit asentaa sen näin:

$ dnf -y install spamassassin

Sitten aloittaa palvelun ja ottaa sen käyttöön käynnistyksen yhteydessä:

$ systemctl start spamassassin$ systemctl enable spamassassin

Kun olet asennettu se, voit tarkistaa kokoonpano

/etc/mail/spamassassin/local.cf

tiedoston.

SpamAssassin määrittää, onko sähköposti roskapostia vai ei eri skriptien tulosten perusteella.

Jos viestillä on korkeampi pistemäärä, se tarkoittaa suurempaa mahdollisuutta, että Posti on roskapostia.,

asetustiedostossa parametri required_hits 5 osoittaa, että SpamAssassin merkitsee sähköpostin roskapostiksi, jos sen pistemäärä on viisi tai suurempi.

report_safe-vaihtoehto ottaa arvot 0, 1 tai 2. Jos asetus on 0, se tarkoittaa roskapostiksi merkittyä sähköpostia lähetetään sellaisenaan, vain muokkaamalla otsikoita osoittamaan, että se on roskapostia.

Jos se vie arvon 1 tai 2, SpamAssassin luo uusi raportti, viesti, ja se lähettää viestin vastaanottajalle.,

arvo 1 tarkoittaa roskapostia viesti on koodattu kuten content message/rfc822, kun taas jos arvo on 2, se tarkoittaa, että viesti on koodattu kuten text/plain sisältöä.

teksti/plain on turvallisempi, koska jotkut sähköpostiohjelmat toteuttavat message / rfc822: n ja voivat tartuttaa asiakastietokoneen.

nyt se pitää integroida Postfixiin. Yksinkertaisin tapa tehdä tämä on luultavasti käyttämällä procmail.

– Meidän pitää luoda tiedosto nimeltä

/etc/procmailrc

ja lisää seuraava sisältö:

:0 hbfw| /usr/bin/spamc

Sitten me muokata Postfix kokoonpano tiedosto /etc/postfix/main.,cf ja muuttaa

mailbox_command
mailbox_command = /usr/bin/procmail

Lopuksi, käynnistä Postfix ja SpamAssassin palvelut:

$ systemctl restart postfix$ systemctl restart spamassassin

Kuitenkin, SpamAssassin joskus ei tunnista roskapostia viestejä, jotka johtivat postilaatikot täynnä roskapostia viestejä.

Onneksi, voit suodattaa viestejä ennen kuin ne tulevat Postfix-palvelin käyttää Realtime Blackhole List (Syötöstä). Tämä vähentää postipalvelimen kuormitusta ja pitää postipalvelimen puhtaana.

avaa Postfix-palvelimen/etc/postfix / main asetustiedosto.,cf ja muuttaa smtpd_recipient_restrictions vaihtoehto ja lisää seuraavia vaihtoehtoja, kuten tämä:

käynnistä postfix-palvelin:

$ systemctl restart postfix

edellä Syötöstä ovat yleisimpiä; voit löytää lisää luetteloita webissä ja kokeilla niitä.

SMTP-yhteyden varmistaminen

on parempi siirtää SMTP-liikenne TLS: n yli suojaamaan sitä mieheltä keskimmäisessä (MITM) hyökkäyksessä.

ensin on luotava varmenne ja avain openssl-komennolla:

Lisää seuraava vaihtoehto Postfix-asetustiedostoon/etc/postfix / main.,vrt:

Lopuksi, käynnistä postfix-palvelu:

$ systemctl restart postfix

Nyt, sinun täytyy valita TLS asiakkaan, kun yhteyden palvelimeen.

saat varoituksen, kun lähetät postia ensimmäinen kerta, kun olet muuttanut asetusta, koska todistus ei ole allekirjoitettu.

Käyttämällä yritetään Salata todistukset

– Anna on Salaa on ilmainen SSL-varmenteen tarjoajan, jonka avulla voit salata liikennettä.

sen sijaan, että käyttäisit itse allekirjoitettuja varmenteita, jotka ärsyttävät käyttäjiäsi luottamuksesta, voit käyttää tätä hyvää ratkaisua.,

Ensimmäinen, asentaa letsencrypt:

$ yum install letsencrypt

Tai jos käytät Debian-pohjainen distro, voit käyttää seuraavaa komentoa:

$ apt-get install letsencrypt

suorita letsencrypt, kuten tämä:

$ letsencrypt certonly --standalone -d yourdomain.com

Sinun pitäisi korvata yourdomain.com sinun todellinen verkkotunnuksen.

kun olet vastannut kysyttyihin kysymyksiin yhteystietosähköpostista, sähköpostipalvelimen verkkotunnuksesta ja lisenssistä, kaiken pitäisi olla nyt OK.,

todistusten tulee olla:

/etc/letsencrypt/live/yourdomain.com/

viimeinen asia, sinun täytyy tehdä, mikä tekee postfix käyttää niitä todistuksia, voit käyttää seuraavia komentoja:

Älä unohda korvata yourdomain.com sinun todellinen verkkotunnuksen.

Lopuksi, käynnistä postfix-palvelin:

$ systemctl restart postfix

POP3-ja IMAP-protokollan perusteet

tähän mennessä olemme nähneet, miten SMTP-sähköpostipalvelin lähettää ja vastaanottaa sähköposteja ilman ongelmia, mutta harkita seuraavissa tilanteissa:

  • Käyttäjät tarvitsevat paikallisia kopioita sähköposti offline-katselua.,
  • mbox tiedostomuotoa ei tueta. MBOX-muotoa käyttävät monet postin käyttäjät kuten mailx ja mutt.
  • käyttäjät eivät voi pysyä kytkettynä nopeaan verkkoon tarttuakseen paikalliseen kopioon lukeakseen offline-tilassa.
  • jotkut postipalvelimet eivät turvallisuussyistä anna pääsyä jaettuihin postilokerohakemistoihin.

näiden tapausten hoitamiseen kannattaa käyttää postin käyttöprotokollia.

yleisin kaksi suosittua mail access protocols ovat Post Office Protocol (POP) ja Internet Message Access Protocol (IMAP).,

ajatuksena POP on hyvin yksinkertainen: keski-Linux sähköpostipalvelimen pysyy verkossa koko ajan, ja vastaanottaa ja tallentaa sähköposteja kaikille käyttäjille. Kaikki vastaanotetut sähköpostit jonotetaan palvelimella, kunnes käyttäjä nappaa ne.

kun käyttäjä haluaa lähettää sähköpostin, sähköpostiohjelma välittää sen keskitetyn Linux-sähköpostipalvelimen kautta SMTP: n kautta normaalisti.

huomaa, että SMTP-palvelin ja POP-palvelin voivat olla samassa järjestelmässä ongelmitta. Useimmat palvelimet tekevät tämän tänään.

ominaisuudet, kuten pääkappaleen pitäminen käyttäjän sähköpostista palvelimella, puuttuivat, mikä johti IMAPin kehittämiseen.,

käyttämällä IMAP -, Linux-mail server tukee kolme tilaa saatavuus:

  • online-tila on samanlainen, jolla on suora tiedostojärjestelmän pääsy Linux-sähköpostipalvelimen.
  • offline-tila on samanlainen kuin POP toimii, jossa asiakas on irrotettu verkosta, paitsi sähköpostiin tarttuessa. Tässä tilassa palvelin ei normaalisti säilytä kopio sähköpostista.
  • irrotettu tila toimii siten, että käyttäjät voivat säilyttää välimuistissa olevia kopioita sähköposteistaan, ja palvelin säilyttää kopion sähköpostista.,

imapille ja popille on useita toteutuksia; suosituin on Dovecot-palvelin, joka tarjoaa molemmat protokollat.

POP3, POP3S, IMAP-ja IMAPS portteja 110 ja 995, 143 ja 993 vastaavasti.

asentaminen Dovecot

useimmat Linux distrot tulevat Dovecot esiasennettuna., Kuitenkin, voit asentaa Eclipse Red Hat-pohjainen distrot, kuten tämä:

$ dnf -y install dovecot

Debian-pohjainen distros antaa IMAP-ja POP3-toimintoja on kaksi erillistä pakettia, voit asentaa ne, kuten tämä:

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

Se pyytää sinua luoda itse allekirjoitettuja varmenteita käyttäen IMAP-ja POP3 over SSL/TLS. Valitse Kyllä ja kirjoita järjestelmäsi palvelinnimi pyydettäessä.,

Sitten voit suorittaa palvelua ja mahdollistaa käynnistyksen, kuten tämä:

$ systemctl start dovecot$ systemctl enable dovecot

Määritä Eclipse

tärkein asetustiedosto Dovecot on

/etc/dovecot/dovecot.conf

tiedoston.

Jotkut Linux-distrot laittaa kokoonpano alla

/etc/dovecot/conf.d/

– hakemistoon ja käyttää include-direktiivi sisältää asetukset tiedostoja.

Voit käyttää seuraavia parametreja määrittää Dovecot:

pöytäkirjat: pöytäkirjat haluat tukea.

protocols = imap pop3 lmtp

lmtp tarkoittaa paikallista mail transfer protocol.,

kuuntele: IP-osoitteet kuunnella.

listen = *, ::

tähti tarkoittaa, että kaikki ipv4-rajapinnat ja :: tarkoittaa kaikkia ipv6-liittymät

userdb: käyttäjä tietokanta, jolla todennetaan käyttäjiä.

userdb {driver = pam}

passdb: salasana tietokanta, jolla todennetaan käyttäjiä.

passdb {driver = passwd}

mail_location: tämä merkintä /etc/dovecot/conf.d / 10-mail.conf-tiedostoon:

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

Turvallinen Eclipse

Eclipse tulee generic SSL-varmenteita ja avain-tiedostot., Katso tämä tiedosto:

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

Kun käyttäjä yrittää muodostaa yhteyden doc-linux-palvelin, se näyttää varoituksen, koska todistukset eivät ole allekirjoitettu, voit ostaa todistus todistus viranomaiselle, jos haluat.

Tai jos et mene mennään Salaa todistuksia, voit osoittaa heille sen sijaan:

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

Älä unohda avata doc-linux server-porttien iptables palomuuri lisäämällä iptables säännöt portit 110, 995, 143, 993, 25.

sitten Tallenna säännöt.,

Tai jos käytät firewalld, voit tehdä seuraavaa:

Ja taas, vianmääritys, tarkista lokitiedostot /var/log/viestejä /var/log/maillog, ja /var/log/mail.lokitiedosto.

Linux mail server on yksi helpoimmista palvelimista, jonka kanssa työskennellä, erityisesti Postfix mail server.

toivon, että postaus on hyödyllinen ja mielenkiintoinen. Tule takaisin.

Kiitos.

Perustaja LikeGeeks. Olen työskennellyt Linux-järjestelmänvalvojana vuodesta 2010., Olen vastuussa Linux-palvelimien ylläpidosta, varmistamisesta ja vianmäärityksestä useille asiakkaille ympäri maailmaa. Rakastan kirjoittaa shell ja Python skriptejä automatisoida työni.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *