Installere, Sikker Tilgang til og Konfigurere Linux-Post Server (Postfix)

posted in: Articles | 0

Hvis du ønsker å sende eller motta en e-post, bør du ha en e-post server. I dette innlegget vil vi diskutere Linux-post server og hvordan SMTP (Simple Mail Transfer Protocol) som fungerer så vel som andre e-post-relaterte protokoller, som POP (Post Office Protocol) og Internet Message Access Protocol (IMAP), og forholdet mellom dem.,

Innholdsfortegnelse

Linux SMTP-server

SMTP definerer hvordan å sende e-post fra en vert til en annen; det er også systemet uavhengige, noe som betyr at avsender og mottaker kan ha ulike operativsystemer.

SMTP krever bare at en server kan sende rett ASCII-tekst til en annen server, kan du gjøre dette ved å koble til serveren på port 25, som er standard SMTP-port.

de Fleste Linux-distribusjoner i dag kommer med to av de mest vanlige implementasjoner av SMTP, som er sendmail og Postfix.,

Sendmail er en berømt og gratis e-post-server, men den har en litt kompleks design og mindre sikker.

Postfix tok mail server implementering ett skritt videre; de utviklet det med sikkerhet i tankene.

E-service-komponenter

e-service på alle mail server har tre komponenter:

e-Post user agent (HANS): denne komponenten som brukeren ser og samhandler med som Thunderbird og Microsoft Outlook, disse bruker agenter er ansvarlig for å lese e-post, slik at du kan skrive e-post.,

Mail transport agent (MTA): denne komponenten er ansvarlig for å få e-post fra ett sted til et annet som Sendmail og Postfix.

e-Post-delivery agent (MDA): denne komponenten er ansvarlig for distribusjon mottatte meldinger på den lokale maskinen til den aktuelle brukerens postkasse som postfix-maildrop og Procmail.

Oppsett av E-postserver

Vi valgte Postfix postserveren, som er svært populært og vanlig blant systemansvarlige i dag.

Postfix er standard e-server på de fleste moderne Linux-distroer.,

Først, og sjekk om det er installert på systemet eller ikke:

$ rpm -qa | grep postfix

Hvis det ikke er installert, kan du installere Postfix postserveren på Red Hat basert distroer som dette:

$ dnf -y install postfix

Deretter starte postfix service og aktivere den på system oppstart:

$ systemctl start postfix$ systemctl enable postfix

På Debian-baserte distribusjoner som Ubuntu, kan du installere det som dette:

$ apt-get -y install postfix

Det vil be deg om å velge hvilken konfigurering av Postfix postserveren under installasjonen.,

Blant de fire valgene Ingen konfigurasjon, Internett-side, Internett med smarthost, Satellitt-system, og bare Lokalt, vil vi velge Ingen innstilling.

Konfigurere Linux-post server

Etter at du har installert Postfix postserveren, må du konfigurere det, du kan finne det meste av sin konfigurasjon filer under /etc/postfix/ katalog.

Du kan finne de viktigste konfigurasjonen for Postfix postserveren i /etc/postfix/main.cf-fil.,

Denne filen inneholder en rekke alternativer som:

myhostname

Du kan bruke dette alternativet for å angi vertsnavnet på e-postserveren. Dette er Internett-vertsnavn, som Postfix vil motta e-post på den.

vertsnavn kan være som mail.example.com, smtp.example.com.

myhostname = mail.example.com

mittdomene

Dette alternativet er post-domenet som du vil være service, som example.com

syntaksen er slik:

mydomain = example.com

myorigin

Alle e-poster sendt fra denne e-postserveren vil se ut som om det kom fra dette alternativet., Du kan sette denne til $mittdomene verdi.

myorigin = $mydomain

Du kan bruke en alternativ verdi, bare skriv en $ som $mittdomene.

mydestination

Dette alternativet viser de domenene som den Postfix-serveren for innkommende e-post.

Det kan ta verdier som dette:

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

mail_spool_directory

Det er to moduser for levering til at Postfix postserveren kan bruke:

  • Direkte til en brukers postboks.
  • Til en sentral utskriftskøkatalog, på denne måten, e-post vil være i /var/spool/mail med en fil for hver bruker.,
