🚀 Installation von Ubuntu 24.04 und Hardening – Schritt für Schritt

In diesem Beitrag zeige ich dir aus der Sicht eines Fachinformatikers, wie du Ubuntu 24.04 installierst und anschließend durch gezielte Maßnahmen härtest. Nach Abschluss bist du durch den Einsatz von UFW, Fail2Ban und der Authentifizierung ausschließlich mittels Zertifikat (SSH Public-Key/Cer‑based Login) bestens gegen unerwünschte Zugriffe geschützt.


🔍 Schritt u1: Ubuntu 24.04 installieren und System aktualisieren

Zunächst solltest du Ubuntu 24.04 auf deinem Server installieren – entweder als physische Maschine oder in einer Virtualisierungsumgebung. Sobald dein System läuft, aktualisiere es, um sicherzustellen, dass alle Sicherheitsupdates eingespielt sind:

sudo apt update
sudo apt upgrade -y

Starte anschließend den Server neu, falls dies empfohlen wird:

sudo reboot

🔒 Schritt u2: UFW – die Firewall konfigurieren

UFW (Uncomplicated Firewall) ist ein einfach zu bedienendes Frontend für iptables. Damit kannst du den Netzwerkzugriff auf deinen Server steuern.

1. Standardregeln setzen:
Zunächst sollten eingehende Verbindungen standardmäßig blockiert werden, während ausgehende Verbindungen erlaubt sind:

sudo ufw default deny incoming sudo ufw default allow outgoing

2. SSH-Zugriff erlauben:
Damit du deinen Server weiterhin über SSH erreichst, öffne den entsprechenden Port (standardmäßig 22):

sudo ufw allow ssh

Man sollte jedoch immer die Netze Einschränken von denen man zugreifen darf, wie z.B. hier auf das „192.168.1.0/24“ Netz:

sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp

3. Firewall aktivieren:
Jetzt kannst du die Firewall aktivieren:

sudo ufw enable

4. Status überprüfen:

sudo ufw status verbose

🛠️ Schritt u3: Fail2Ban installieren und konfigurieren

Fail2Ban schützt deinen Server vor Brute-Force-Angriffen, indem es wiederholte fehlgeschlagene Anmeldeversuche überwacht und die Angreifer temporär blockiert.

1. Fail2Ban installieren:

sudo apt install fail2ban -y

2. Konfiguration anpassen: Erstelle eine lokale Konfigurationsdatei, um die Standardregeln zu überschreiben:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

3. SSH-Absicherung aktivieren: Öffne die Datei /etc/fail2ban/jail.local mit deinem Editor (z. B. vim oder nano):

sudo vi /etc/fail2ban/jail.local

Suche nach dem [sshd]-Abschnitt und stelle sicher, dass er wie folgt konfiguriert ist (du kannst auch Anpassungen vornehmen):

[sshd] 
enabled = true 
port = ssh 
filter = sshd 
logpath = /var/log/auth.log 
maxretry = 5 
bantime = 600

Speichere die Datei und beende den Editor mit „Esc“ -> “ :“ -> „wq“ oder bei nano (Strg+O, Enter, Strg+X).

4. Fail2Ban neu starten:

sudo systemctl restart fail2ban

5. Status prüfenn:

sudo fail2ban-client status sshd

📌 Schritt u4: Anmeldung ausschließlich mit Zertifikat (SSH Key) einrichten

Die Anmeldung über Zertifikate (Public-Key-Authentifizierung) ist wesentlich sicherer als die Nutzung von Passwörtern.

1. SSH-Schlüssel generieren (auf deinem Client): Auf deinem lokalen Rechner generierst du ein Schlüsselpaar:

ssh-keygen -t ed25519 -C "[email protected]"

Folge den Anweisungen und speichere den Schlüssel (standardmäßig unter ~/.ssh/id_ed25519 und ~/.ssh/id_ed25519.pub). Der Verschlüsselungsalgorithmus hier ist ed25519, man könnte auch ecdsa, rsa etc. verwenden

2. Öffentlichen Schlüssel auf den Server kopieren: Nutze ssh-copy-id, um deinen öffentlichen Schlüssel auf den Server zu übertragen:

ssh-copy-id -i ~/.ssh/id_ed25519.pub dein-benutzername@server-ip

3. SSH-Konfiguration auf dem Server anpassen: Öffne die SSH-Daemon-Konfigurationsdatei:

vi /etc/ssh/sshd_config 

Stelle sicher, dass folgende Einstellungen gesetzt sind (füge sie gegebenenfalls ein oder ändere bestehende Zeilen):

# Nur Schlüsselbasierte Authentifizierung erlauben 
PubkeyAuthentication yes 
PasswordAuthentication no 
ChallengeResponseAuthentication no 
# Root-Login per Passwort deaktivieren (optional, empfohlen) 
PermitRootLogin prohibit-password 

Speichere die Datei und schließe den Editor. Dazu erneut den Editor mit „Esc“ -> “ :“ -> „wq“ oder bei nano (Strg+O, Enter, Strg+X) abspeichern und beenden.

4. SSH-Dienst neu starten:

sudo systemctl restart sshd

Nun kann sich der Server nur noch mit einem gültigen Schlüssel anmelden – Passwörter werden nicht mehr akzeptiert.

Bevor ihr eure SSH-Verbindung beendet, prüft noch einmal mit einem zweiten Fenster die Funktionalität, damit ihr euch nicht ausversehen aussperrt !


🔒 Fazit

Mit diesen Maßnahmen hast du Ubuntu 24.04 nicht nur installiert, sondern auch gründlich gehärtet. Durch den Einsatz von UFW schützt du deinen Server bereits an der Netzwerkschnittstelle, Fail2Ban sichert gegen Brute-Force-Angriffe ab, und die ausschließliche Zertifikat-basierte Anmeldung sorgt für eine sehr sichere Authentifizierung.

Diese Kombination aus Firewall, Intrusion Detection und starker Authentifizierung stellt sicher, dass dein Ubuntu-Server optimal gegen Angriffe geschützt ist. Hast du noch Fragen oder weitere Tipps? Teile deine Erfahrungen und Anregungen gern in den Kommentaren!

🚀 Installation Nextcloud 27 unter Ubuntu 22.04 – Schritt für Schritt


🔍 Offizielle Systemanforderungen (Nextcloud 27)

📦 Server-Komponenten

KomponenteMindestanforderungEmpfohlen für Produktivumgebungen
PHP8.1.0+ (8.2/8.3 empfohlen)OPcache, JIT aktiviert
DatenbankMariaDB 10.6+
MySQL 8.0+
PostgreSQL 13+
MariaDB 10.11+ mit InnoDB
Speicher512MB RAM4GB+ RAM + Redis/Memcached
WebserverApache 2.4+
nginx 1.18+
Apache mit mod_php und mpm_event

📌 Zwingend benötigte PHP-Module

apt install php8.2-{bcmath,bz2,curl,gd,gmp,intl,imagick,ldap,mbstring,mysql,redis,smbclient,zip,xml,opcache,cli,common,apcu}

🔧 Kritische PHP-Einstellungen

memory_limit = 512M
upload_max_filesize = 16G
post_max_size = 16G
opcache.enable=1
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=20000

🛠️ Enterprise-Grade Installation

u1. Systemvorbereitung

sudo apt update && sudo apt full-upgrade -y
sudo apt install -y software-properties-common apt-transport-https ca-certificates

u2. PHP 8.3 Repository hinzufügen

sudo LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
sudo apt update

u3. Komponenten installieren (Production-Stack)

sudo apt install -y \
apache2 mariadb-server \
php8.3 php8.3-{bcmath,bz2,curl,gd,gmp,intl,imagick,ldap,mbstring,mysql,redis,smbclient,zip,xml,opcache,cli,fpm,common,apcu} \
libapache2-mod-php8.3 redis-server libmagickcore-6.q16-6-extra

u4. MariaDB-Tuning (my.cnf)

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
transaction-isolation = READ-COMMITTED
innodb_flush_log_at_trx_commit = 2
innodb_log_file_size = 512M
innodb_buffer_pool_size = 2G

u5. Datenbank optimiert erstellen

CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

u6. Nextcloud Download mit Integritätsprüfung

wget https://download.nextcloud.com/server/releases/latest.tar.bz2{,.sha512}
sha512sum -c latest.tar.bz2.sha512
tar -xjf latest.tar.bz2 --strip-components=1 -C /var/www/nextcloud

u7. Sicherheitshärtung

sudo chown -R www-data:www-data /var/www/nextcloud
sudo find /var/www/nextcloud/ -type d -exec chmod 750 {} \;
sudo find /var/www/nextcloud/ -type f -exec chmod 640 {} \;
sudo setfacl -R -m u:www-data:rwx /var/www/nextcloud/apps/

u8. Apache Virtual Host (SSL-Vorbereitung)

<VirtualHost *:80>
    ServerName cloud.your-domain.com
    Redirect permanent / https://cloud.your-domain.com/
</VirtualHost>

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile      /etc/letsencrypt/live/cloud.your-domain.com/fullchain.pem
    SSLCertificateKeyFile   /etc/letsencrypt/live/cloud.your-domain.com/privkey.pem
    
    DocumentRoot /var/www/nextcloud
    <Directory /var/www/nextcloud>
        Require all granted
        Options FollowSymlinks
        AllowOverride All
    </Directory>

    Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set Permissions-Policy "interest-cohort=()"
</VirtualHost>

🔐 Post-Installations-Checkliste

  1. Let’s Encrypt SSL-ZertifikatbashCopysudo apt install certbot python3-certbot-apache sudo certbot –apache -d cloud.your-domain.com
  2. Redis-Konfiguration für CachingphpCopy’memcache.local‘ => ‚\OC\Memcache\Redis‘, ‚redis‘ => [ ‚host‘ => ‚localhost‘, ‚port‘ => 6379, ],
  3. Cron-Job für HintergrundtasksbashCopysudo -u www-data php /var/www/nextcloud/occ background:cron
  4. Security & Hardening ScanbashCopysudo -u www-data php /var/www/nextcloud/occ check sudo -u www-data php /var/www/nextcloud/occ maintenance:update:htaccess

📈 Monitoring & Wartung

# Nextcloud Status Monitoring
sudo -u www-data php /var/www/nextcloud/occ status

# Log-Analyse
journalctl -u apache2 -f -n 100
tail -f /var/www/nextcloud/data/nextcloud.log

# Automatische Updates
sudo -u www-data php /var/www/nextcloud/occ upgrade
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on

Enterprise-Tipp: Für HA-Umgebungen kombinieren Sie mit Galera Cluster für MariaDB, GlusterFS für Storage und Varnish Cache um die Geschwindigkeit bei Apache zu beschleunigen. Weiterhin lässt sich die Cloud sehr gut in einer Docker Standalone/Swarm oder k8s Umgebung betreiben.

🔗 Offizielle Nextcloud Production Docs:
https://docs.nextcloud.com/server/latest/admin_manual/installation/


Lassen Sie uns in den Kommentaren über Ihre Skalierungsstrategien diskutieren! 🚀

OwnCloud vs. Nextcloud – Welche Cloud-Lösung ist die beste?

.stk-3e9e727 {background-color:#000000 !important;background-image:url(https://techmitte.de/wp-content/uploads/2025/02/Flux_Dev_Erstelle_ein_professionelles_hochauflsendes_Hintergru_1.jpeg) !important;padding-top:113px !important;padding-bottom:0px !important;margin-bottom:-41px !important;}.stk-3e9e727:before{background-color:#000000 !important;opacity:0.5 !important;}.stk-3e9e727-column{max-width:1500px !important;min-width:auto !important;}@media screen and (max-width: 1023px){.stk-3e9e727 {padding-top:200px !important;padding-bottom:200px !important;}}
.stk-79a559e-container{margin-top:0px !important;margin-right:0px !important;margin-bottom:0px !important;margin-left:0px !important;}.stk-79a559e {max-width:900px !important;min-width:auto !important;margin-right:auto !important;margin-left:auto !important;}@media screen and (max-width: 1023px){.stk-79a559e {max-width:600px !important;min-width:auto !important;}}
.stk-1e9fee4 {margin-bottom:40px !important;top:-100px !important;bottom:-10px !important;}.stk-1e9fee4 .stk-block-text__text{font-size:20px !important;}@media screen and (max-width: 1023px){.stk-1e9fee4 .stk-block-text__text{font-size:20px !important;}}

Cloud-Speicher und File-Sharing-Lösungen sind für Unternehmen und Privatnutzer gleichermaßen unverzichtbar geworden. OwnCloud und Nextcloud sind zwei der bekanntesten Open-Source-Alternativen zu proprietären Cloud-Diensten wie Google Drive oder Dropbox. Doch worin unterscheiden sie sich? Welche ist die bessere Wahl für deine Anforderungen? In diesem Vergleich gehen wir auf die wichtigsten Unterschiede und Gemeinsamkeiten ein.

.stk-e40a40a {top:-100px !important;}.stk-e40a40a .stk–svg-wrapper .stk–inner-svg svg:last-child, .stk-e40a40a .stk–svg-wrapper .stk–inner-svg svg:last-child :is(g, path, rect, polygon, ellipse){fill:var(–theme-palette-color-3, #ffffff) !important;}

u1. Hintergrund & Geschichte

OwnCloud

OwnCloud wurde 2010 als Open-Source-Projekt gegründet und entwickelte sich schnell zu einer beliebten Plattform für private und geschäftliche Cloud-Umgebungen. 2016 entschied sich der Hauptentwickler Frank Karlitschek, das Projekt zu forken und Nextcloud zu gründen, da er mit der Kommerzialisierung von OwnCloud nicht einverstanden war.

Nextcloud

Nextcloud entstand aus dem OwnCloud-Projekt und wurde 2016 veröffentlicht. Ziel war es, eine freiere, sicherere und leistungsfähigere Alternative zu schaffen, die komplett unter der Kontrolle der Nutzer bleibt. Seitdem hat Nextcloud viele Funktionen integriert, die es zu einer vollwertigen Collaboration- und Cloud-Suite machen.

u2. Installation & Benutzerfreundlichkeit

Beide Systeme sind relativ einfach zu installieren und erfordern einen eigenen Server oder Webspace mit PHP-Unterstützung.

Nextcloud: Einfache Installation mit einer aktiveren Community. Bietet zahlreiche Apps und Plugins direkt über die Web-Oberfläche an.

OwnCloud: Standard-Installation über Web-Installer oder Pakete. Hat eine strukturierte und stabile Installation, aber einige Features sind nur in der kostenpflichtigen Enterprise-Version verfügbar.

u3. Funktionen & Erweiterungen

Fazit: Nextcloud bietet deutlich mehr kostenlose Features als OwnCloud, insbesondere in den Bereichen Sicherheit und Kollaboration.

u4. Sicherheit & Datenschutz

OwnCloud

  • Bietet eine solide Grundsicherheit, aber einige Sicherheitsfunktionen wie End-to-End-Verschlüsselung sind nur in der Enterprise-Version enthalten.
  • Standardmäßige Verschlüsselung und Zugriffskontrollen.

Nextcloud

  • Open-Source-Sicherheitsfunktionen sind kostenlos verfügbar.
  • Integrierte End-to-End-Verschlüsselung und Brute-Force-Schutz.
  • Zero-Trust-Ansatz mit Audit-Logs, File Access Control und 2FA-Integration.

Fazit: Nextcloud bietet von Haus aus mehr Sicherheitsfeatures als OwnCloud, ohne dass zusätzliche Kosten entstehen.

u5. Kostenmodell & Support

OwnCloud

  • Kostenlose Community-Edition.
  • Enterprise-Version erforderlich für Premium-Funktionen.
  • Bezahlter Support für Unternehmen.

Nextcloud

  • Komplett Open Source und kostenlos.
  • Bezahlter Support optional, aber nicht notwendig.
  • Viele Features sind ohne Zusatzkosten nutzbar.

Fazit: Nextcloud ist im Vergleich zu OwnCloud kosteneffizienter, da die meisten Funktionen kostenlos verfügbar sind.

u6. Fazit: Welche Cloud-Lösung ist besser?

KriteriumGewinner
BenutzerfreundlichkeitNextcloud
SicherheitNextcloud
FunktionenNextcloud
KostenNextcloud
Unternehmen mit SupportbedarfOwnCloud

Wenn du eine kostenlose, leistungsfähige und erweiterbare Cloud-Lösung suchst, ist Nextcloud die beste Wahl. Es bietet mehr Sicherheitsfunktionen, bessere Integrationen und bleibt weiterhin Open Source. OwnCloud hingegen eignet sich für Unternehmen, die eine kommerzielle Lösung mit professionellem Support benötigen.

Hier geht es weiter zur Anleitung.

.stk-234de24 .stk–svg-wrapper .stk–inner-svg svg:last-child, .stk-234de24 .stk–svg-wrapper .stk–inner-svg svg:last-child :is(g, path, rect, polygon, ellipse){fill:var(–theme-palette-color-3, #ffffff) !important;}.stk-234de24 .stk–svg-wrapper:hover .stk–inner-svg svg:last-child, .stk-234de24 .stk–svg-wrapper:hover .stk–inner-svg svg:last-child :is(g, path, rect, polygon, ellipse){fill:#00d084 !important;}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert