Ein Umzug einer kompletten Installation von Proxmox auf größeren Datenträger

Blick in ein Rechenzentrum mit Serverschränken

Bei mir war eine größere SSD für den Proxmoxserver fällig da sich die drei virtuellen Maschinen plus ein paar Container als zu umfangreich erwiesen haben für die bisherige 120 GB SSD. Die Symtome dafür sind bei Proxmox immer, dass die virtuellen Maschinen und teilweise auch die Container wegen Ressourcenmangel hängen bleiben und sich nicht mehr starten lassen. Zunächst dachte ich man könnte einfach das Image mit dd auf die neue SSD ziehen und die neue SSD einfach umpartitionieren und mit größerem Swap versehen (bei der Gelegenheit hat die Kiste auch mehr RAM bekommen). Leider war das dank der LVM-Struktur von Proxmox überhaupt nicht so möglich sondern Proxmox musste neu installiert werden. Die ganzen Container und virtuelle Maschinen wollte ich jedoch auf die neue Hardware retten.

Zunächst wurden von allen Containern und virtuellen Maschinen zur Sicherheit lauffähige Backups gemacht und danach Proxmox frisch auf der neuen SSD installiert. Eine neue Installation aller virtuellen Maschinen und Container hätten mich tagelange Arbeit gekostet aber eine Suche hat gezeigt das dies unnötig ist da die Struktur der Images und Systemeinstellungen recht übersichtlich im Dateisystem des Hostrechners ist und das ganze Unterfangen im Grunde mit scp zu erledigen ist.

Weiterlesen

dd über ssh ausführen und übertragen

Geöffnete Festplatte

Wenn man ein Dump eines kompletten Datenträgers auf einem Serversystems bekommen möchte kann es sinnvoll sein dies über ssh auszuführen – also das output-File wird auf einem völlig anderen Rechner gespeichert. dd hat im einfachsten Fall den folgenden recht ungewöhnlichen Syntax:

dd if=<Inputfile> of=<Outputfile>

Dabei kann, getreu dem Unix-Motto „Alles ist eine Datei”, das Inputfile sowohl eine reguläre Datei als auch eine Gerätedatei sein. Ein Dump von sda1 nach ~/dumpfile kann also mit der Ausführung als:

dd if=/dev/sda1 of=~/dumpfile

Weiterlesen

Upgrade Debian Buster (10) nach Debian Bullseye (11)

Blick in ein Rechenzentrum mit Serverschränken

Nachdem ich eine Weile damit gewartet habe den Server von Buster (oldstable) zum aktuellen Debian-Release (stable) upzugraden habe ich das jetzt die Tage gemacht. Wie bei Debian üblich war das Upgrade wieder einmal erstaunlich problemlos. Ich hatte einen kleinen Fehler in der Konfiguration von Dovecot zu suchen der seltsamerweise vorher nicht aufgefallen ist. Nun hier der Workflow für das Upgrade von Buster nach Bullseye.

Eine einfache Regel vor einem Releasewechsel ist: „Better is you have a backup“!

Zunächst muss man die Buster-Installation auf den neusten Stand bringen – ich sehe eigentlich zu das mein Server immer auf dem neusten Stand ist.

# apt-get update && apt-get dist-upgrade && apt-get autoremove

Weiterlesen

Postfix mit DKIM, SPF und DMARC ausstatten

Logo von Postfix

Viele Betreiber von kleineren Email-Servern kennen das Problem, dass die großen Anbieter die Mails von ihren Servern gerne mal als Spam einsortieren. t-online.de geht sogar soweit, dass sie Mails von kleinen Servern direkt abweisen und man muss erst durch Email an die angegebene Email-Adresse seinen Mailserver freischalten lassen. Mit einer neuen IP-Adresse beginnt das Spiel dann von neuem.
Daher ist es sinnvoll seine Mails mit allem Möglichen und möglichst fehlerfrei auszustatten was als state-of-the-art auf dem Gebiet der Email-Sicherheit betrifft gilt. Die Sinnhaftigkeit und Wirkung dieser Maßnahme was das Identifizieren von potentiellen Spam betrifft braucht man da nicht in Frage zu stellen denn oft macht es wenig sinn denn niemand verhindert, dass Spammer die gleichen Methoden benutzen. Gängig auf dem Gebiet ist DKIM, SPF und DMARC. Interessanterweise haben viele größere Email-Provider Probleme mit ihrer eigenen korrekten Implementierung oder verzichten ganz darauf.

