Postfix + Dovecot + Squirrelmail und lokale Benutzer - SMB Networks

Allgemeiner Index der Reihe: Computernetzwerke für KMU: Einführung

Dieser Artikel ist die Fortsetzung und letzte der Miniserie:

Hallo Freunde und Freunde!

Die Enthusiasten Sie möchten einen eigenen Mailserver haben. Sie möchten keine Server verwenden, auf denen "Datenschutz" zwischen Fragezeichen steht. Die Person, die für die Implementierung des Dienstes auf Ihrem kleinen Server verantwortlich ist, ist kein Spezialist auf diesem Gebiet und wird zunächst versuchen, den Kern eines zukünftigen und vollständigen Mailservers zu installieren. Ist das, dass die "Gleichungen", um einen vollständigen Mailserver zu erstellen, etwas schwierig zu verstehen und anzuwenden sind? 😉

Randanmerkungen

  • Es muss klar sein, welche Funktionen jedes an einem Mailserver beteiligte Programm ausführt. Als ersten Leitfaden geben wir eine ganze Reihe nützlicher Links mit dem erklärten Zweck, zu dem sie besucht werden.
  • Die manuelle Implementierung eines vollständigen Mail-Dienstes von Grund auf ist ein anstrengender Prozess, es sei denn, Sie gehören zu den "Auserwählten", die diese Art von Aufgabe täglich ausführen. Ein Mailserver besteht im Allgemeinen aus verschiedenen Programmen, die separat behandelt werden SMTP, POP / IMAP, Lokale Speicherung von Nachrichten, Aufgaben im Zusammenhang mit der Behandlung der SPAM, Antivirus usw. ALLE diese Programme müssen korrekt miteinander kommunizieren.
  • Es gibt keine einheitliche Größe oder "Best Practices" für die Verwaltung von Benutzern. wo und wie Nachrichten gespeichert werden oder wie alle Komponenten als Ganzes funktionieren.
  • Das Zusammenstellen und Feinabstimmen eines Mailservers ist in Bezug auf Berechtigungen und Dateibesitzer, die Auswahl des für einen bestimmten Prozess verantwortlichen Benutzers und kleine Fehler in einer esoterischen Konfigurationsdatei in der Regel unangenehm.
  • Wenn Sie nicht genau wissen, was Sie tun, ist das Endergebnis ein unsicherer oder leicht nicht funktionierender Mailserver. Dass am Ende der Implementierung nicht funktioniert, wird es möglicherweise das geringste Übel sein.
  • Wir können im Internet eine gute Anzahl von Rezepten finden, wie man einen Mailserver herstellt. Eine der vollständigsten -meiner sehr persönlichen Meinung nach- wird vom Autor angeboten Ivan Abrahamsen in seiner dreizehnten Ausgabe vom Januar 2017 «So richten Sie einen Mailserver auf einem GNU / Linux-System ein«.
  • Wir empfehlen auch, den Artikel zu lesen «Ein Mailserver unter Ubuntu 14.04: Postfix, Dovecot, MySQL«, oder «Ein Mailserver unter Ubuntu 16.04: Postfix, Dovecot, MySQL«.
  • Wahr. Die beste Dokumentation hierzu finden Sie in englischer Sprache.
    • Obwohl wir nie einen Mailserver machen, der treu von der geleitet wird Wie man… Wie bereits im vorigen Absatz erwähnt, gibt uns die bloße Tatsache, dass wir Schritt für Schritt folgen, eine sehr gute Vorstellung davon, was uns bevorsteht.
  • Wenn Sie in wenigen Schritten einen vollständigen Mailserver haben möchten, können Sie das Bild herunterladen iRedOS-0.6.0-CentOS-5.5-i386.isooder suchen Sie nach einem moderneren, sei es iRedOS oder iRedMail. Es ist der Weg, den ich persönlich empfehle.

Wir werden installieren und konfigurieren:

Es bleibt noch zu tun:

Zumindest die folgenden Dienste müssten noch implementiert werden:

  • Postgrau: Postfix-Serverrichtlinien für Gray Lists und Ablehnung von Junk Mail.
  • Amavisd-neu: Skript, das eine Schnittstelle zwischen dem MTA und Virenscannern und Inhaltsfiltern erstellt.
  • Clamav-Antivirus: Antivirensuite
  • SpamAssassin: Junk Mail extrahieren
  • Rasierer (pyzor): SPAM-Erfassung über ein verteiltes und kollaboratives Netzwerk. Das Vipul Razor-Netzwerk unterhält einen aktualisierten Katalog über die Verbreitung von Junk-Mail oder SPAM.
  • DNS-Eintrag "DomainKeys Identified Mail" oder DKIM.

Pakete postgrey, amavisd-new, clamav, spamassassin, rasiermesser y Pyzor Sie befinden sich in den Programm-Repositorys. Wir werden auch das Programm finden offenkim.

  • Die korrekte Deklaration der DNS-Einträge "SPF" und "DKIM" ist unerlässlich, wenn wir nicht möchten, dass unser Mail-Server von anderen Mail-Diensten wie z Google Mail, YAhoi, Hotmail, usw.

Erstprüfungen

Denken Sie daran, dass dieser Artikel eine Fortsetzung anderer ist, die in beginnen Squid + PAM-Authentifizierung unter CentOS 7.

Ens32 LAN-Schnittstelle mit dem internen Netzwerk verbunden

[root @ linuxbox ~] # nano / etc / sysconfig / network-scripts / ifcfg-ens32
DEVICE=ens32
ONBOOT=yes
BOOTPROTO=static
HWADDR=00:0c:29:da:a3:e7
NM_CONTROLLED=no
IPADDR=192.168.10.5
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DOMAIN=desdelinux.fan DNS1=127.0.0.1
ZONE = öffentlich

[root @ linuxbox ~] # ifdown ens32 && ifup ens32

Ens34 WAN-Schnittstelle mit dem Internet verbunden

[root @ linuxbox ~] # nano / etc / sysconfig / network-scripts / ifcfg-ens34
DEVICE=ens34 ONBOOT=yes BOOTPROTO=static HWADDR=00:0c:29:da:a3:e7 NM_CONTROLLED=no IPADDR=172.16.10.10 NETMASK=255.255.255.0 # Der ADSL-Router ist mit # dieser Schnittstelle mit # der folgenden Adresse verbunden IP-GATEWAY=172.16.10.1 DOMAIN=desdelinux.fan DNS1=127.0.0.1
ZONE = extern

DNS-Auflösung aus dem LAN

[root@linuxbox ~]# cat /etc/resolv.conf Suche desdelinux.fan Nameserver 127.0.0.1 Nameserver 172.16.10.30 [root@linuxbox ~]# Host-Mail
E-Mail.desdelinux.fan ist ein Alias ​​für Linuxbox.desdelinux.Lüfter. Linuxbox.desdelinux.fan hat die Adresse 192.168.10.5 Linuxbox.desdelinux.Fan-Mail wird von 1 Mail bearbeitet.desdelinux.Lüfter.

[root@linuxbox ~]# hostmail.desdelinux.Ventilator
E-Mail.desdelinux.fan ist ein Alias ​​für Linuxbox.desdelinux.Lüfter. Linuxbox.desdelinux.fan hat die Adresse 192.168.10.5 Linuxbox.desdelinux.Fan-Mail wird von 1 Mail bearbeitet.desdelinux.Lüfter.

DNS-Auflösung aus dem Internet

