Skip to content

Übersicht wichtiger und praktischer Postfix Befehle und Sicherheitseinstellungen

Zum Wochenende eine kleine Übersicht praktischer Postfix Befehle, damit es mit dem eigenen Mailserver oder Mailrelay besser klappt.

postfix

Übersicht Postfix Befehle

Installierte Version anzeigen

sudo postconf mail_version

Eigene Konfiguration anzeigen

sudo postconf -n

Standard Konfiguration anzeigen

sudo postconf -d

Mailwarteschlage anzeigen

sudo mailq

Anzahl der Mails in der Warteschlange anzeigen

sudo mailq | tail -1

Mailqueue abarbeiten

sudo postqueue -f

Einzelne Mails löschen

sudo postsuper -d QueueID

Alle Mails aus der Queue löschen (Vorsicht walten lassen)

sudo postsuper -d ALL

Mails in tabellenform anzeigen

sudo qshape

Einzelne Mail ansehen

sudo postcat -q QueueID

Bestimmte Mails einer Adresse löschen

postqueue -p|grep 'email@beispiel.de'|awk {'print $1'} | grep -v "(host"|tr -d '*!'|postsuper -d -

Postfix Logs ansehen (Ubuntu)

sudo tailf /var/log/mail.log

Mail Queue in Textdatei umleiten

sudo mailq > /tmp/mailtext.txt

Postfix Konfiguration neu laden

sudo systemctl reload postfix

Mails auswerten und Statistiken erstellen

Hier Verweise ich auf den Pflogsumm Artikel, welcher immer noch Gültigkeit hat.

sudo apt install pflogsumm 

qshape

Sicherheit und Härtung der Postfix Einstellungen

Damit die Konfiguration passt, hier eine Übersicht sinnvoller Einträge für die main.cf.

#SMTP daemon absichern - Mailempfang
 smtpd_tls_security_level = may
 smtpd_tls_mandatory_ciphers = high
 smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
 smtpd_tls_protocols = !SSLv2 !SSLv3
 smtpd_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CBC3-SHA, KRB5-DES, CBC3-SHA
#SMTP absichern - Mailsender
 smtp_tls_protocols = !SSLv2, !SSLv3
 smtp_tls_security_level = may
 smtp_tls_mandatory_ciphers = high
 smtp_tls_mandatory_protocols = !SSLv2 !SSLv3
#Einstellungen für relaying
  smtp_sasl_auth_enable = yes
  smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
  smtp_sasl_security_options = noanonymous
#Verify wird nicht benötigt
  disable_vrfy_command=yes
#Interface auf lokal schalten
  inet_interfaces=127.0.0.1
#Ipv6 abschalten wenn nicht benötigt
  inet_protocols = ipv4
#Serverbegrüßung einschalten
  smtpd_helo_required=yes


 Logjam in Postfix verhindern

Um die Logjam Lücke zu schließen, muss der Diffie Hellmann Key Exchange neu konfiguriert werden. Dazu wird folgendes generiert.

sudo openssl dhparam -out /etc/postfix/dhparams.pem 2048

Danach muss der Parameter nur noch in die main.cf eingetragen werden.

smtpd_tls_dh1024_param_file = /etc/postfix/dhparams.pem

Sind alle Einstellungen gesetzt und die Konfiguration neu geladen kann getestet werden.

posttls-finger

Verschlüsselte Verbindung eines Postfix Servers testen

Um eine Verbindung zu überprüfen bietet sich das Tool posttls-finger an, damit erspart sich ein Admin eventuell das Anpassen von Logeinstellungen oder die Verwendung von Telnet.

sudo posttls-finger smtp.testserver.de

 

PostgreSQL 10 - Neuerungen und Installation unter Ubuntu 16.04 LTS

Vor wenigen Tagen wurde PostgreSQL 10 veröffentlicht. Das Hauptaugenmerk der neuen Version liegt auf logischer Replikation, parallelen Queries und Stabilität bzw. Sicherheit.

postgres_logo

Die Neuerungen

Letzteres macht sich durch die Verabschiedung der veralteten MD5 Authentifizierung bemerkbar. Ab sofort kommt SCRAM-SHA-256 zum Einsatz.