Wikipedia definiert folgendes:

  • DKIM: DomainKeys, auch bekannt unter DomainKeys Identified Mail (DKIM), ist ein Identifikationsprotokoll zur Sicherstellung der Authentizität von E-Mail-Absendern. Es wurde konzipiert, um bei der Eindämmung von unerwünschter E-Mail wie Spam oder Phishing zu helfen.
  • SPF: Das Sender Policy Framework (SPF; früher Sender Permitted From) ist ein Verfahren, mit dem das Fälschen der Absenderadresse einer E-Mail verhindert werden soll, genauer das Versenden von E-Mail über nicht legitimierte Mail Transfer Agents (MTAs) unterbindet. Es entstand als Verfahren zur Abwehr von Spam. Bei SPF trägt der Inhaber einer Domain in das Domain Name System ein, welche Adressen von MTAs zum Versand von E-Mails für diese Domain berechtigt sind.
  • DMARC: Domain-based Message Authentication, Reporting and Conformance (DMARC) ist eine Spezifikation, die entwickelt wurde, um den Missbrauch von E-Mails zu reduzieren, wie er etwa bei Mail-Spoofing vorkommt. DMARC versucht einige seit langem bestehende Unzulänglichkeiten im Zusammenhang mit der Authentifizierung von E-Mails zu beheben und wurde bei der IETF zur Standardisierung eingereicht.

Weiterlesen

fail2ban – was machen wenn man sich selber ausgesperrt hat?

fail2ban ist ein tolles Werkzeug um ungebetene Gäste von seinem Server fern zu halten. Nach vordefinierten Regeln überwacht fail2ban in Echzeit die Logfiles nach verdächtigen Angriffsmustern. Nach einer frei definierbaren Anzahl an Fehlversuchen wird die verursachende IP-Adresse für eine ebenfalls frei definierbare Zeit durch iptables geblockt. Die häufigesten Angriffsversuche sind mit brute-force-Angriffen auf den ssh-Daemon Angriffe auf WordPress oder Postfix bzw. Dovecot, also das Mailsystem. Nun kann es vorkommen, dass man sich bzw. seine IP-Adresse unbeabsichtigt selber aussperrt. Das kann durch Schusseligkeit aber auch durch einen fehlkonfigurierten Email-Client oder ähnlichem vorkommen. fail2ban bzw. iptables macht keinen Unterschied zwischen den Diensten beim Sperren von IP-Adressen. Das hat nun den blöden Nebeneffekt, dass man für eine bestimmte Zeit keinen Zugriff mehr auf seinen Server hat.

Zunächst muss man seine eigene öffentliche IP-Adresse heraus bekommen. Da die meisten Menschen heutzutage über einen Router mit NAT im Internet sind entspricht die IP-Adresse im lokalen Netzwerk nicht seiner öffentlichen IP-Adresse. Die öffentliche IP-Adresse ist meist die internetseitige IP-Adresse des Routers. In der Shell kann man seine öffentliche IP-Adresse einfach ermitteln:

$ host myip.opendns.com resolver1.opendns.com | grep "myip.opendns.com has" | awk '{print $4}'
123.456.789.123

Weiterlesen

Durch fail2ban geblockte IPs an AbuseIPDB melden

 

Wenn man eine funktionierende Installation von fail2ban hat kann man die geblockten IP-Adressen an AbuseIPDB weiterleiten. AbuseIPDB sammelt bösartige IPs die auf verschiedenen Weise Server angreifen. Um IP-Adressen zu melden braucht man einen API-Schlüssel. Den erhält man dadurch das man sich bei AbuseIPDB einen Account erstellt und unter API einen Schlüssel erstellt. Der API-Schlüssel ist ein längerer hexadezimaler Wert.

Leider ist das Debian-10-Paket von fail2ban so alt, dass der API-Aufruf nicht mehr funktioniert. Zum Glück ist es nur eine Datei die aktualisiert werden muss. Dazu wechselt man in das Verzeichnis /etc/fail2ban/action.d/ und lädt mit:

wget https://raw.githubusercontent.com/fail2ban/fail2ban/master/config/action.d/abuseipdb.conf

die aktuelle Datei abuseipdb.conf in das korrekte Verzeichnis. Unten in dieser Datei wird auch in der untersten Zeile bei der Variablen abuseipdb_apikey der API-Schlüssel eingetragen.

Weiterlesen

Ein wenig zu Postfix und der Mailqueue

Logo von Postfix

Postfix ist ein weit verbreiteter Mail Transfer Agent (MTA) der auch bei mir in Benutzung ist. Seltsamerweise ist Email eine der komplexesten Dienste auf einem Server. Daher kann es durchaus vorkommen, dass etwas nicht rund läuft. Hier soll in einem kurzen How-To die Mailqueue von Postfix behandelt werden. Für mich soll das hier so etwas wie ein Spickzettel sein denn der Umgang mit der Mailqueue ist alles andere als intuitiv und offensichtlich. Postfix sammelt dort alle Mails die eintreffen oder versandt werden sollen die aus welchen Gründen auch immer nicht sofort abgearbeitet werden können. Die aktuelle Mailqueue kann man sich mit mailq anzeigen lassen und sie sollte eigentlich so aussehen:

# mailq
Mail queue is empty

Weiterlesen

Ein Let’s Encrypt TLS-Zertifikat für Postfix statt ein selbstsigniertes Zertifikat

Logo von Postfix

Ich betreibe auf dem Server auch eine Nextcloud-Installation als Groupwarelösung. D.h. mein Kalender ist über mehrere Geräte abrufbar und auch teilbar, Emails können über ein Webmailer (Rainloop) versandt werden – leider ohne vernünftigen Unterstützung von GPG da man dazu den privaten Schlüssel auf dem Server hinterlegen müsste und ich einen Yubikey benutze welcher nicht unterstützt wird. Nun wollte ich für Nextcloud die Emailfunktion einrichten damit ich per Email an Termine erinnert werden kann. Trotz korrekter Verbindungsdaten funktionierte dies nicht und /var/log/mail.log quitierte die Testmail mit folgender Fehlermeldung:

postfix/smtps/smtpd[25336]: warning: TLS library problem: error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca:../ssl/record/rec_layer_s3.c:1544:SSL alert number 48:

Nach einer Recherche stellte sich heraus, dass sich Nextcloud an dem selbst-signierten TLS-Zertifikat stört. Andere Mailer K-9 und Thunderbird scheint das nicht zu stören da Email ansonsten funktioniert. Seit einer Weile kann man von Let’s Encrypt kostenlose Zertifikate bekommen, was ich auch reichlich auf Websites benutze. Nun gilt es das TLS-Zertifikat von Postfix auf eines von Let’s Encrypt umzustellen. Dazu muss zunächst einmal ein Zertifikat beantragt werden. Dies erfolgt mit dem Client certbot der jedoch mit apt-get install certbot installiert werden muss.

Weiterlesen

OpenMediaVault auf ein bestehendes Debian/GNU Linux nachinstallieren

Logo von Open Media Vault

OpenMediaVault (OMV) kann man natürlich komplett mit dem Linux-Unterbau als Installationsimage herunterladen. Es gibt jedoch gute Gründe OMV auf eine bestehende Debian-Installation zu installieren. Mich hat vor allem der seltsame Kernel und aber auch die unübersichtlichen voreingestellten Repositorien im OMV-Unterbau dazu bewogen diesen Weg zu wählen.

Zunächst installiert man eine schlankes Debian mit dem aktuellen Netinstall-Image. Dabei wird zum Schluss nur SSH-Server und Standard-Systemwerkzeuge als zusätzliche Pakete ausgewählt. Eine graphische Oberfläche wie GNOME oder KDE ist normalerweise überflüssig.

Weiterlesen

Der unbekannte Befehl – „umask“ der Maskierer

Symbolisiertes Terminal

umask führt eigentlich sehr zu unrecht ein Schattendasein auf den meisten Rechnern denn umask ist ein Sicherheitsfeature was die Rechteverwaltung des Filesystems bestimmt. umask bestimmt wo und wann welche Besitzer- bzw Gruppenrechte gesetzt werden.

Bekanntlich hat unter Linux/Unix jede Datei einen Besitzer und gehört zu einer Gruppe. Unter Debian ist häufig für einen Benutzer auch der Name als Gruppe gesetzt. So gehört der Benutzer max dann der Gruppe max an. Weitere Gruppen wie floppy oder cdrom oder games können folgen. Jeder Benutzer der weder der Besitzer einer Datei ist noch der Gruppe angehört der gehört im Rechtesystem zu other.

Die wichtigsten Rechte werden in jeweils drei Bit beschrieben:

$ ls -l .bashrc
-rw-r--r-- 1 max max 3667 Jul 10 18:00 .bashrc
$ ls -ld .
drwxr-xr-x 77 max max 12288 Aug 25 23:02 .

Dabei symbolisiert die Ausgabe rwxrwxrwx die Rechte für den Besitzer, Gruppe und other (also alle anderen) und dahinter dann den Besitzer und die Gruppe zu der die Datei oder das Verzeichnis (Verzeichnisse sind unter Linux/Unix eigentlich auch nur eine besondere Art Datei) gehört.

Weiterlesen

kais-universum.de