Buzz@sysadmin:~$hostmail.desdelinux.fan 172.16.10.30
Verwenden des Domänenservers: Name: 172.16.10.30 Adresse: 172.16.10.30#53 Aliase: E-Mail.desdelinux.fan ist ein Alias ​​für desdelinux.Lüfter.
desdelinux.fan hat die Adresse 172.16.10.10
desdelinux.Fan-Mail wird von 10 Mail bearbeitet.desdelinux.Lüfter.

Probleme beim lokalen Auflösen des Hostnamens «desdelinux.Lüfter"

Wenn Sie Probleme beim Auflösen des Hostnamens haben «desdelinux.Ventilator" von dem LANVersuchen Sie, die Dateizeile auskommentieren /etc/dnsmasq.conf wo es deklariert ist local=/desdelinux.Lüfter/. Starten Sie anschließend den Dnsmasq neu.

[root @ linuxbox ~] # nano /etc/dnsmasq.conf # Kommentieren Sie die folgende Zeile:
# local=/desdelinux.Lüfter/

[root @ linuxbox ~] # service dnsmasq restart
Umleiten nach / bin / systemctl Starten Sie dnsmasq.service neu

[root @ linuxbox ~] # service dnsmasq status

[root@linuxbox ~]# host desdelinux.Ventilator
desdelinux.fan hat die Adresse 172.16.10.10
desdelinux.Fan-Mail wird von 10 Mail bearbeitet.desdelinux.Lüfter.

Postfix und Dovecot

Die sehr umfangreiche Dokumentation von Postfix und Dovecot finden Sie unter:

[root @ linuxbox ~] # ls /usr/share/doc/postfix-2.10.1/
bounce.cf.default LIZENZ README-Postfix-SASL-RedHat.txt KOMPATIBILITÄT main.cf.default TLS_ACKNOWLEDGEMENTS Beispiele README_FILES TLS_LICENSE

[root @ linuxbox ~] # ls /usr/share/doc/dovecot-2.2.10/
AUTOREN KOPIEREN

In CentOS 7 wird der Postfix MTA standardmäßig installiert, wenn wir die Option Infrastructure Server auswählen. Wir müssen überprüfen, ob der SELinux-Kontext das Schreiben in Potfix in der lokalen Nachrichtenwarteschlange ermöglicht:

[root @ linuxbox ~] # getsebool -a | grep postfix
postfix_local_write_mail_spool -> on

Änderungen in der FirewallD

Mithilfe der grafischen Oberfläche zum Konfigurieren der FirewallD müssen wir sicherstellen, dass die folgenden Dienste und Ports für jede Zone aktiviert sind:

# --------------------------------------------- -----
# Korrekturen in FirewallD
# --------------------------------------------- -----
#Firewall
# Öffentliche Zone: http, https, imap, pop3, smtp services
# Öffentliche Zone: Ports 80, 443, 143, 110, 25

# Externe Zone: http, https, imap, pop3s, smtp services
# Externe Zone: Ports 80, 443, 143, 995, 25

Wir installieren Dovecot und notwendige Programme

[root @ linuxbox ~] # yum installiere dovecot mod_ssl procmail telnet

Minimale Dovecot-Konfiguration

[root @ linuxbox ~] # nano /etc/dovecot/dovecot.conf
Protokolle =imap pop3 lmtp
hören =*, ::
Login_Gruß = Dovecot ist fertig!

Wir deaktivieren die Klartextauthentifizierung von Dovecot ausdrücklich:

[root @ linuxbox ~] # nano /etc/dovecot/conf.d/10-auth.conf 
disable_plaintext_auth = ja

Wir erklären der Gruppe die erforderlichen Berechtigungen für die Interaktion mit dem Dovecot und den Speicherort der Nachrichten:

[root @ linuxbox ~] # nano /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox: ~ / mail: INBOX = / var / mail /% u
mail_privileged_group = E-Mail
mail_access_groups = E-Mail

Zertifikate für den Dovecot

Dovecot generiert Ihre Testzertifikate automatisch basierend auf den Daten in der Datei /etc/pki/dovecot/dovecot-openssl.cnf. Um neue Zertifikate gemäß unseren Anforderungen erstellen zu lassen, müssen wir die folgenden Schritte ausführen:

[root @ linuxbox ~] # cd / etc / pki / dovecot /
[root @ linuxbox dovecot] # nano dovecot-openssl.cnf
[ req ] default_bits = 1024 encrypt_key = ja independent_name = req_dn x509_extensions = cert_type prompt = no [ req_dn ] # Land (2-Buchstaben-Code) C=CU # Name des Bundesstaats oder der Provinz (vollständiger Name) ST=Cuba # Ortsname (z. B. Stadt). ) L=Havana # Organisation (z. B. Firma) O=DesdeLinux.Fan # Name der Organisationseinheit (z. B. Abschnitt) OU=Enthusiasts # Allgemeiner Name (*.example.com ist ebenfalls möglich) CN=*.desdelinux.fan # E-Mail-Kontakt emailAddress=buzz@desdelinux.fan [ cert_type ] nsCertType = Server

Wir eliminieren Testzertifikate

[root @ linuxbox dovecot] # rm certs / dovecot.pem 
rm: die reguläre Datei "certs / dovecot.pem" löschen? (j / n) y
[root @ linuxbox dovecot] # rm private / dovecot.pem 
rm: die reguläre Datei "private / dovecot.pem" löschen? (j / n) y

Wir kopieren und führen das Skript aus mkcert.sh aus dem Dokumentationsverzeichnis

[root @ linuxbox dovecot] # cp /usr/share/doc/dovecot-2.2.10/mkcert.sh. [root @ linuxbox dovecot] # bash mkcert.sh 
Generieren eines privaten 1024-Bit-RSA-Schlüssels ......++++++ ................++++++ Schreiben eines neuen privaten Schlüssels in „/etc/“ pki/dovecot/private/dovecot.pem' ----- subject= /C=CU/ST=Cuba/L=Havana/O=DesdeLinux.Fan/OU=Enthusiasten/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan
SHA1 Fingerprint=5F:4A:0C:44:EC:EC:EF:95:73:3E:1E:37:D5:05:F8:23:7E:E1:A4:5A

[root @ linuxbox dovecot] # ls -l certs /
insgesamt 4 -rw -------. 1 root root 1029 22. Mai 16:08 dovecot.pem
[root @ linuxbox dovecot] # ls -l privat /
insgesamt 4 -rw -------. 1 root root 916 22. Mai 16:08 dovecot.pem

[root @ linuxbox dovecot] # service dovecot neu starten
[root @ linuxbox dovecot] # service dovecot status

Zertifikate für Postfix

[root@linuxbox ~]# cd /etc/pki/tls/ [root@linuxbox tls]# openssl req -sha256 -x509 -nodes -newkey rsa:4096 -days 1825 \ -out certs/desdelinux.fan.crt -keyout private/desdelinux.fan.key

Generieren eines privaten 4096-Bit-RSA-Schlüssels .........++ ..++ Schreiben eines neuen privaten Schlüssels in „private/domain.tld.key“ ----- Sie werden gleich zur Eingabe von Informationen aufgefordert die in Ihren Zertifikatsantrag eingearbeitet wird. Was Sie gleich eingeben, ist ein sogenannter Distinguished Name oder DN. Es gibt eine ganze Reihe von Feldern, aber Sie können einige leer lassen. Für einige Felder gibt es einen Standardwert. Wenn Sie „.“ eingeben, bleibt das Feld leer. ----- Ländername (2-Buchstaben-Code) [XX]:CU-Staats- oder Provinzname (vollständiger Name) []:Kuba-Ortsname (z. B. Stadt) [Standardstadt]:Havanna-Organisationsname (z. B. Unternehmen) [ Standardunternehmen Ltd.]:DesdeLinux.Fan-Name der Organisationseinheit (z. B. Abschnitt) []: Allgemeiner Name der Enthusiasten (z. B. Ihr Name oder der Hostname Ihres Servers) []:desdelinux.fan E-Mail-Adresse []:buzz@desdelinux.Ventilator

Minimale Postfix-Konfiguration

Wir fügen am Ende der Datei hinzu / etc / Aliase wie folgt vor:

root: Buzz

Damit die Änderungen wirksam werden, führen wir den folgenden Befehl aus:

[root @ linuxbox ~] # newaliases

Die Postifx-Konfiguration kann durch direktes Bearbeiten der Datei erfolgen /etc/postfix/main.cf oder auf Befehl postconf -e Achten Sie darauf, dass alle Parameter, die Sie ändern oder hinzufügen möchten, in einer einzelnen Zeile der Konsole angezeigt werden:

  • Jeder muss die Optionen angeben, die er versteht und braucht!.
[root@linuxbox ~]# postconf -e 'myhostname = desdelinux.Lüfter'
[root@linuxbox ~]# postconf -e 'mydomain = desdelinux.Lüfter'
[root @ linuxbox ~] # postconf -e 'myorigin = $ mydomain'
[root @ linuxbox ~] # postconf -e 'inet_interfaces = all'
[root @ linuxbox ~] # postconf -e 'mydestination = $ myhostname, localhost. $ mydomain, localhost, $ mydomain, mail. $ mydomain, www. $ mydomain, ftp. $ mydomain'

[root @ linuxbox ~] # postconf -e 'mynetworks = 192.168.10.0/24, 172.16.10.0/24, 127.0.0.0/8'
[root @ linuxbox ~] # postconf -e 'mailbox_command = / usr / bin / procmail -a "$ EXTENSION"'
[root @ linuxbox ~] # postconf -e 'smtpd_banner = $ myhostname ESMTP $ mail_name ($ mail_version)'

Wir fügen am Ende der Datei hinzu /etc/postfix/main.cf die unten angegebenen Optionen. Um die Bedeutung der einzelnen Elemente zu ermitteln, empfehlen wir, die zugehörige Dokumentation zu lesen.

biff = nein
append_dot_mydomain = nein
delay_warning_time = 4h
readme_directory = nein
smtpd_tls_cert_file=/etc/pki/certs/desdelinux.fan.crt
smtpd_tls_key_file=/etc/pki/private/desdelinux.fan.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree: $ {Datenverzeichnis} / smtpd_scache
smtp_tls_session_cache_database = btree: $ {Datenverzeichnis} / smtp_scache
smtpd_relay_restrictions = allow_mynetworks allow_sasl_authenticated defer_unauth_destination

# Maximale Postfachgröße 1024 Megabyte = 1 g und g
mailbox_size_limit = 1073741824

Empfänger_Delimiter = +
Maximum_queue_lifetime = 7d
header_checks = regexp: / etc / postfix / header_checks
body_checks = regulärer Ausdruck: / etc / postfix / body_checks

# Konten, die eine Kopie eingehender E-Mails an ein anderes Konto senden
Empfänger_bcc_maps = Hash: / etc / postfix / accounts_ forwarding_copy

Die folgenden Zeilen sind wichtig, um zu bestimmen, wer E-Mails senden und an andere Server weiterleiten kann, damit wir nicht versehentlich ein "offenes Relay" konfigurieren, mit dem nicht authentifizierte Benutzer E-Mails senden können. Wir müssen die Postfix-Hilfeseiten konsultieren, um zu verstehen, was jede Option bedeutet.

  • Jeder muss die Optionen angeben, die er versteht und braucht!.
smtpd_helo_restrictions = allow_mynetworks,
 warn_if_reject accept_non_fqdn_hostname,
 ablehnen_invalid_hostname,
 erlauben

smtpd_sender_restrictions = allow_sasl_authenticated,
 allow_mynetworks,
 warn_if_reject reply_non_fqdn_sender,
 Reject_unknown_sender_domain,
 ablehnen_unauth_pipelining,
 erlauben

smtpd_client_restrictions = ablehnen_rbl_client sbl.spamhaus.org,
 ablehnen_rbl_client blackholes.easynet.nl

# HINWEIS: Die Option "check_policy_service inet: 127.0.0.1: 10023"
# aktiviert das Postgrey-Programm, und wir sollten es nicht einschließen
# Andernfalls verwenden wir Postgrey

smtpd_recipient_restrictions = ablehnen_unauth_pipelining,
 allow_mynetworks,
 allow_sasl_authenticated,
 ablehnen_nicht_fqdn_rezipient,
 Reject_unknown_recipient_domain,
 ablehnen_unauth_destination,
 check_policy_service inet: 127.0.0.1: 10023,
 erlauben

smtpd_data_restrictions = ablehnen_unauth_pipelining

smtpd_relay_restrictions = ablehnen_unauth_pipelining,
 allow_mynetworks,
 allow_sasl_authenticated,
 ablehnen_nicht_fqdn_rezipient,
 Reject_unknown_recipient_domain,
 ablehnen_unauth_destination,
 check_policy_service inet: 127.0.0.1: 10023,
 erlauben
 
smtpd_helo_required = ja
smtpd_delay_reject = ja
disable_vrfy_command = ja

Wir erstellen die Dateien / etc / postfix / body_checks y / etc / postfix / accounts_forwarding_copyund ändern Sie die Datei / etc / postfix / header_checks.

  • Jeder muss die Optionen angeben, die er versteht und braucht!.
[root @ linuxbox ~] # nano / etc / postfix / body_checks
# Wenn diese Datei geändert wird, # muss die Postmap nicht ausgeführt werden # Um die Regeln zu testen, führen Sie sie als root aus: # postmap -q 'super new v1agra' regulärer Ausdruck: / etc / postfix / body_checks
# Sollte zurückkehren: # REJECT Regel 2 Anti-Spam-Nachrichtentext
/ viagra / REJECT Regel 1 Anti-Spam des Nachrichtentexts
/ super new v [i1] agra / REJECT Regel # 2 Anti-Spam-Nachrichtentext

[root @ linuxbox ~] # nano / etc / postfix / accounts_forwarding_copy
# Nach dem Ändern müssen Sie Folgendes ausführen: # postmap / etc / postfix / accounts_ forwarding_copy
# und die Datei wird erstellt oder gemessen: # /etc/postfix/accounts_forwarding_copy.db
# ------------------------------------------ # EIN Konto zur Weiterleitung eines BCC copy # BCC = Black Carbon Copy # Beispiel: # webadmin@desdelinux.fan Buzz@desdelinux.Ventilator

[root @ linuxbox ~] # postmap / etc / postfix / accounts_ forwarding_copy

[root @ linuxbox ~] # nano / etc / postfix / header_checks
# Am Ende der Datei hinzufügen # ERFORDERT KEINE Postmap, da es sich um reguläre Ausdrücke handelt
/ ^ Betreff: =? Big5? / REJECT Chinesische Codierung wird von diesem Server nicht akzeptiert
/ ^ Betreff: =? EUC-KR? / REJECT Koreanische Codierung von diesem Server nicht erlaubt
/ ^ Betreff: ADV: / REJECT Werbung wird von diesem Server nicht akzeptiert
/^From:.*\@.*\.cn/ ABLEHNEN Entschuldigung, chinesische Post hier nicht erlaubt
/^From:.*\@.*\.kr/ REJECT Sorry, koreanische Mail hier nicht erlaubt
/^From:.*\@.*\.tr/ REJECT Sorry, türkische Mail hier nicht erlaubt
/^From:.*\@.*\.ro/ REJECT Sorry, rumänische Mail hier nicht erlaubt
/^(Received|Message-Id|X-(Mailer|Sender)):.*\b(AutoMail|E-Broadcaster|Emailer Platinum | Thunder Server | eMarksman | Extractor | e-Merge | from Stealth [^.] | Global Messenger | GroupMaster | Mailcast | MailKing | Match10 | MassE-Mail | Massmail \ .pl | News Breaker | Powermailer | Schnellschuss | Bereit Zielfeuer | WindoZ | WorldMerge | Yourdora | Lite) \ b / REJECT Keine Massenmailer erlaubt.
/ ^ Von: "spammer / REJECT
/ ^ Von: "Spam / REJECT
/^Betreff:.*viagra/ VERWERFEN
# Gefährliche Erweiterungen
/ name = [^> Iluminación * \. (bat | cmd | exe | com | pif | reg | scr | vb | vbe | vbs) / REJECT REJECT Wir akzeptieren keine Anhänge mit diesen Erweiterungen

Wir überprüfen die Syntax, starten Apache und Postifx neu und aktivieren und starten Dovecot

[root @ linuxbox ~] # postfix check
[root @ linuxbox ~] #

[root @ linuxbox ~] # systemctl httpd neu starten
[root @ linuxbox ~] # systemctl status httpd

[root @ linuxbox ~] # systemctl postfix neu starten
[root @ linuxbox ~] # systemctl status postfix

[root @ linuxbox ~] # systemctl status dovecot
● dovecot.service - Dovecot IMAP / POP3-E-Mail-Server Geladen: geladen (/usr/lib/systemd/system/dovecot.service; deaktiviert; Hersteller-Voreinstellung: deaktiviert) Aktiv: inaktiv (tot)

[root @ linuxbox ~] # systemctl aktiviere Dovecot
[root @ linuxbox ~] # systemctl start dovecot
[root @ linuxbox ~] # systemctl starte dovecot neu
[root @ linuxbox ~] # systemctl status dovecot

Überprüfungen auf Konsolenebene

  • Bevor Sie mit der Installation und Konfiguration anderer Programme fortfahren, müssen Sie die SMTP- und POP-Dienste so wenig wie möglich überprüfen.

Lokal vom Server selbst

Wir senden eine E-Mail an den lokalen Benutzer Legolas.

[root @ linuxbox ~] # echo "Hallo. Dies ist eine Testnachricht" | mail -s "Test" legolas

Wir überprüfen die Mailbox von Legolas.

[root @ linuxbox ~] # openssl s_client -crlf -connect 127.0.0.1:110 -starttls pop3

Nach der Nachricht Dovecot ist fertig! wir fahren fort:

---
+ OK Dovecot ist fertig!
BENUTZER legolas +OK PASS legolas +OK Eingeloggt. STAT +OK 1 559 LIST +OK 1 Nachrichten: 1 559 . RETR 1 +OK 559 Oktette Return-Path:desdelinux.fan> X-Original-An: legolas Geliefert an: legolas@desdelinux.fan Empfangen: von desdelinux.fan (Postfix, von Benutzer-ID 0) ID 7EA22C11FC57; Mo, 22. Mai 2017 10:47:10 -0400 (EDT) Datum: Mo, 22. Mai 2017 10:47:10 -0400 An: legolas@desdelinux.fan Betreff: Test User-Agent: Heirloom mailx 12.5 7/5/10 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20170522144710.7EA22C11FC57@desdelinux.fan> Von: root@desdelinux.fan (root) Hallo. Dies ist eine Testnachricht. ENDE FERTIG
[root @ linuxbox ~] #

Fernbedienungen von einem Computer im LAN

Senden wir eine weitere Nachricht an Legolas von einem anderen Computer im LAN. Beachten Sie, dass die TLS-Sicherheit im KMU-Netzwerk NICHT unbedingt erforderlich ist.

Buzz @ Sysadmin: ~ $ sendemail -f Buzz@deslinux.fan \
-t legolas@desdelinux.Lüfter\
-u "Hallo" \
-m "Grüße Legolas von deinem Freund Buzz" \
-s E-Mail.desdelinux.fan -o tls=no
22. Mai 10:53:08 sysadmin sendemail [5866]: E-Mail wurde erfolgreich gesendet!

Wenn wir versuchen, eine Verbindung herzustellen telnet Von einem Host im LAN - oder natürlich vom Internet - zum Dovecot geschieht Folgendes, weil wir die Klartextauthentifizierung deaktivieren:

Buzz@sysadmin:~$ Telnet-Mail.desdelinux.fan 110Versuche 192.168.10.5...
Verbunden mit Linuxbox.desdelinux.Lüfter. Das Escape-Zeichen ist „^]“. +OK Dovecot ist fertig! Benutzer Legolas
-ERR [AUTH] Bei nicht sicheren (SSL / TLS) Verbindungen ist die Klartextauthentifizierung nicht zulässig.
Beenden + OK Abmelden Verbindung vom fremden Host geschlossen.
Buzz @ Sysadmin: ~ $

Wir müssen es schaffen openssl. Die vollständige Ausgabe des Befehls wäre:

Buzz@sysadmin:~$ openssl s_client -crlf -connect mail.desdelinux.fan:110 -starttls pop3
VERBUNDEN (00000003)
Tiefe=0 C = CU, ST = Kuba, L = Havanna, O = DesdeLinux.Fan, OU = Enthusiasten, CN = *.desdelinux.fan, emailAddress = Buzz@desdelinux.Ventilator
Überprüfungsfehler: num = 18: Selbstsigniertes Zertifikat Überprüfungsrückgabe: 1
Tiefe=0 C = CU, ST = Kuba, L = Havanna, O = DesdeLinux.Fan, OU = Enthusiasten, CN = *.desdelinux.fan, emailAddress = Buzz@desdelinux.fan verifizieren Rückkehr:1
--- Zertifikatskette 0 s:/C=CU/ST=Cuba/L=Havana/O=DesdeLinux.Fan/OU=Enthusiasten/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan i:/C=CU/ST=Cuba/L=Havana/O=DesdeLinux.Fan/OU=Enthusiasten/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan
---
Server certificate
-----BEGIN CERTIFICATE-----
MIICyzCCAjSgAwIBAgIJAKUHI/2ZD+MeMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYD
VQQGEwJDVTENMAsGA1UECBMEQ3ViYTEPMA0GA1UEBxMGSGFiYW5hMRcwFQYDVQQK
Ew5EZXNkZUxpbnV4LkZhbjEUMBIGA1UECxMLRW50dXNpYXN0YXMxGTAXBgNVBAMU
ECouZGVzZGVsaW51eC5mYW4xIjAgBgkqhkiG9w0BCQEWE2J1enpAZGVzZGVsaW51
eC5mYW4wHhcNMTcwNTIyMjAwODEwWhcNMTgwNTIyMjAwODEwWjCBmzELMAkGA1UE
BhMCQ1UxDTALBgNVBAgTBEN1YmExDzANBgNVBAcTBkhhYmFuYTEXMBUGA1UEChMO
RGVzZGVMaW51eC5GYW4xFDASBgNVBAsTC0VudHVzaWFzdGFzMRkwFwYDVQQDFBAq
LmRlc2RlbGludXguZmFuMSIwIAYJKoZIhvcNAQkBFhNidXp6QGRlc2RlbGludXgu
ZmFuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7wckAiNNfYSz5hdePzKuZ
m2MMuhGDvwrDSPDEcVutznbZSgJ9bvTo445TR+Bnk+OZ80lujS2hP+nBmqxzJbpc
XR7E9eWIXxr4fP4HpRrCA8NxlthEsapVMSHW+lnPBqF2b/Bt2eYyR7gJhtlP6gRG
V57MmgL8BdYAJLvxqxDIxQIDAQABoxUwEzARBglghkgBhvhCAQEEBAMCBkAwDQYJ
KoZIhvcNAQEFBQADgYEAAuYU1nIXTbXtddW+QkLskum7ESryHZonKOCelfn2vnRl
8oAgHg7Hbtg/e6sR/W9m3DObP5DEp3lolKKIKor7ugxtfA4PBtmgizddfDKKMDql
LT+MV5/DP1pjQbxTsaLlZfveNxfLRHkQY13asePy4fYJFOIZ4OojDEGQ6/VQBI8=
-----END CERTIFICATE-----
subject=/C=CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Enthusiasten/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan issuer=/C=CU/ST=Cuba/L=Havana/O=DesdeLinux.Fan/OU=Enthusiasten/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan --- Keine Client-Zertifikat-CA-Namen gesendet. Server-Temp-Schlüssel: ECDH, secp384r1, 384 Bits --- SSL-Handshake hat 1342 Bytes gelesen und 411 Bytes geschrieben --- Neu, TLSv1/SSLv3, Verschlüsselung ist ECDHE-RSA-AES256 -GCM-SHA384 Der öffentliche Schlüssel des Servers ist 1024 Bit. Sichere Neuverhandlung wird unterstützt. Komprimierung: KEINE Erweiterung: KEINE SSL-Sitzung: Protokoll: TLSv1.2 Verschlüsselung: ECDHE-RSA-AES256-GCM-SHA384 Sitzungs-ID: C745B4A0236204E16234CB15DC9CDBC3D084125FF5989F5DB 6C5295 4BF2E73D1904A Sitzungs-ID- ctx: Hauptschlüssel: 204D564C76361B50373CEA8879F793AF7AF7506D04473777C6F3503F9A919FD1CD837F67BC29BFF309E352526F5F5 Schlüsselargument: Keine Krb300 Prinzipal: Keine PSK-Identität: Keine PSK-Identität Hinweis: Keine TLS-Sitzungsticket-Lebensdauer Hinweis: 0000 (Sekunden) TLS-Sitzungsticket: 4 - 3e 8a f29 7 4a 63f 72 7- ee f6 a4 7f fc ec 1e 0010c N:.)zOcr...O..~. 2 - 4c d8 be a92 be 2 98e ae-7 87e 6 45d 5 c17 8 a0020 ,.....~.mE... 3 - db 86a 80 8 df 8b dc 8d-f1 68f 6 7e db a3 e86 0030 .:.......hn.... 08 - 35 5 e98 eb 8 b4 a98 68-1 b7 ea f72 7 f1 c79 5 .0040......h...r ..y 89 - 4 28a 3 e85 4 a8 9b da-e7 29a 7 c77 22 bf 0 0050d .J(......z).w.". 5 - bd 6c f61 8 1c a14 31 bd-cb 27 66 7 51a dc 28 1 .\.a.....0060'fz.Q( 7 - b35 of 2 bd 0b 4f d3 ec-d0 e14 8 c65 03 1 b35 5 ..5.+.... ...e ..0070 38 - 34 8 f48 de 31 da ae 90-6 bd f0 b6 e9 19c cf 84 1..H..0080........ 5 - f42 56 13 88 0 b8 5c db-aa ee 7a d1 2b 71c dd 0090 .BV.......Z..,.q 7 - 1a f03 70 90 94 9 c0 62a-5 e0 9f 3c bf dc 0c a1495484262 z..p.. ..b. ....<. Startzeit: 300 Zeitüberschreitung: 18 (Sek.) Überprüfen Sie den Rückgabecode: XNUMX (selbstsigniertes Zertifikat) ---
+ OK Dovecot ist fertig!
BENUTZER Legolas
+ OK
PASS Legolas
+ OK Eingeloggt.
LISTE
+ OK 1 Meldungen: 1 1021.
RÜCKKEHR 1
+OK 1021 Oktette Return-Path: X-Original-An: legolas@desdelinux.fan Geliefert an: legolas@desdelinux.fan Erhalten: vom Systemadministrator.desdelinux.fan (Gateway [172.16.10.1]) von desdelinux.fan (Postfix) mit der ESMTP-ID 51886C11E8C0 fürdesdelinux.fan>; Mo, 22. Mai 2017 15:09:11 -0400 (EDT) Nachrichten-ID: <919362.931369932-sendEmail@sysadmin> Von: „buzz@deslinux.fan“ An: „legolas@desdelinux.Lüfter"desdelinux.fan> Betreff: Hallo Datum: Montag, 22. Mai 2017 19:09:11 +0000 X-Mailer: sendEmail-1.56 MIME-Version: 1.0 Inhaltstyp: multipart/verwandte; border="----MIME-Trennzeichen für sendEmail-365707.724894495" Dies ist eine mehrteilige Nachricht im MIME-Format. Um diese Nachricht richtig anzuzeigen, benötigen Sie ein MIME-Version 1.0-kompatibles E-Mail-Programm. ------MIME-Trennzeichen für sendEmail-365707.724894495 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Grüße Legolas von deinem Freund Buzz ------MIME-Trennzeichen für sendEmail-365707.724894495-- .
QUIT
+ OK Abmelden. geschlossen
Buzz @ Sysadmin: ~ $

Squirrelmail

Squirrelmail ist ein Web-Client, der vollständig in PHP geschrieben ist. Es bietet native PHP-Unterstützung für die IMAP- und SMTP-Protokolle und bietet maximale Kompatibilität mit den verschiedenen verwendeten Browsern. Es läuft korrekt auf jedem IMAP-Server. Es verfügt über alle Funktionen, die Sie von einem E-Mail-Client benötigen, einschließlich MIME-Unterstützung, Adressbuch- und Ordnerverwaltung.

[root @ linuxbox ~] # yum installiere squirrelmail
[root @ linuxbox ~] # service httpd restart

[root @ linuxbox ~] # nano /etc/squirrelmail/config.php
$domain = 'desdelinux.Lüfter';
$imapServerAddress = 'mail.desdelinux.Lüfter';
$ imapPort = 143;
$smtpServerAddress = 'desdelinux.Lüfter';

[root @ linuxbox ~] # service httpd reload

DNS Send Policy Framenwork oder SPF-Eintrag

In dem Artikel NSD Authoritarian DNS Server + Shorewall Wir haben gesehen, dass die Zone «desdelinux.fan» wurde wie folgt konfiguriert:

root@ns:~# nano /etc/nsd/desdelinux.Fanbereich
$ORIGIN desdelinux.Lüfter. $TTL 3H @ IN SOA-Nr.desdelinux.Lüfter. Wurzel.desdelinux.Lüfter. (1; seriell 1D; Aktualisierung 1H; erneut versuchen 1W; Ablauf 3H); Minimum oder ; Negative Caching-Lebensdauer; @ IN NS ns.desdelinux.Lüfter. @ IN MX 10 E-Mail.desdelinux.Lüfter.
@ IN TXT "v=spf1 a:mail.desdelinux.fan -all"
; ; Registrierung zur Lösung von Grabungsanfragen desdelinux.fan @ IN A 172.16.10.10 ; ns IN A 172.16.10.30 Mail IN CNAME   desdelinux.Lüfter. chatten Sie IN CNAME   desdelinux.Lüfter. www IN CNAME   desdelinux.Lüfter. ; ; SRV-Datensätze im Zusammenhang mit XMPP
_xmpp-server._tcp IN SRV 0 0 5269 desdelinux.Lüfter. _xmpp-client._tcp IN SRV 0 0 5222 desdelinux.Lüfter. _jabber._tcp IN SRV 0 0 5269 desdelinux.Lüfter.

Darin wird die Registrierung deklariert:

@ IN TXT "v=spf1 a:mail.desdelinux.fan -all"

Um denselben Parameter für das KMU-Netzwerk oder LAN zu konfigurieren, müssen Sie die Dnsmasq-Konfigurationsdatei wie folgt ändern:

# TXT-Datensätze. Wir können auch einen SPF-Eintrag txt-record= deklarierendesdelinux.fan,"v=spf1 a:mail.desdelinux.fan -all"

Dann starten wir den Dienst neu:

[root @ linuxbox ~] # service dnsmasq restart
[root@linuxbox ~]# service dnsmasq status [root@linuxbox ~]# host -t TXT mail.desdelinux.Fanpost.desdelinux.fan ist ein Alias ​​für desdelinux.Lüfter.
desdelinux.fan beschreibender Text „v=spf1 a:mail.desdelinux.fan -all"

Selbstsignierte Zertifikate und Apache oder httpd

Auch wenn Ihr Browser Ihnen sagt, dass «Der Besitzer von E-Mail.desdelinux.Ventilator Sie haben Ihre Website falsch konfiguriert. Um zu verhindern, dass Ihre Daten gestohlen werden, hat Firefox keine Verbindung zu dieser Website hergestellt “, das zuvor generierte Zertifikat ES IST GÜLTIGund ermöglicht es den Anmeldeinformationen zwischen dem Client und dem Server, verschlüsselt zu reisen, nachdem wir das Zertifikat akzeptiert haben.

Wenn Sie möchten und um die Zertifikate zu vereinheitlichen, können Sie für Apache dieselben Zertifikate deklarieren, die Sie für Postfix deklariert haben, was korrekt ist.

[root @ linuxbox ~] # nano /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/desdelinux.fan.crt
SSLCertificateKeyFile /etc/pki/tls/private/desdelinux.fan.key

[root @ linuxbox ~] # service httpd restart
[root @ linuxbox ~] # Service httpd Status

Diffie-Hellman-Gruppe

Das Thema Sicherheit wird im Internet von Tag zu Tag schwieriger. Einer der häufigsten Angriffe auf Verbindungen SSL, Ist das Logjam und um sich dagegen zu verteidigen, müssen der SSL-Konfiguration nicht standardmäßige Parameter hinzugefügt werden. Dafür gibt es RFC-3526 «Modular Exponential (MODP) Diffie-Hellman Gruppen für Internet Key Exchange (IKE)«.

[root @ linuxbox ~] # cd / etc / pki / tls /
[root @ linuxbox tls] # openssl dhparam -out private / dhparams.pem 2048
[root @ linuxbox tls] # chmod 600 private / dhparams.pem

Entsprechend der von uns installierten Version von Apache verwenden wir die Diffie-Helman-Gruppe aus der Datei /etc/pki/tls/dhparams.pem. Wenn es sich um eine Version 2.4.8 oder höher handelt, müssen wir die Datei ergänzen /etc/httpd/conf.d/ssl.conf die folgende Zeile:

SSLOpenSSLConfCmd DHParameters "/etc/pki/tls/private/dhparams.pem"

Die von uns verwendete Apache-Version ist:

[root @ linuxbox tls] # yum info httpd
Geladene Plugins: schnellster Spiegel, langpacks Laden der Spiegelgeschwindigkeit aus der zwischengespeicherten Hostdatei Installierte Pakete Name: httpd Architektur: x86_64
Version: 2.4.6
Release: 45.el7.centos Größe: 9.4 M Repository: installiert Vom Repository: Base-Repo Zusammenfassung: Apache HTTP Server URL: http://httpd.apache.org/ Lizenz: ASL 2.0 Beschreibung: Der Apache HTTP Server ist ein Leistungsstark, effizient und erweiterbar: Webserver.

Da wir eine Version vor 2.4.8 haben, fügen wir am Ende des zuvor generierten CRT-Zertifikats den Inhalt der Diffie-Helman-Gruppe hinzu:

[root @ linuxbox tls] # cat private / dhparams.pem >> Zertifikate/desdelinux.fan.crt

Wenn Sie überprüfen möchten, ob die DH-Parameter korrekt zum CRT-Zertifikat hinzugefügt wurden, führen Sie die folgenden Befehle aus:

[root @ linuxbox tls] # cat private / dhparams.pem 
----- BEGIN DH-PARAMETER -----
MIIBCAKCAQEAnwfWSlirEuMwJft0hgAdB0km9d3qGGiErRXPfeZU+Tqp/ZFOCdzP
/O6NeXuHI4vnsTDWEAjXmpRzq/z1ZEWQa6j+l1PgTgk2XqaMViD/gN+sFPnx2EmV
keVcMDqG03gnmCgO9R4aLYT8uts5T6kBRhvxUcrk9Q7hIpGCzGtdgwaVf1cbvgOe
8kfpc5COh9IxAYahmNt+5pBta0SDlmoDz4Rk/4AFXk2mjpDYoizaYMPeIInGUzOv
/LE6Y7VVRY/BJG9EZ5pVYJPCruPCUHkhvm+r9Tt56slk+HE2d52uFRSDd2FxK3n3
cN1vJ5ogsvmHayWUjVUA18LLfGSxEFsc4wIBAg==
----- END DH PARAMETER -----

[root@linuxbox tls]# cat certs/desdelinux.fan.crt 
-----BEGIN CERTIFICATE-----
MIIGBzCCA++gAwIBAgIJANd9FLCkDBfzMA0GCSqGSIb3DQEBCwUAMIGZMQswCQYD
VQQGEwJDVTENMAsGA1UECAwEQ3ViYTEPMA0GA1UEBwwGSGFiYW5hMRcwFQYDVQQK
DA5EZXNkZUxpbnV4LkZhbjEUMBIGA1UECwwLRW50dXNpYXN0YXMxFzAVBgNVBAMM
DmRlc2RlbGludXguZmFuMSIwIAYJKoZIhvcNAQkBFhNidXp6QGRlc2RlbGludXgu
ZmFuMB4XDTE3MDUyMjE0MDQ1MloXDTIyMDUyMTE0MDQ1MlowgZkxCzAJBgNVBAYT
AkNVMQ0wCwYDVQQIDARDdWJhMQ8wDQYDVQQHDAZIYWJhbmExFzAVBgNVBAoMDkRl
c2RlTGludXguRmFuMRQwEgYDVQQLDAtFbnR1c2lhc3RhczEXMBUGA1UEAwwOZGVz
ZGVsaW51eC5mYW4xIjAgBgkqhkiG9w0BCQEWE2J1enpAZGVzZGVsaW51eC5mYW4w
ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCn5MkKRdeFYiN+xgGdsRn8
sYik9X75YnJcbeZrD90igfPadZ75ehtfYIxxOS+2U+omnFgr/tCKYUVJ50seq/lB
idcLP4mt7wMrMZUDpy1rlWPOZGKkG8AdStCYI8iolvJ4rQtLcsU6jhRzEXsZxfOb
O3sqc71yMIj5qko55mlsEVB3lJq3FTDQAY2PhXopJ8BThW1T9iyl1HlYpxj7OItr
/BqiFhxbP17Fpd3QLyNiEl+exVJURYZkvuZQqVPkFAlyNDh5I2fYfrI9yBVPBrZF
uOdRmT6jv6jFxsBy9gggcy+/u1nhlKssLBEhyaKfaQoItFGCAmevkyzdl1LTYDPY
ULi79NljQ1dSwWgraZ3i3ACZIVO/kHcOPljsNxE8omI6qNFWqFd1qdPH5S4c4IR1
5URRuwyVNffEHKaCJi9vF9Wn8LVKnN/+5zZGRJA8hI18HH9kF0A1sCNj1KKiB/xe
/02wTzR/Gbj8pkyO8fjVBvd/XWI8EMQyMc1gvtIAvZ00SAB8c1NEOCs5pt0Us6pm
1lOkgD6nl90Dx9p805mTKD+ZcvRaShOvTyO3HcrxCxOodFfZQCuHYuQb0dcwoK2B
yOwL77NmxNH1QVJL832lRARn8gpKoRAUrzdTSTRKmkVrOGcfvrCKhEBsJ67Gq1+T
YDLhUiGVbPXXR9rhAyyX2QIDAQABo1AwTjAdBgNVHQ4EFgQURGCMiLVLPkjIyGZK
UrZgMkO0X8QwHwYDVR0jBBgwFoAURGCMiLVLPkjIyGZKUrZgMkO0X8QwDAYDVR0T
BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAdy1tH1DwfCW47BNJE1DW8Xlyp+sZ
uYTMOKfNdnAdeSag1WshR6US6aCtU6FkzU/rtV/cXDKetAUIzR50aCYGTlfMCnDf
KKMZEPjIlX/arRwBkvIiRTU1o3HTniGp9d3jsRWD/AvB3rSus4wfuXeCoy7Tqc9U
FaXqnvxhF8/ptFeeCeZgWu16zyiGBqMj4ZaQ7RxEwcoHSd+OByg8E9IE2cYrWP2V
6P7hdCXmw8voMxCtS2s++VRd1fGqgGxXjXT8psxmY2MrseuTM2GyWzs+18A3VVFz
UXLD2lzeYs638DCMXj5/BMZtVL2a4OhMSYY4frEbggB3ZgXhDDktUb7YhnBTViM3
2sgJJOSTltOgAnyOPE0CDcyktXVCtu3PNUc+/AB3UemI9XCw4ypmTOMaIZ2Gl6Uo
pmTk41fpFuf8pqW3ntyu43lC5pKRBqhit6MoFGNOCvFYFBWcltpqnjsWfY2gG/b5
8D5HsedueqkAsVblKPBFpv1BB9X0HhBUYsrz8jNGZGbkgR4XQoIoLbQZHEB35APU
4yT1Lzc3jk34yZF5ntmFt3wETSWwJZ+0cYPw7n4E6vbs1C7iKAMQRVy+lI5f8XYS
YKfrieiPPdmQ22Zm2Tbkqi4zjJBWmstrw6ezzAQNaaAkiOiJIwvXU81KYsN37THh
Nf0/JsEjPklCugE=
-----END CERTIFICATE-----
-----BEGIN DH PARAMETERS-----
MIIBCAKCAQEAnwfWSlirEuMwJft0hgAdB0km9d3qGGiErRXPfeZU+Tqp/ZFOCdzP
/O6NeXuHI4vnsTDWEAjXmpRzq/z1ZEWQa6j+l1PgTgk2XqaMViD/gN+sFPnx2EmV
keVcMDqG03gnmCgO9R4aLYT8uts5T6kBRhvxUcrk9Q7hIpGCzGtdgwaVf1cbvgOe
8kfpc5COh9IxAYahmNt+5pBta0SDlmoDz4Rk/4AFXk2mjpDYoizaYMPeIInGUzOv
/LE6Y7VVRY/BJG9EZ5pVYJPCruPCUHkhvm+r9Tt56slk+HE2d52uFRSDd2FxK3n3
cN1vJ5ogsvmHayWUjVUA18LLfGSxEFsc4wIBAg==
----- END DH PARAMETER -----

Nach diesen Änderungen müssen wir die Dienste Postfix und httpd neu starten:

[root @ linuxbox tls] # Neustart des Service-Postfixes
[root @ linuxbox tls] # Service-Postfix-Status
[root @ linuxbox tls] # service httpd restart
[root @ linuxbox tls] # service httpd status

Die Aufnahme der Diffie-Helman-Gruppe in unsere TLS-Zertifikate kann die Verbindung über HTTPS etwas verlangsamen, aber das Hinzufügen von Sicherheit lohnt sich.

Squirrelmail überprüfen

DESPUÉS Zeigen Sie mit Ihrem bevorzugten Browser auf die URL, dass die Zertifikate korrekt generiert wurden und dass wir ihre korrekte Funktion wie über die Konsolenbefehle überprüfen http://mail.desdelinux.fan/webmail Nach dem Akzeptieren des entsprechenden Zertifikats wird eine Verbindung zum Webclient hergestellt. Beachten Sie, dass das HTTP-Protokoll, obwohl Sie es angeben, an HTTPS umgeleitet wird. Dies liegt an der Standardkonfiguration, die CentOS für Squirrelmail anbietet. Siehe die Datei /etc/httpd/conf.d/squirrelmail.conf.

Informationen zu Benutzerpostfächern

Dovecot erstellt die IMAP-Postfächer im Ordner home jedes Benutzers:

[root @ linuxbox ~] # ls -la /home/legolas/mail/.imap/
insgesamt 12 drwxrwx ---. 5 legolas mail 4096 22. Mai 12:39. drwx ------. 3 legolas legolas 75 22. Mai 11:34 .. -rw -------. 1 legolas legolas 72 22. Mai 11:34 dovecot.mailbox.log -rw -------. 1 legolas legolas 8. Mai 22 12:39 dovecot-uidvalidity -r - r - r--. 1 legolas legolas 0 22. Mai 10:12 dovecot-uidvalidity.5922f1d1 drwxrwx ---. 2 legolas mail 56 22. Mai 10:23 INBOX drwx ------. 2 legolas legolas 56 22. Mai 12:39 Gesendet drwx ------. 2 legolas legolas 30 Mai 22 11:34 Müll

Sie werden auch in / var / mail / gespeichert

[root @ linuxbox ~] # less / var / mail / legolas
Von MAILER_DAEMON Montag, 22. Mai 10:28:00 2017 Datum: Montag, 22. Mai 2017 10:28:00 -0400 Von: Interne Daten des Mailsystems Betreff: DIESE NACHRICHT NICHT LÖSCHEN – ORDNER INTERNE DATEN Nachrichten-ID: <1495463280@linuxbox> . Es wird automatisch von der Mailsystem-Software erstellt. Beim Löschen gehen wichtige Ordnerdaten verloren und der Ordner wird neu erstellt, wobei die Daten auf die ursprünglichen Werte zurückgesetzt werden. Von root@desdelinux.fan Mo 22. Mai 10:47:10 2017 Rückweg:desdelinux.fan> X-Original-An: legolas Geliefert an: legolas@desdelinux.fan Empfangen: von desdelinux.fan (Postfix, von Benutzer-ID 0) ID 7EA22C11FC57; Mo, 22. Mai 2017 10:47:10 -0400 (EDT) Datum: Mo, 22. Mai 2017 10:47:10 -0400 An: legolas@desdelinux.fan Betreff: Test User-Agent: Heirloom mailx 12.5 7/5/10 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20170522144710.7EA22C11FC57@desdelinux.fan> Von: root@desdelinux.fan (root) X-UID: 7 Status: RO Hallo. Dies ist eine Testnachricht von Buzz@deslinux.fan Montag, 22. Mai 10:53:08 2017 Return-Path: X-Original-An: legolas@desdelinux.fan Geliefert an: legolas@desdelinux.fan Erhalten: vom Systemadministrator.desdelinux.fan (Gateway [172.16.10.1]) von desdelinux.fan (Postfix) mit ESMTP-ID C184DC11FC57 fürdesdelinux.fan>; Mo, 22. Mai 2017 10:53:08 -0400 (EDT) Nachrichten-ID: <739874.219379516-sendEmail@sysadmin> Von: „buzz@deslinux.fan“ An: „legolas@desdelinux.Lüfter"desdelinux.fan> Betreff: Hallo Datum: Montag, 22. Mai 2017 14:53:08 +0000 X-Mailer: sendEmail-1.56 MIME-Version: 1.0 Inhaltstyp: multipart/verwandte; border="----MIME-Trennzeichen für sendEmail-794889.899510057
/ var / mail / legolas