mail_spool_directory = /var/spool/mail

mynetworks

Dette valget gir deg muligheten til å konfigurere hvilke servere kan videresende gjennom Postfix postserveren.

Dette alternativet bør ta lokale adresser som lokal e-skript på din server.

Ellers, spammere kan benytte din e-post server for å formidle sine budskap og din e-post server svartelistet, og som et resultat, vil du ikke være i stand til å motta mange e-poster.,

Dette alternativet har følgende syntaks:

mynetworks = 127.0.0.0/8, 192.168.1.0/24

smtpd_banner

Denne variabelen angir meldingen serveren vil sende når klienten etter en vellykket tilkobling.

Det er bedre å endre banneret til noe som gir ingen anelse serveren du bruker.

inet_protocols

Dette alternativet angir IP-protokoll versjon som brukes for server tilkoblinger.,

inet_protocols = ipv4

Hvis du vil endre konfigurasjonen filer for Postfix postserveren, du trenger å laste tjenesten:

$ systemctl reload postfix

Når du skriver inn noen konfigurasjon, kan du gjør en feil, kan du kontrollere om det er feil å bruke følgende kommando:

$ postfix check

Dette verktøyet vil hjelpe deg med å finne akkurat den linja, og feilen, slik at du kan fikse det.

å Sjekke e-post kø

noen Ganger post køer er fylt opp med meldinger. Dette skjer på grunn av mange grunner, som nettverk svikt eller annen grunn som kan utsette levering av e-post.,

for Å sjekke e-post kø på Linux-post server, kan du bruke følgende kommando:

$ mailq

Denne kommandoen viser Postfix post køen.

Hvis køen er fylt opp, og meldingen tar flere timer for å behandle, bør du skylle post køen.

$ postfix flush

Nå, hvis du sjekker e-post kø, bør du finne det tomt.

Teste Linux-post server

Etter konfigurering av Postfix postserveren på riktig måte, bør du teste din e-post server.,

Det første trinnet er å bruke en lokal e-user agent som mailx eller e-post, som er en symlink til mailx.

Prøv å sende en e-post til noen andre på den samme serveren, hvis dette fungerer, så send til en ekstern side.

prøv Deretter å motta en e-post fra en ekstern side.

Hvis du har noen problemer, kan du se loggene. Loggfilen på Red Hat basert distroer i /var/log/maillog-fil og på Debian-basert distroer i /var/log/e-post.logg-fil eller som definert i rsyslogd konfigurasjon.,

jeg anbefaler deg til å lese Linux Syslog Server for en detaljert forklaring om loggene og hvordan du konfigurerer rsyslogd.

Hvis du fortsatt har problemer, kan du prøve å kontrollere DNS-innstillingene dine og sjekk din MX-poster ved hjelp av Linux-nettverk-kommandoer.

Sikkert postbokser fra spam ved hjelp av SpamAssassin

En av måtene å bekjempe spam er å skann postbokser ved noen verktøy for å søke etter bestemte mønstre forbundet med spam.

En av de beste løsningene er SpamAssassin, som er åpen kildekode.,

Du kan installere det som dette:

$ dnf -y install spamassassin

Deretter starte tjenesten, og aktiver det ved oppstart:

$ systemctl start spamassassin$ systemctl enable spamassassin

Når du har installert det, kan du kontrollere konfigurasjonen i

/etc/mail/spamassassin/local.cf

– filen.

SpamAssassin fastslår om en melding er spam eller ikke basert på resultatet av de ulike skript score.

Hvis meldingen har en høyere score, som betyr en høyere mulighet for e-post som spam.,

I konfigurasjonsfilen, parameteren required_hits 5 indikerer at SpamAssassin vil merke en e-post som spam hvis poengsummen er fem eller høyere.

report_safe alternativet tar verdiene 0, 1, eller 2. Hvis verdien angis til 0, betyr det at e-post som er merket som spam blir sendt som det er, bare å endre overskrifter for å vise at det er spam.

Hvis det tar verdien 1 eller 2, SpamAssassin genererer en ny rapport meldingen, og sender meldingen til mottakeren.,

verdien 1 betyr spam-meldingen er kodet innhold som melding/rfc822, mens hvis verdien er 2, betyr det at meldingen er kodet som text/plain innhold.

text/plain er sikrere siden noen e-postklienter som utfører melding/rfc822 og kan infisere klientdatamaskinen.

Nå trenger vi å integrere det i Postfix. Den enkleste måten å gjøre dette på, er sannsynligvis av procmail.

Vi er nødt til å opprette en fil som heter

/etc/procmailrc

, og legg til følgende innhold:

:0 hbfw| /usr/bin/spamc

Så vi redigere Postfix konfigurasjonsfilen /etc/postfix/main.,cf og endre

mailbox_command
mailbox_command = /usr/bin/procmail

til Slutt, starter Postfix og SpamAssassin tjenester:

$ systemctl restart postfix$ systemctl restart spamassassin

Imidlertid SpamAssassin noen ganger ikke kjenner spam-meldinger som førte til postkasser som er fylt med spam-meldinger.

Heldigvis, du kan filtrere meldinger før de kommer inn i Postfix server med Realtime Blackhole Lister (RBLs). Som vil redusere belastningen på din e-post server og holde dine mail server ren.

Åpne konfigurasjonsfilen i en Postfix postserveren /etc/postfix/main.,cf og endre smtpd_recipient_restrictions alternativ, og legg til følgende alternativer som dette:

Deretter starter du postfix server:

$ systemctl restart postfix

De ovennevnte RBLs er den vanligste, og du kan finne flere lister på nettet og prøve dem.

Sikre SMTP-tilkobling

Det er bedre å overføre din SMTP-trafikk over TLS for å beskytte det fra Mannen I Midten (MITM) angrep.

for det Første, vi trenger å generere sertifikatet og nøkkelen ved hjelp av openssl-kommandoen:

legg Deretter til følgende alternativ til Postfix konfigurasjonsfilen /etc/postfix/main.,jf:

til Slutt, starter du postfix service:

$ systemctl restart postfix

Nå, du har å velge TLS på klienten når du kobler til serveren.

vil Du motta en advarsel når du sender en e-post første gang etter at du har endret innstillingen fordi sertifikatet er ikke signert.

Bruke La oss Kryptere sertifikater

La oss Kryptere er en gratis SSL-sertifikat leverandør som gir deg muligheten til å kryptere trafikken.

i Stedet for å bruke selv-signerte sertifikater som irriterer brukerne om å stole på dem, kan du bruke dette god løsning.,

Først installere letsencrypt:

$ yum install letsencrypt

Eller, hvis du bruker Debian-basert distro, kan du bruke følgende kommando:

$ apt-get install letsencrypt

Deretter kjøre letsencrypt som dette:

$ letsencrypt certonly --standalone -d yourdomain.com

Du bør erstatte yourdomain.com med ditt virkelige domene.

Etter å ha bedt om å svare på spørsmål om kontakt via e-post, e-post server-domene, og lisensen, alt skal være OK nå.,

sertifikater vil være:

/etc/letsencrypt/live/yourdomain.com/

En siste ting du har å gjøre, noe som gjør postfix bruke disse sertifikatene, kan du bruke følgende kommandoer:

ikke glem å erstatte yourdomain.com med ditt virkelige domene.

til Slutt, starter du postfix server:

$ systemctl restart postfix

POP3-og IMAP-protokollen grunnleggende

Så langt vi har sett hvordan SMTP-e-postserveren som sender og mottar e-post uten problemer, men tenk over følgende situasjoner:

  • Brukere trenger lokale kopier av e-post for visning i frakoblet modus.,
  • mbox-format støttes ikke. Mbox format som brukes av mange mail bruker agenter som mailx og mutt.
  • Brukere kan ikke forbli tilkoblet til et raskt nettverk til å ta en lokal kopi for å lese den i frakoblet modus.
  • Noen e-postservere ikke gi tilgang til delt e-post spool kataloger for sikkerhetsmessige årsaker.

for Å håndtere disse tilfellene, bør du bruke e-post-tilgang protokoller.

Den vanligste to populære mail-tilgang protokoller er POP (Post Office Protocol) og Internet Message Access Protocol (IMAP).,

ideen bak POP er svært enkel: En sentral Linux mail server er fortsatt online hele tiden, og mottar og lagrer e-post for alle brukere. Alle mottatte e-poster i kø på serveren til brukeren griper dem.

