Hvis du vil sende eller modtage en e-mail, skal du have en mailserver. I dette indlæg vil vi diskutere Linu.-mailserveren og hvordan SMTP (Simple Mail Transfer Protocol) fungerer såvel som andre mail-relaterede protokoller, som Post Office Protocol (POP) og Internet Message Access Protocol (IMAP) og forholdet mellem dem.,
Indholdsfortegnelse
Linu.SMTP-server
SMTP definerer, hvordan man sender mail fra en vært til en anden; det er også systemuafhængigt, hvilket betyder, at afsenderen og modtageren kan have forskellige operativsystemer.
SMTP kræver kun, at en server kan sende lige ASCII-tekst til en anden server, kan du gøre dette ved at oprette forbindelse til serveren på port 25, som er standard SMTP-port.de fleste Linu. – distributioner kommer i dag med to af de mest almindelige implementeringer af SMTP, som er sendmail og Postfi..,sendmail er en berømt og gratis mailserver, men den har et lidt komplekst design og mindre sikkert.
Postfi .et tog mailserverimplementering et skridt videre; de udviklede det med sikkerhed for øje.
Mail service komponenter
e-mail-tjenesten på nogen mail server har tre komponenter:
e-Mail-brugeragent (MUA): denne komponent, som brugeren ser og interagerer med som Thunderbird og Microsoft Outlook, bruger disse agenter er ansvarlige for at læse e-mail, og giver dig mulighed for at komponere mail.,
e-Mail transport agent (MTA): denne komponent er ansvarlig for at få e-mail fra ét websted til et andet som Sendmail og Postfix.
Mail delivery agent (MDA): denne komponent er ansvarlig for at distribuere modtagne meddelelser på den lokale maskine til den relevante brugerpostkasse som postfi.-maildrop og Procmail.
opsætning af E-Mail-server
Vi valgte Postfi. – mailserveren, som er meget populær og almindelig blandt systemadministratorer i dag.
Postfi.er standard mailserveren på de fleste moderne Linu. – distros.,
kontroller Først, hvis det er installeret på dit system eller ej:
$ rpm -qa | grep postfix
Hvis det ikke er installeret, kan du installere Postfix mail-server på Red Hat baserede distributioner som dette:
$ dnf -y install postfix
Så start postfix-tjenesten og aktivere det på opstart af systemet:
$ systemctl start postfix$ systemctl enable postfix
På Debian baserede distributioner så som Ubuntu, kan du installere det på denne måde:
$ apt-get -y install postfix
Det vil bede dig om at vælge typen af konfiguration af Postfix-mail-server under installationen.,
blandt de fire valg Ingen konfiguration, internetside, Internet med smarthost, satellitsystem og kun lokalt vælger vi ingen konfigurationsindstilling.
Konfigurer Linu. – mailserver
Når du har installeret Postfi. – mailserveren, skal du konfigurere den; du kan finde de fleste af dens konfigurationsfiler under mappen/etc/ postfi./.
Du kan finde den vigtigste konfiguration for Postfi.mailserver i/etc/postfi. / main. CF fil.,
denne fil indeholder en masse muligheder som:
myhostname
Du kan bruge denne indstilling til at angive værtsnavnet på mailserveren. Dette er internettet værtsnavn, som Postfi.vil modtage e-mails på det.
værtsnavne kunne være som mail.example.com, smtp.example.com.
myhostname = mail.example.com
mitdomæne
Denne mulighed, som mail domæne, som du vil være servicering, som example.com
syntaks er som dette:
mydomain = example.com
myorigin
Alle emails sendt fra denne mail server vil se ud, som om det kom fra denne mulighed., Du kan indstille dette til $mydomain value.
myorigin = $mydomain
Du kan bruge en hvilken som helst indstillingsværdi, bare forud for den med en $ som $mydomain.
mydestination
denne indstilling viser de domæner, som Postfi. – serveren bruger til indgående e-mails.
Det kan tage værdier som dette:
mydestination = $myhostname, localhost.$mydomain, $mydomain, mail.$mydomain, www.$mydomain
mail_spool_directory
Der er to former for levering, at Postfix mail-server kan bruge:
- Direkte til en brugers postkasse.
- til en central spool directory, på denne måde vil mailen være i /var/spool/mail med en fil for hver bruger.,
mail_spool_directory = /var/spool/mail
Mynet .orks
denne indstilling giver dig mulighed for at konfigurere, hvilke servere der kan videresende via din Postfi. – server.
denne indstilling bør tage lokale adresser som lokale mail scripts på din server kun.
ellers kan spammere bruge din mailserver til at videresende deres meddelelser og din mailserver sortlistet, og som et resultat vil du ikke være i stand til at modtage mange e-mails.,
denne indstilling har følgende syntaks:
mynetworks = 127.0.0.0/8, 192.168.1.0/24
smtpd_banner
denne variabel indstiller meddelelsen serveren vil sende, når klienten efter en vellykket forbindelse.
det er bedre at ændre banneret til noget, der ikke giver nogen anelse om den server, du bruger.
inet_protocols
denne indstilling specificerer den IP-protokolversion, der bruges til serverforbindelser.,
inet_protocols = ipv4
Hvis du ændre konfigurationsfiler for Postfix-mail-server, du har brug for at genindlæse service:
$ systemctl reload postfix
Når du skriver konfiguration, kan du lave en fejl, kan du tjekke for fejl ved hjælp af følgende kommando:
$ postfix check
Dette værktøj vil hjælpe dig med at finde præcis den linje, og den fejl, så du kan ordne det.
kontrol af mailkøen
Nogle gange er mailkøerne fyldt op med meddelelser. Dette sker på grund af mange grunde, som netværksfejl eller en eller anden grund, der kan forsinke postlevering.,
for at kontrollere mailkøen på din Linu. – mailserver skal du bruge følgende kommando:
$ mailq
denne kommando viser Postfi. – mailkøen.
Hvis din kø er fyldt op, og meddelelsen tager flere timer at behandle, skal du skylle mailkøen.
$ postfix flush
nu, hvis du tjekker din mailkø, skal du finde den tom.
Test Linu. – mailserver
Når Postfi. – mailserveren er konfigureret korrekt, skal du teste din mailserver.,
det første trin er at bruge en lokal mailbrugeragent som mail or eller mail, som er et symlink til mail..
prøv at sende en mail til en anden på den samme server, hvis dette fungerer, og send derefter til et eksternt sted.
prøv derefter at modtage en mail fra et fjernt sted.
Hvis du har problemer, skal du kontrollere logfilerne. Logfilen på Red Hat – baserede distributioner i/var/log /maillog-filen og på Debian-baserede distributioner i/var/log / mail.logfil eller som defineret i rsyslogd konfiguration.,
Jeg anbefaler dig at gennemgå Linu.Syslog-serveren for en detaljeret forklaring om logfiler og hvordan du konfigurerer rsyslogd.
Hvis du stadig har problemer, kan du prøve at kontrollere dine DNS-indstillinger og kontrollere dine m. – poster ved hjælp af Linu. – netværkskommandoer.
sikre postkasser fra spam ved hjælp af SpamAssassin
en af måderne at bekæmpe spam på er at scanne postkasserne ved hjælp af et værktøj og søge efter bestemte mønstre, der er forbundet med spam.
en af de bedste løsninger er SpamAssassin, som er open source.,
Du kan installere det som dette:
$ dnf -y install spamassassin
Så starte tjenesten og aktivere det ved start:
$ systemctl start spamassassin$ systemctl enable spamassassin
Når du har installeret den, kan du kontrollere konfigurationen i
/etc/mail/spamassassin/local.cf
– fil.
SpamAssassin afgør, om en e-mail er spam eller ikke er baseret på resultatet af de forskellige scripts scoringer.
Hvis meddelelsen har en højere score, betyder det en højere mulighed for, at mailen er spam.,
i konfigurationsfilen angiver parameteren re indicatesuired_hits 5, at SpamAssassin markerer en e-mail som spam, hvis dens score er fem eller højere.
indstillingen report_safe tager værdierne 0, 1 eller 2. Hvis den er indstillet til 0, betyder det, at e-mail, der er markeret som spam, sendes som den er, kun ændrer overskrifterne for at vise, at det er spam.
Hvis det tager værdien 1 eller 2, genererer SpamAssassin en ny rapportmeddelelse, og den sender beskeden til modtageren.,
værdien 1 betyder, at spammeddelelsen er kodet som indholdsmeddelelse/rfc822, mens hvis værdien er 2, betyder det, at meddelelsen er kodet som tekst / almindeligt indhold.
teksten/plain er sikrere, da nogle mailklienter udfører besked / rfc822 og kan inficere klientcomputeren.
nu skal vi integrere det i Postfi.. Den enkleste måde at gøre dette på er sandsynligvis ved at bruge procmail.
Vi bliver nødt til at oprette en fil, som hedder
/etc/procmailrc
og tilføj følgende indhold:
:0 hbfw| /usr/bin/spamc
Så kan vi redigere Postfix konfigurationsfilen /etc/postfix/main.,cf og ændre
mailbox_command
mailbox_command = /usr/bin/procmail
Endelig, genstarte Postfix og SpamAssassin-tjenester:
$ systemctl restart postfix$ systemctl restart spamassassin
Men SpamAssassin nogle gange ikke genkende spam-beskeder, der førte til, at postkasser er fyldt med spam-beskeder.heldigvis kan du filtrere meddelelser, før de går ind i Postfi. – serveren ved hjælp af Realtime Blackhole-lister (Rbls). Det vil mindske belastningen på din mailserver og holde din mailserver ren.
Åbn konfigurationsfilen til Postfi.server/etc/postfi. / main.,cf og ændre smtpd_recipient_restrictions indstilling og tilføje følgende muligheder som dette:
genstart din postfix-server:
$ systemctl restart postfix
ovenstående RBLs er almindelige, du kan finde flere lister på nettet og prøve dem.
sikring af SMTP-forbindelse
det er bedre at overføre din SMTP-trafik over TLS for at beskytte den mod mand i midten (MITM) angreb.
først skal vi generere certifikatet og nøglen ved hjælp af OpenSSL-kommandoen:
tilføj derefter følgende mulighed for Postfi. – konfigurationsfil/etc/postfi. / main.,cf:
endelig skal du genstarte din postfi. – tjeneste:
$ systemctl restart postfix
nu skal du vælge TLS på din klient, når du opretter forbindelse til serveren.
du vil modtage en advarsel, når du sender en mail Første gang efter ændring af indstillingen, fordi certifikatet ikke er underskrevet.
brug Lad os kryptere certifikater
lad os kryptere er en gratis SSL-certifikatudbyder, der giver dig mulighed for at kryptere din trafik.
i stedet for at bruge selvsignerede certifikater, der irriterer dine brugere om at stole på dem, kan du bruge denne gode løsning.,
Først skal du installere letsencrypt:
$ yum install letsencrypt
Eller hvis du bruger en Debian-baseret distribution, kan du bruge følgende kommando:
$ apt-get install letsencrypt
Så køre letsencrypt som dette:
$ letsencrypt certonly --standalone -d yourdomain.com
Du skal erstatte yourdomain.com med dit faktiske domæne.
efter at have besvaret De stillede spørgsmål om kontakt-e-mailen, e-mail-serverdomænet og licensen, skal alt være OK nu.,
certifikater vil være:
/etc/letsencrypt/live/yourdomain.com/
En sidste ting, du er nødt til at gøre, som gør, at postfix brug af disse certifikater, kan du bruge følgende kommandoer:
glem ikke at erstatte yourdomain.com med dit faktiske domæne.
Endelig, genstart din postfix-server:
$ systemctl restart postfix
POP3-og IMAP-protokollen grundlæggende
indtil videre har vi set, hvordan SMTP mail-server, der sender og modtager e-mails uden problemer, men overvej følgende situationer:
- Brugere har brug for en lokal kopi af e-mail til offline-visning.,
- MBO.filformat understøttes ikke. MBO. – formatet bruges af mange mailbrugeragenter som Mail and og mutt.
- brugere kan ikke holde forbindelsen til et hurtigt netværk for at få fat i en lokal kopi for at læse offline.
- nogle mailservere giver ikke adgang til de delte mail spool mapper af sikkerhedsmæssige årsager.
for at håndtere disse sager skal du bruge postadgangsprotokollerne.
de mest almindelige to populære postadgangsprotokoller er Post Office Protocol (POP) og Internet Message Access Protocol (IMAP).,
ideen bag POP er meget enkel: en central Linu. – mailserver forbliver online hele tiden og modtager og gemmer e-mails for alle brugere. Alle modtagne e-mails er i kø på serveren, indtil en bruger griber dem.
når en bruger ønsker at sende en e-mail, videresender e-mail-klienten den via den centrale Linu. – mailserver via SMTP normalt.
Bemærk, at SMTP-serveren og POP-serveren kan være på det samme system uden problemer. De fleste servere gør dette i dag.funktioner som at holde en masterkopi af en brugers e-mail på serveren manglede, hvilket førte til udviklingen af IMAP.,
Ved at bruge IMAP understøtter din Linu. – mailserver tre adgangstilstande:
- onlinetilstanden svarer til at have direkte filsystemadgang til Linu. – mailserveren.
- offline-tilstanden svarer til, hvordan POP fungerer, hvor klienten er afbrudt fra netværket, undtagen når du tager en e-mail. I denne tilstand beholder serveren normalt ikke en kopi af e-mailen.
- den frakoblede tilstand fungerer ved at give brugerne mulighed for at opbevare cachelagrede kopier af deres e-mails, og serveren bevarer en kopi af e-mailen.,
Der er flere implementeringer til IMAP og POP; den mest populære er Dovecot-serveren, der indeholder begge protokoller.
POP3, POP3S, IMAP og IMAPS lytter på henholdsvis 110, 995, 143 og 993 porte.
installation af dovecot
de fleste Linu. – distributioner leveres med Dovecot forudinstalleret., Du kan dog installere Dovecot i Red Hat-baserede distributioner som dette:
$ dnf -y install dovecot
Debian-baserede distributioner give IMAP-og POP3-funktionalitet i to separate pakker, kan du installere dem som dette:
$ apt-get -y install dovecot-imapd dovecot-pop3d
Det vil bede dig om at oprette selvsignerede certifikater til brug af IMAP-og POP3 over SSL/TLS. Vælg Ja, og indtast værtsnavnet til dit system, når du bliver bedt om det.,
Så kan du køre tjenesten og aktivere det ved opstart som dette:
$ systemctl start dovecot$ systemctl enable dovecot
Indstil Dovecot
Den vigtigste konfigurationsfilen for Dovecot er
/etc/dovecot/dovecot.conf
– fil.
nogle Linu. – distributioner sætter konfigurationen under
/etc/dovecot/conf.d/
mappe og bruger include-direktivet til at inkludere indstillingerne i filerne.
Du kan bruge følgende liste over parametrene til at konfigurere dovecot:
protokoller: de protokoller, du vil understøtte.
protocols = imap pop3 lmtp
lmtp betyder lokal postoverførselsprotokol.,
lyt: IP-adresser til at lytte på.
listen = *, ::
stjernen betyder alle ipv4-grænseflader og :: betyder alle ipv6-grænseflader
userdb: brugerdatabase til godkendelse af brugere.
userdb {driver = pam}
passdb: adgangskodedatabase til godkendelse af brugere.
passdb {driver = passwd}
mail_location: denne post i /etc/dovecot/conf.d / 10-mail.conf file:
mail_location = mbox:~/mail:INBOX=/var/mail/%u
sikker Dovecot
Dovecot leveres med generiske SSL-certifikater og nøglefiler., Kig på denne fil:
/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 bruger forsøger at oprette forbindelse til Dovecot-serveren, viser den en advarsel, fordi certifikaterne ikke er underskrevet, du kan købe et certifikat fra en certifikatmyndighed, hvis du vil.
Eller hvis du går med, Lad os Kryptere certifikater, du kan henvise til dem i stedet for:
ssl_cert = </etc/letsencrypt/live/yourdomain.com/fullchain.pemssl_key = </etc/letsencrypt/live/yourdomain.com/privkey.pem
glem ikke at åbne server dovecot porte i din iptables-firewall ved at tilføje iptables regler for havne 110, 995, 143, 993, 25.
gem derefter reglerne.,
Eller hvis du bruger firewalld, kan du gøre følgende:
Og igen, for fejlfinding, kan du find logfilen /var/log/messages, /var/log/maillog, og /var/log/mail.logfil.Linu.mailserver er en af de nemmeste servere at arbejde med, især Postfi. mailserveren.
Jeg håber du finder indlægget nyttigt og interessant. Bliv ved med at komme tilbage.
Tak.
Grundlægger af LikeGeeks. Jeg arbejder som Linu.systemadministrator siden 2010., Jeg er ansvarlig for vedligeholdelse, sikring og fejlfinding af Linu. – servere til flere klienter over hele verden. Jeg elsker at skrive shell og Python scripts til at automatisere mit arbejde.
Skriv et svar