Die Einführung der logischen Replikation verspricht schnelleres Übertragen inkrementeller Änderungen auf andere Nodes. Hier findet sich ein Beispiel zur Anwendung dieses neuen Feature.

Für die synchrone Replikation wurden Quorom Commits eingeführt. Diese, im Rahmen des "Zero Downtime" Plans, eingeführte Funktion erlaubt es dem Admin festzulegen wie viele Replikas erfolgreiche Änderungen melden müssen, damit übertragene Daten als sicher gelten.

Die mit PostgreSQL 9.6 vorgestellen parallelen Queries wurden weiter verbessert. So unterstützen nun Daten Scans wie Index Scans oder Merge Joins diese Funktion.

Die Datenbank Partitionierung wurde ebenfalls erweitert.

Weitere Details lassen sich der PostgreSQL 10 Release Ankündigung entnehmen. Änderungen im Detail sind im Wiki zu finden


Installation PostgreSQL 10 unter Ubuntu 16.04 LTS

Zwar hatte ich die Installation der Beta schon in einen Artikel gepackt
möchte aber dennoch schnell das Vorgehen darlegen.

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' 

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
 sudo apt-key add -
      
sudo apt update

sudo apt install postgresql-10


 



Das könnte dich auch interessieren

PostgreSQL 9.6, pgAdmin 4 und Barman 2.0 - Die Neuerungen und Installation unter Ubuntu 14.04 und 16.04

pgAdmin4 - Installation und ein erster Blick auf die neue PostgreSQL Schaltzentrale

PGCenter - PostgreSQL Datenbank Statistiken und Leistungsdaten auf einen Blick

22 praktische PostgreSQL Befehle

Praktische PostgreSQL Tools und Links in der Übersicht

pgBadger 4.0 - PostgreSQL Logs analysieren und auswerten

PgTune - Performance Einstellungen für PostgreSQL Datenbanken automatisch erstellen

apt vs. apt-get - Was ist der Unterschied?

Nicht erst seit Ubuntu 16.04 dürfte der apt Befehl bekannt sein, allerdings hat er seit dem einen höheren Bekanntheitsgrad erreicht.

Doch wo genau liegen die Unterschiede von apt und apt-get?

Beide basieren auf dpkg, dem Paketmanagement von Debian (Debian Package Manager).

APT (Advanced Package Tool) ist nichts weiter als ein Kommandozeilen Tool, welches mit dpkg interagiert. 

aptitude-apt-get-apt-Commands

Um Benutzern die Arbeit mit Paketen einfacher zu machen, wurde apt-get ins Leben gerufen, eine Weiterentwicklung davon ist apt. Beide können als Frontends für dpkg angesehen werden.


Das neuere apt bietet grafische Elemente (es lebe der farbige Fortschrittsbalken) und soll Kommandos wie apt-cache und apt-get unter einem Hut vereinen.

apt-fortschrittsbalken

Überblick apt Befehle

Einen Überblick der alten und neuen Befehle habe ich euch unten zusammengestellt.

apt vs. apt-get
apt Kommando apt-get Kommando Funktion
apt install apt-get install Pakete installieren
apt remove apt-get remove Pakete deinstallieren
apt list --upgradable -- Anstehende Updates anzeigen
apt list dpkg list Pakete auflisten
apt purge apt-get purge Pakete und Konfiguration entfernen
apt update apt-get update Repository aktualisieren
apt upgrade apt-get upgrade Anstehenden Pakete aktualisieren
apt full-upgrade apt-get dist-upgrade Anstehenden Pakete aktualisieren und deinstallieren
apt autoremove apt-get autoremove Nicht benötigte Pakete deinstallieren
apt search apt-cache search Pakete suchen
apt show apt-cache show Paketdetails anzeigen
apt edit-sources -- sources.list editieren

 

Sie haben das Recht auf Zugriff - Online Chmod Generator

Chown, chmod, chgrp sind wohl die bekanntesten Befehle, wenn es darum geht Zugriffsrechte von Dateien oder Ordnern auf Linux Systemen zu setzen.

Solche Berechtigungen werden oft direkt über die Konsole gesetzt und erfordern etwas Übung mit den Kommandos aus den coreutils, speziell mit CHMOD.

Chmod-Calculator-Chmod-Generator

CHMOD Generator - Datei Berechtigungen klicken