Når en bruker ønsker å sende en e-post, e-post-klienten formidler det gjennom den sentrale Linux-post via SMTP-serveren som normalt.

Merk at SMTP-serveren og POP-serveren kan være på samme system uten noen problem. De fleste servere som gjør dette i dag.

Funksjoner som å holde en master kopi av en brukers e-post på serveren var borte, noe som førte til utviklingen av IMAP.,

Ved hjelp av IMAP -, Linux-post server støtter tre moduser av tilgang:

  • online-modus er lignende til å ha direkte filsystem tilgang til Linux-post server.
  • frakoblet modus ligner på hvordan POP fungerer, hvor klienten er koblet fra nettverket, bortsett fra når fanget en e-post. I denne modusen server normalt ikke beholde en kopi av e-posten.
  • frakoblet modus fungerer ved å tillate brukere å holde mellomlagrede kopier av sine e-poster og server beholder en kopi av e-posten.,

Det er flere implementeringer for IMAP og POP, den mest populære er Dovecot-server, som gir begge protokollene.

POP3, POP3S -, IMAP-og IMAPS lytter til port 110, 995, 143, og 993 henholdsvis.

Installering av Dovecot

de Fleste Linux-distribusjoner kommer med Dovecot forhåndsinstallert., Du kan imidlertid installere Dovecot i Red Hat basert distroer som dette:

$ dnf -y install dovecot

Debian-basert distroer gi IMAP og POP3-funksjonalitet i to separate pakker, kan du installere dem som dette:

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

Det vil be deg om å lage selv-signerte sertifikater for å bruke IMAP og POP3 over SSL/TLS. Velg ja, og skriv inn vertsnavnet for systemet når du blir bedt om det.,

Deretter kan du kjøre den service og aktiver det ved oppstart som dette:

$ systemctl start dovecot$ systemctl enable dovecot

Konfigurer Dovecot

De viktigste konfigurasjonsfilen for Dovecot er

/etc/dovecot/dovecot.conf

– filen.

Noen Linux-distroer sette konfigurasjonen under

/etc/dovecot/conf.d/

– katalogen, og bruke inkluderer direktivet til å omfatte innstillingene i filene.

Du kan bruke følgende liste over parametere for å konfigurere Dovecot:

protokoller: protokollene som du ønsker å støtte.

protocols = imap pop3 lmtp

lmtp betyr lokale mail transfer protocol.,

lytt: IP-adresser for å lytte på.

listen = *, ::

stjerne betyr at alle ipv4-grensesnitt og :: betyr alle ipv6-grensesnitt

userdb: brukeren database for godkjenning av brukere.

userdb {driver = pam}

passdb: passord database for godkjenning av brukere.

passdb {driver = passwd}

mail_location: denne oppføring i /etc/dovecot/conf.d/10-e-post.conf-fil:

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

Sikkert Dovecot

Dovecot kommer med generiske SSL-sertifikater og viktige filer., Se på denne filen:

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

Når en bruker prøver å koble til dovecot-server, vil den vise en advarsel fordi de sertifikater som ikke er signert, kan du kjøpe et sertifikat fra en sertifiseringsinstans hvis du vil.

Eller hvis du går med La oss Kryptere sertifikater, kan du peker på dem i stedet:

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

ikke glem å åpne dovecot server-porter i iptables-brannmur ved å legge til iptables regler for porter 110, 995, 143, 993, 25.

Deretter lagre regler.,

Eller, hvis du bruker firewalld, kan du gjøre følgende:

Og igjen, for feilsøking, kan du sjekke loggen filer /var/log/messages, /var/log/maillog, og /var/log/e-post.loggfil.

Linux mail server er en av de enkleste servere å jobbe med, spesielt Postfix postserveren.

jeg håper du finner innlegget som nyttig og interessant. Kommer tilbake.

Takk skal du ha.

Grunnlegger av LikeGeeks. Jeg jobber som et Linux-system administrator siden 2010., Jeg er ansvarlig for å vedlikeholde, sikre, og feilsøking av Linux-servere for flere kunder over hele verden. Jeg elsker å skrive skall og Python-skript for å automatisere arbeidet mitt.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *