Unter Umständern (z.B. Server mit geringem Hauptspeicher) kann es notwendig sein den Virensucher von MailCow/RSpamd abzuschalten. Dies funktioniert wie folgt:
cd /opt/mailcow-dockerized
pico mailcow.conf
Anschließend suchen wir die Zeile SKIP_CLAMD und setzen den Wert wie gewünscht. Y bedeutet ausschalten, N bedeutet anschalten.
Nach der Konfigurationsänderung müssen wir dies dem Docker Image noch mitteilen.
Um das Postfix Maillog einer MailCow Docker installation fortlaufend ausgeben zu können kann folgender Befehl verwendet werden: (Ich gehe mal davon aus, dass MailCow unter /opt/mailcow-dockerized installiert ist)
cd /opt/mailcow-dockerized && /usr/local/bin/docker-compose logs --tail=10 -f postfix-mailcow
Am einfachsten nutzt man diesen über einen Alias um es schnell zur Hand zu haben.
alias mlt='cd /opt/mailcow-dockerized && /usr/local/bin/docker-compose logs --tail=10 -f postfix-mailcow'
Möchte man das Log im Nachgang durchforsten, so kann man natürlich die GUI von MailCow verwenden.
Bei der „dockerized“ Installation von MailCow kann man ganz einfach einzelne (oder auch alle auf einmal) sichern. Dazu bringt MailCow schon ein eigenes Script mit.
Man findet dies unterhalb seiner MailCow-Docker-Umgebung im Unterordner /helper-scripts/ .
Als Parameter erwartet das Script den Pfad wo die Backup-Dateien abgelegt werden sollen. Möchte man dies in einem Script verarbeiten, so kann man z.B. folgenden Einzeiler verwenden:
Im obigen Beispiel wird in das Verzeichnis /var/backups/ulix/docker/vmail die kompletten Maildaten (aus Dovecot) geschrieben. Sicherungen die älter als 2 Tage (–delete-days 2) sind werden automatisch gelöscht.
Genauso könnte man auch die anderen Container (mysql crypt redis postfix) sichern.
Auf meinen Servern wird z.B. der Backup-Server via SSHFS in das Dateisystem durch das PRE-Script von Duply gemounted und anschließend die Container Backups direkt dort gesichert. (Ebenfalls durch das PRE-Script). Nach der eigentlichen Duply-Datensicherung wird durch das POST-Script der Sicherungspfad wieder auf dem Dateisystem ausgehängt.
Um Zertifikate für Dienste zu erstellen, die keinen Webserver mitbringen, kann man auch wie folgt erstellen. Dazu ist es nötig, dass der Domainprovider bzw. DNS Anbieter eine Schnittstelle für die DNS-Challenge mitbringt. INWX tut dies :-)
Man kann unter Linux die Datei /etc/issue.net dazu verwenden, vor dem eigentlichen Passwort Prompt, eine Meldung auszugeben. Diese kann z.B. Nutzer warnen ein Login durchzuführen sofern sie nicht dazu berechtigt sind.
Die Umsetzung ist denkbar einfach. Zuerst müssen wir uns natürlich korrekt auf dem System anmelden und im Anschluss die Datei /etc/issue.net editieren.
pico /etc/issue.net
Dort kann man die gewünschte Meldung eingeben und entsprechend speichern. Im Anschluss müssen die den SSH-Daemon dazu bringen diese auch zu verwenden. Dazu editieren wie die Datei /etc/ssh/sshd_config und suchen nach der Zeile Banner
pico /etc/ssh/sshd_config
Diese dann wie folgt einstellen. (In der Regel ist die Zeile auskommentiert)
# no default banner path
Banner /etc/issue.net
Nach dem Neustart des SSH-Daemon wird bei der Anmeldung vor dem Passwort Prompt die Meldung ausgegeben. (Siehe Bild oben)
service ssh restart
Bei der Authentifizierung mittels SSH-Keys (welches ich empfehle und bevorzuge), gibt es natürlich kein Passwort Prompt. Die Meldung wird dann aber trotzdem ausgegeben.
Bei Twitter bin ich auf ein Verschlüsselungsprogramm (age) aufmerksam geworden. Verschlüsselt wird wie bei PGP auch über ein Public-/Secret- Key Verfahren.
Die Installation und Handhabung ist recht einfach. Ich möchte hier ein paar davon (für OSX) beschreiben. Wer es genauer nachlesen möchte kann dies gerne unter https://github.com/FiloSottile/age tun.
Die Installation mittels brew ist denkbar einfach. Mit folgendem Befehl wird age und age-keygen installiert.
brew install age
Zuerst muss ein geheimer und öffentlicher Schlüssel generiert werden. Dies funktioniert wie folgt:
age-keygen > key.txt
Wer seinen privaten Schlüssel mit einem Passwort versehen möchte kann dies mit folgenden Befehl tun. Der öffentliche Schlüssel der dabei angezeigt wird sollte man sich anschließend in einer Datei merken!
age-keygen | age -p > key.age
Nun hat man eigentlich schon alles was man benötigt, dass einem eine Verschlüsselte Datei zugesendet werden kann. Das Public-Key-Verfahren beruht ja darauf, dass jemand mit meinem öffentlichen Schlüssel für mich etwas verschlüsselt, was nur ich mitmeinem privaten Schlüssel wieder entschlüsseln kann.
Wer selbst eine Domain betreibt und die dort Möglichkeit besitzt einen TXT Eintrag zu erstellen, der kann seinen öffentlichen Schlüssel auch dort ablegen. Mein aktueller Schlüssel liegt im TXT Eintrag zu knut.systemtechnics.de .
Diesen kann man mit dem Befehl dig auch ganz einfach aus der Konsole auslesen.
dig +short TXT knut.systemtechnics.de | tr -d \"
Kommen wir nun zum eigentlichen, dem verschlüsseln einer Datei. Die Einfachste Variante ist mit age eine Datei zu verschlüsseln und diese mit einem Passwort zu versehen. Dies funktioniert die folgt:
age -p meine-datei.txt > meine-datei.age
Nach der Eingabe des Passworts (zweimal) ist die Datei verschlüsselt.
Zum entschlüsselt (mit einem Passwort) kann folgender Befehl verwendet werden:
age -d meine-datei.age > neue-datei.txt
Nach Eingabe des Passwortes, welches beim Verschlüsseln verwendet wurde, ist die Datei wieder im Klartext. Im Beispiel auf dem Bild habe ich dieser einen anderen Dateinamen vergeben. (Ohne Umleitung in eine Datei wir der Standard Output verwendet)
Nun aber zum eigentlichen Public-Key Verfahren. Dazu muss derjenige meinen öffentlichen Schlüssel zum verschlüsseln verwenden. Entweder hat er diesen bei mir aus dem DNS ausgelesen (siehe oben dig) oder direkt übermittelt bekommen.
Verschlüsseln wir die Datei von oben nochmals mit meinem öffentlichen Schlüssel:
cat meine-datei.txt | age -a -e -r age1486ysemz2yg9zasd8wrdxz3kjpjv7jl7fdqpvgm3vag40jv0n5mskmcgwm > meine-datei.age
Die Datei meine-datei.age ist nun verschlüsselt und kann mir gefahrlos übermittelt werden. Nur ich kann diese wieder entschlüsseln.
Das Entschlüsseln geht ebenfalls sehr einfach. Datei wird mein geheimer Schlüssel benötigt und funktioniert wie folgt:
age -i Keys/age-key.txt -d meine-datei.age > neue-datei.txt
Die Datei ist nun wieder entschlüsselt. Auf ein Passwort habe ich bei mir im geheimen Schlüssel verzichtet. Ich bin der Meinung, dass wenn jemand an diesem auf meinem verschlüsselten MacBook kommt, der kann auch jeweils die Originale auch direkt anschauen.
Wer mag kann öffentliche Schlüssel der „Verschlüsselungspartner“ natürlich auch in Umgebungsvariablen speichern um diese öfters zu verwenden.
cat meine-datei.txt | age -a -e -r $Karsten_AGE_KEY > meine-datei.age
Auch an mehrere „Verschlüsselungspartner“ gleichzeitig kann man Dateien verschlüsseln. In diesem Beispiel kann jeweils Karten, Martin und German mit den jeweiligen geheimen Schlüsseln diese entschlüsseln:
cat meine-datei.txt | age -a -e -r $Karsten_AGE_KEY -r $Martin_AGE_KEY -r $German_AGE_KEY > meine-datei.age
Auch direkt meinen Key mittels dig auslesen und gleich verschlüsseln ist möglich:
cat meine-datei.txt | age -a -e -r $(dig +short TXT knut.systemtechnics.de | tr -d \") > meine-datei.age
Um den Fingerabdruck zur Authentifizierung im Terminal zu verwenden ist die Bearbeitung der Datei /etc/pam.d/sudo notwendig.
Am einfachsten ist es mit folgenden zwei Zeilen:
sudo su
Es wird nach nach dem Passwort des Administratornutzers gefragt. Nach Eingabe des Passwortes befindet sich das Terminal im „root“-Modus.
Mit dem zweiten Befehl wird in die Datei /etc/pam.d/sudo die Zeile auth sufficient pam_tid.so eingefügt. Evtl. muss der Zugriff in einem Sicherheitsfenter zusätzlich erlaubt werden.
Durch schlecht konfigurierte Router/Firewalls ist es unter Umständen möglich, so genannte „DNS Amplification Attack“ durchzuführen. Dabei werden lokale DNS Server dazu verwendet einen Denial-of-Service-Angriff (DOS) durchzuführen. (Genauer zum nachlesen KLICK)
Ob die eigene IP Adresse für solche Attacken „empfänglich“ ist, kann man unter Linux/OSX einfach mit dem Befehl DIG prüfen.
Die IP Adresse www.xxx.yyy.zzz ist natürlich durch die zu prüfende (eigene) IP-Adresse zu ersetzen. Ist ein offener DNS Vorhanden, dann wird der Text „open resolver detected“ ausgegeben. Wenn die Firewall korrekt arbeitet, dann erscheint eine Fehlermeldung (Siehe Bild)
Man kann natürlich auch Web-Dienste, wie etwa https://openresolver.com/ verwenden, um dies zu prüfen.
Um diese Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwende ich Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in meiner Datenschutzerklärung.