Im Prinzip ist das Zusammenspiel von u (Besitzer), g (Gruppe) und o (Andere) mit Lesen (4), Schreiben (2) und Ausführen (1) kein Hexenwerk, kann aber dennoch verwirren.

Damit nicht pauschal Rechte für Alles und Jeden vergeben werden (777 oder rwxrwxrwx) sollte immer darauf geachtet werden, welche Berechtigungen im System gesetzt sind oder werden.

Der CHMOD Calculator bietet hier eine gute Hilfestellung, da sich die benötigte Konfiguration einfach klicken lässt und dazu noch ausführliche Erklärungen liefert

Fallstricke wie Setuid and Setgid werden auf der Webseite ebenfalls beschrieben und sollten jedem zu einem einfacheren Umgang mit "Change Mode" verhelfen.

CHMOD Calculator

Zeig mir deine Ports - netstat oder ss

Das Netzwerkdiagnose Tool netstat gehört zum Standardrepertoire vieler Administratoren. Die Netzwerkstatistiken sind aus den 90er Jahren und ermöglichen unter Linux eine Auflistung offener Ports oder TCP/UDP Verbindungen.

Da das Tool nur auf der Kommandozeile existiert wird es jedem Windows Nutzer wohl nicht unbedingt bekannt sein (eher TCPView), aber auch hier ist es integriert und kann ähnlich wie unter Linux verwendet werden.

Folgender beispielhafte netstat Befehl zeigt unter Linux die relativ nützliche Funktion des Tools.

netstat -lnp

Zur Erklärung: Das -l listet die Verbindungen auf, wobei -p PID bzw. den Programmnamen auflistet und -n eine nummerische Ausgabe der Ports forciert

PS: Unter Windows lässt sich eine ähnliche Ausgabe mit netstat -an erreichen.

netstatWeiter möchte ich auf netstat aus dem net-tools Paket nicht eingehen. Erstens gilt es als veraltet (aber beliebt) und zweitens dürften die Funktionen den meisten bekannt sein. Darum ein kurzer Blick auf die Alternative.


ss - socket statistics

Wie bereits oben erwähnt, ist netstat schon etwas älter. Mit den socket statistics existiert ein weiteres und neueres Tool, welches ähnliche Funktionen bietet.

Die Funktionsweise ist den netstats angelehnt, was am folgenden Beispiel zu erkennen ist.

ss -ln

Hier steht das -l für alle bestehenden Verbindungen, das -n listet Portnummern statt Namen auf.

Die Verwendung von -n beschleunigt zusätzlich die Ausgabe, da keine Hostnamen aufgelöst werden müssen.

Weitere praktische Befehle sind ebenfalls möglich:

ss -lt

Dieser Befehl listet bestehende tcp Verbindungen auf.

ss -lu

Dieses Kommando listet bestehende udp Verbindungen auf, mit -lua lassen sich alle Verbindungen anzeigen.

ss -p

Wie bei netstat werden hier die Prozess IDs (PID) gelistet.

ss -s

Abschließend bietet -s einen Überblick über alle Verbindungen (siehe Screenshot)

ss

Neben diesen eher alltäglichen Befehlen bietet ss viele weitere Möglichkeiten das Netzwerk zu untersuchen.

So besteht die Möglichkeit der Filterung nach Zieladresse (ss -nt dst 192.168.11.232) oder bestimmten Ports (ss -nt '( dst :443)') bestehenden IPv4 Verbindungen (ss -t4 state established) oder nur IPv6 (ss -tl6).

ss Befehlsübersicht

Einen Überblick aller Befehle verschafft ihr euch unter man ss oder via help (siehe Screenshot). 

ss-befehl

Sollten die Socket Statistics nicht auf dem System verfügbar sein, sollte das Paket iproute2 nach installiert werden.

Fazit

Alleine schon wegen des Alters von netstat und der nicht mehr vorhandenen Paketaktualisierung rückt Socket Statistics in den Vordergrund. 
Durch die Mehrzahl an Funktionen, sollten sich auch Nostalgiker langsam aber sicher auf das moderne Tool einstellen.

Manche Funktionen kann aber auch die neue Alternative nicht ersetzen, so muss für netstat -r auf iproute umgestiegen werden, da ss dies nicht mehr unterstützt.