In den vergangengenen Wochen habe ich die erste »echte« Ubuntu-Server-Installation durchgeführt. Abgesehen von aktuelleren Versionsnummern (siehe auch meinen Artikel zu Ubuntu 24.04) sind mir nicht allzu viele Unterschiede im Vergleich zu Ubuntu Server 22.04 aufgefallen. Bis jetzt läuft alles stabil und unkompliziert. Erfreulich für den Server-Einsatz ist die Verlängerung des LTS-Supports auf 12 Jahre (erfordert aber Ubuntu Pro); eine derart lange Laufzeit wird aber wohl nur in Ausnahmefällen sinnvoll sein.
Update 1 am 25.6.2024: Es gibt immer noch keinen finalen Fix für fail2ban, aber immerhin einen guter Workaround (Installation des proposed-Fix).
Update 2 am 29.6.2024: Es gibt jetzt einen regulären Fix.
fail2ban-Ärger
Recht befremdlich ist, dass fail2ban
sechs Wochen nach dem Release immer noch nicht funktioniert. Der Fehler ist bekannt und wird verursacht, weil das Python-Modul asynchat
mit Python 3.12 nicht mehr ausgeliefert wird. Für die Testversion von Ubuntu 24.10 gibt es auch schon einen Fix, aber Ubuntu 24.04-Anwender stehen diesbezüglich im Regen.
Persönlich betrachte ich fail2ban als essentiell zur Absicherung des SSH-Servers, sofern dort Login per Passwort erlaubt ist.
Update 1:
* In `/etc/apt/sources.list.d/ubuntu.sources` einen Eintrag für `noble-proposed` hinzufügen, z.B. so:
„`
# zusätzliche Zeilen in `/etc/apt/sources.list.d/ubuntu.sources
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble-proposed
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
„`
Beachten Sie, dass sich Ort und Syntax für die Angabe der Paketquellen geändert haben.
* `apt update`
* `apt-get install -t noble-proposed fail2ban`
* in `/etc/apt/sources.list.d/ubuntu.sources` den Eintrag für `noble-proposed` wieder entfernen (damit es nicht weitere Updates aus dieser Quelle gibt)
* `apt update`
Update 2: Der Fix ist endlich offiziell freigegeben. apt update
und apt full-upgrade
, fertig.
/tmp mit tmpfs im RAM
Das Verzeichnis /tmp
wird unter Ubuntu nach wie vor physikalisch auf dem Datenträger gespeichert. Auf einem Server mit viel RAM kann es eine Option sein, /tmp
mit dem Dateisystemtyp tmpfs
im RAM abzubilden. Der Hauptvorteil besteht darin, dass I/O-Operationen in /tmp
dann viel effizienter ausgeführt werden. Dagegen spricht, dass die exzessive Nutzung von /tmp
zu Speicherproblemen führen kann.
Auf meinem Server mit 64 GiB RAM habe ich beschlossen, max. 4 GiB für /tmp
zu reservieren. Die Konfiguration ist einfach, weil der Umstieg auf tmpfs
im systemd bereits vorgesehen ist:
systemctl enable /usr/share/systemd/tmp.mount
Mit systemctl edit tmp.mount
bearbeiten Sie die neue Setup-Datei /etc/systemd/system/tmp.mount.d/override.conf
, die nur Änderungen im Vergleich zur schon vorhandenen Datei /etc/systemd/system/tmp.mount
bzw. /usr/share/systemd/tmp.mount
enthält.
# wer keinen vi mag, zuerst: export EDITOR=/usr/bin/nano
systemctl edit tmp.mount
In diese Datei einbauen:
# Datei /etc/systemd/system/tmp.mount.d/override.conf
[Mount]
Options=mode=1777,strictatime,nosuid,nodev,size=4G,nr_inodes=1m
Mit einem reboot
werden die Einstellungen wirksam.
PS: In Debian 13 wird /tmp mit tmpfs standardmäßig aktiv sein (Quelle). Ubuntu wird in zukünftigen Versionen vermutlich folgen.
Links/Quellen
- https://ubuntu.com/download/server
- https://discourse.ubuntu.com/t/ubuntu-24-04-lts-noble-numbat-release-notes/39890#ubuntu-server-42
- https://canonical.com/blog/canonical-expands-long-term-support-to-12-years-starting-with-ubuntu-14-04-lts
- https://bugs.launchpad.net/ubuntu/+source/fail2ban/+bug/2055114 (fail2ban-Fehler)
- https://askubuntu.com/questions/1232004/mounting-tmp-as-tmpfs-on-ubuntu-20-04
- https://ubuntu.com/blog/data-driven-analysis-tmp-on-tmpfs
- https://www.rosehosting.com/blog/email-server-on-ubuntu-24-04/
- https://kofler.info/ubuntu-24-04
- https://lists.debian.org/debian-devel/2024/05/msg00456.html
Hallo Michael,
hier kannst Du ja von fail2ban auf zum Beispiel Crowdsec wechseln.
Grüße
Christian
Sehr spannend, kannte ich bisher nicht. Danke für den Hinweis!
https://github.com/crowdsecurity/crowdsec
Wobei:
apt install crowdsec
installiert eine veraltete Version, die beicscli metrics
einen Fehler verursacht.https://github.com/crowdsecurity/crowdsec/issues/2866
Abhilfe schafft das Einrichten einer neuen Paketquelle und die Installation der aktuellen Version von dort.
https://doc.crowdsec.net/docs/getting_started/install_crowdsec/
fail2ban kaputt. es gibt einen fix, aber natürlich nicht für’s LTS.
da weiß man ja gleich den wertvollen 12-jahre-support zu schätzen :)
es fällt mir schwer, da zu widersprechen …
Wobei man fairerweise ergänzen muss, dass fail2ban in der universe-Paketquelle ist. (Das Red-Hat-Lager hat es nicht besser, dort ist das Paket in der EPEL-Paketquelle, ebenfalls außerhalb irgendwelcher Wartungsgarantien.)
tmpfs ist eine geniale Idee. openSUSE Tumbleweed machte es vor Jahren bei der Installation zum Standard. Seither braucht sich niemand mehr damit zu befassen:
6700k:~ # free -h
total used free shared buff/cache available
Mem: 31Gi 3.8Gi 22Gi 774Mi 6.1Gi 27Gi
Swap: 0B 0B 0B
6700k:~ # df -h /tmp /run /dev/shm
Filesystem Size Used Avail Use% Mounted on
tmpfs 16G 4.0K 16G 1% /tmp
tmpfs 6.3G 2.0M 6.3G 1% /run
tmpfs 16G 0 16G 0% /dev/shm
6700k:~ #
Die maximal erlaubte Gesamtgröße übersteigt die aktuelle Speichergröße um 7 GiB. Probleme damit treten in der Praxis nie auf.