Ein Wiki privater Natur

Erste Hilfe, sollte man sich ausgesperrt haben

Ein guter Rat. Diese Seite ausdrucken oder auf den Lokalen Rechner kopieren. Damit man das lesen kann, wenn der Server down ist.

https://docs.hetzner.com/de/robot/dedicated-server/troubleshooting/hetzner-rescue-system

Mit rescue Image booten und mit

# Nicht blind kopieren,
# Kann auch anders sein, je nach setup des Servers

mount /dev/mapper/vg0-root /mnt

chroot-prepare /mnt
chroot /mnt

in die root / Partition chrooten
Wenn ufw als firewall installiert ist:

Hier zur Sicherheit Port 22 erlauben.
in

/usr/sbin/ufw allow 22

exit 0

Retrospektive: WikiJS, Firewall, DB- und Mail-Probleme

In dieser Retrospektive wird der Verlauf der Ereignisse, die Lösungsansätze und die schlussendliche Lösung für die Herausforderungen zusammengefasst, die bei der Konfiguration des WikiJS-Systems, der Firewall-Regeln und der E-Mail-Zustellung aufgetreten sind.


1. Ausgangssituation und Problemstellung


2. Erste Untersuchungen und Lösungsansätze

Der Port 3306 war mit ufw noch nicht geöffnet
ufw 3306 ist die Lösung
und weil wir gerade dabei sind...
Für eMail müssen diese Ports frei sein:
Port 110 POP3 (Post Office Protocol) Dovecot
Port 143 IMAP (Interim Mail Access Protocol) Dovecot
Port 25 SMTP (Simple Mail Transfer Protocol) Postfix
Port 465 SMTPS (SMTP über SSL) Postfix
Port 587 SMTP (Submission TLS-Verschlüsselung) Postfix ▶ 📌
Port 993 IMAPS (IMAP über SSL) Dovecot ▶ 📌
Port 995 POP3S (POP3 über SSL) Postfix ▶ 📌


3. Detaillierte Lösungsansätze im Bereich Firewall und iptables


4. Andere Lösungsansätze und Provider-Firewall


5. Weitere Probleme und deren Lösung


6. Schlüsselerkenntnisse und Lessons Learned

  1. Regelreihenfolge ist entscheidend:

    • Firewall-Regeln werden von oben nach unten abgearbeitet. Eine falsch platzierte Allow-Regel kann DROP-Regeln unwirksam machen.
  2. Docker und externe Firewalls:

    • Docker erzeugt eigene iptables-Regeln, die das Verhalten beeinflussen können.
    • Die DOCKER-USER-Kette ist oft der richtige Ort, um externe Verbindungen zu blockieren.
  3. Provider-Firewalls nutzen:

    • Die Hetzner-Firewall bietet eine effektive Möglichkeit, unerwünschten Traffic auf Netzwerkebene zu blockieren, wodurch die interne Konfiguration vereinfacht wird.
  4. Interne vs. externe Verbindungen:

    • Unterschiedliche Quell-IP-Adressen können zu unerwarteten Ergebnissen führen (z. B. wenn externe Anfragen als von der eigenen öffentlichen IP erscheinen).
  5. Kleinste Details können entscheidend sein:

    • Die Angabe des Quellports in iptables-Regeln kann den Unterschied machen.
    • Letztlich hat das Entfernen der Quellport-Angabe dazu geführt, dass der Port 5432 korrekt blockiert wird.
  6. Iterativer Ansatz:

    • Mehrere Lösungsansätze wurden ausprobiert (manuelle iptables-Skripte, UFW, Provider-Firewall).
    • Manchmal muss man alte Regeln löschen und neu anordnen, um das gewünschte Verhalten zu erreichen.
  7. Fehlersuche auf mehreren Ebenen:

    • Probleme traten nicht nur bei der Firewall auf, sondern auch bei der Anwendung (PHP-Version) und der LMTP-Kommunikation zwischen Postfix und Dovecot.
    • Eine umfassende Überprüfung aller Komponenten ist notwendig.

7. Die schlussendliche Lösung


8. Schlusswort


9. Danksagung und Erkenntnisse


Ende der Retrospektive