Zusammenfassung der PAM-Miniserie

Wir haben uns den Kern eines Mailservers angesehen und ein wenig Wert auf Sicherheit gelegt. Wir hoffen, dass der Artikel als Einstiegspunkt in ein Thema dient, das so kompliziert und fehleranfällig ist wie die manuelle Implementierung eines Mailservers.

Wir verwenden die lokale Benutzerauthentifizierung, da wir die Datei korrekt lesen /etc/dovecot/conf.d/10-auth.conf, wir werden sehen, dass es am Ende enthalten ist -Standardmäßig- die Authentifizierungsdatei der Systembenutzer ! include auth-system.conf.ext. Genau diese Datei sagt uns in ihrem Header, dass:

[root @ linuxbox ~] # less /etc/dovecot/conf.d/auth-system.conf.ext
# Authentifizierung für Systembenutzer. Enthalten von 10-auth.conf. # # # # PAM-Authentifizierung. Heutzutage von den meisten Systemen bevorzugt.
# PAM wird normalerweise entweder mit userdb passwd oder userdb static verwendet. # ERINNERN SIE SICH: Sie benötigen die Datei /etc/pam.d/dovecot, die für die PAM # -Authentifizierung erstellt wurde, damit sie tatsächlich funktioniert. passdb {driver = pam # [session = yes] [setcred = yes] [fail_show_msg = yes] [max_requests = ] # [cache_key = ] [ ] #args = Taubenschlag}

Und die andere Datei existiert /etc/pam.d/dovecot:

[root @ linuxbox ~] # cat /etc/pam.d/dovecot 
#% PAM-1.0-Authentifizierung erforderlich pam_nologin.so auth include password-auth account include password-auth session include password-auth

Was versuchen wir über die PAM-Authentifizierung zu vermitteln?

  • CentOS, Debian, Ubuntu und viele andere Linux-Distributionen installieren Postifx und Dovecot mit standardmäßig aktivierter lokaler Authentifizierung.
  • Viele Artikel im Internet verwenden MySQL - und in jüngerer Zeit MariaDB -, um Benutzer und andere Daten zu einem Mailserver zu speichern. ABER dies sind Server für TAUSENDE BENUTZER und nicht für ein klassisches KMU-Netzwerk mit - vielleicht - Hunderten von Benutzern.
  • Die Authentifizierung über PAM ist erforderlich und ausreichend, um Netzwerkdienste bereitzustellen, solange diese auf einem einzelnen Server ausgeführt werden, wie wir in dieser Miniserie gesehen haben.
  • In einer LDAP-Datenbank gespeicherte Benutzer können so zugeordnet werden, als wären sie lokale Benutzer, und die PAM-Authentifizierung kann verwendet werden, um Netzwerkdienste von verschiedenen Linux-Servern, die als LDAP-Clients fungieren, für den zentralen Authentifizierungsserver bereitzustellen. Auf diese Weise würden wir mit den Anmeldeinformationen der Benutzer arbeiten, die in der zentralen LDAP-Serverdatenbank gespeichert sind, und es wäre NICHT unbedingt erforderlich, eine Datenbank mit lokalen Benutzern zu verwalten.

Bis zum nächsten Abenteuer!


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Lagarto sagte

    Glauben Sie mir, dass dies in der Praxis ein Prozess ist, der mehr als einem Systemadministrator starke Kopfschmerzen bereitet. Ich bin überzeugt, dass er in Zukunft ein Referenzhandbuch für alle sein wird, die ihre eigenen E-Mails verwalten möchten. Dies wird zu einem praktischen Fall in einem ABC bei der Integration von Postfix, Dovecot, Squirrelmail ..

    Vielen Dank für Ihren lobenswerten Beitrag,

  2.   Darko sagte

    Warum nicht Mailpile, wenn es um Sicherheit geht, mit PGP verwenden? Auch Roundcube hat eine viel intuitivere Oberfläche und kann auch PGP integrieren.

  3.   Martin sagte

    Vor 3 Tagen habe ich den Beitrag gelesen, ich weiß, wie ich mich bei Ihnen bedanken soll. Ich habe nicht vor, einen Mailserver zu installieren, aber es ist immer hilfreich, die Erstellung von Zertifikaten zu sehen, die für andere Anwendungen nützlich sind, und diese Tutorials laufen kaum ab (insbesondere wenn Sie centOS verwenden).

  4.   federico sagte

    Manuel Cillero: Vielen Dank, dass Sie diesen Artikel mit und von Ihrem Blog verlinkt haben. Dies ist der Mindestkern eines Mailservers, der auf Postfix und Dovecot basiert.

    Eidechse: Wie immer wird Ihre Bewertung sehr gut aufgenommen. Vielen Dank.

    Darko: In fast allen meinen Artikeln drücke ich mehr oder weniger aus, dass "jeder die Dienste mit den Programmen implementiert, die ihm am besten gefallen". Danke für den Kommentar.

    Martin: Danke auch an dich für das Lesen des Artikels und ich hoffe es hilft dir bei deiner Arbeit.

  5.   Sternzeichen Karburus sagte

    Enormer Artikel Freund Federico. Vielen Dank für ein so gutes Tuto.

  6.   schelmisch sagte

    Hervorragend, obwohl ich "virtuelle Benutzer" verwenden würde, um zu vermeiden, dass jedes Mal, wenn ich eine E-Mail hinzufüge, ein Systembenutzer erstellt wird. Dank habe ich viele neue Dinge gelernt und dies ist die Art von Post, auf die ich gewartet habe

  7.   Willinton Acevedo Rueda sagte

    Guten Tag,

    Sie würden es wagen, dasselbe mit Fedora Directory Server + Postifx + Dovecot + Thunderbird oder Outlook zu machen.

    Ich habe einen Teil, aber ich stecke nicht fest. Ich würde das Dokument gerne mit der Community teilen @desdelinux

  8.   FICO sagte

    Ich hätte nicht gedacht, dass es mehr als 3000 Besuche erreichen würde !!!

    Grüße Eidechse!

  9.   dunkles Ende sagte

    Ausgezeichneter Tutorialkollege.
    Könnten Sie dies für Debian 10 mit Benutzern eines auf Samba4 gemounteten Active Directory tun?
    Ich stelle mir vor, es wäre fast dasselbe, aber ich würde den Authentifizierungstyp ändern.
    Der Abschnitt, den Sie zum Erstellen selbstsignierter Zertifikate verwenden, ist sehr interessant.