staging.inyokaproject.org

Sicherheit eines Ubuntu-Servers

Status: Gelöst | Ubuntu-Version: Server 20.04 (Focal Fossa)
Antworten |

007joker

Anmeldungsdatum:
4. Dezember 2009

Beiträge: Zähle...

Hallo!

Da es mit der Distribution "NextcloudPi" immer wieder Probleme gab, dachte ich mir, ich mache mal Nägel mit Köpfen und baue mir einen Ubuntu-Server auf einem RaspberryPi, der über SSH administriert wird und derzeit nichts als Nextcloud machen soll.

Nach der Installation habe ich ...

  • alle Upgrades eingespielt

  • einen User angelegt und ihm Root-Rechte gegeben

  • den Standard-User gelöscht

  • Authentifizierung über Public-Keys eingestellt, also ohne Passworteingabe

  • Einloggen mit Passwort unterbunden

  • fail2ban installiert, aber hier nichts weiter konfiguriert

  • in der Fritzbox nur Port 80 und 443 freigegeben

Nun meine Fragen dazu:

  1. Ist es noch nötig, Root-Login zu unterbinden?

  2. Ist die Umlegung von Port 22 für SSH sinnvoll?

  3. Macht es Sinn, sowas wie Monit zu installieren? Wie sind da eure Erfahrungen?

  4. Wie muss fail2ban evtl. konfiguriert werden?

  5. Und brauche ich zusätzlich ufw, obwohl die Fritzbox nur zwei Ports bereitstellt?

  6. Was gibt es noch zu tun?

Danke und schöne Grüße!

Bearbeitet von ChickenLipsRfun2eat:

Forensyntax korrigiert. Bitte verwende in Zukunft Listen, um die Übersicht im Forum zu verbessern!

DJKUhpisse Team-Icon

Supporter, Wikiteam
Avatar von DJKUhpisse

Anmeldungsdatum:
18. Oktober 2016

Beiträge: 18245

Ist es noch nötig, Root-Login zu unterbinden?

Der ist unter Ubuntu standardmäßig aus.

Ist die Umlegung von Port 22 für SSH sinnvoll?

Was meinst du mit Umleitung? Port 22 ist der Well-known-Port für SSH.

- in der Fritzbox nur Port 80 und 443 freigegeben

Was bedeutet das genau? In der SPI-Firewall von außen nach innen? Traffic von innen nach außen würde ich nicht einschränken. Bedenke auch ICMP muss durchgelassen werden, auch ICMPv6 beachten.

Und brauche ich zusätzlich ufw, obwohl die Fritzbox nur zwei Ports bereitstellt?

Die FritzBox stellt nichts bereit. Bei IPv6 macht die normales Routing und betreibe eine SPI-Firewall, bei der man Ausnahmen einrichten kann. Bei IPv4 macht die zusätzlich NAT. Da hat man schon ne SPI-Firewall indirekt und ungewollt integriert. Durch Portweiterleitungen kann man Rechner per TCP und UDP über die öffentliche IPv4 erreichbar machen.

007joker

(Themenstarter)

Anmeldungsdatum:
4. Dezember 2009

Beiträge: Zähle...

Danke für deine Gedanken und Fragen.

Über das mit Port 22 habe ich dies und das gelesen. Manche raten zur Verlegung, manche sagen, dass das keinen Sicherheitsgewinn gibt. Es hält allenfalls die Skriptkiddies ab, die vor allem nach Port 22 suchen. Die sollten bei mir aber auch so nicht reinkommen.

In der Fritzbox ist unter "Portfreigaben" HTTP-Server unter Port 80 freigegeben, HTTPS-Server unter Port 443. Was braucht es, um Angreifer abzuhalten, die von außen kommen? Es wird ja nachher Nextcloud laufen - mit apache, mysql und php.

Wie ist das mit fail2ban? Und mit monit? Brauche ich das?

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Hallo!

007joker schrieb:

Nach der Installation habe ich ...

  • einen User angelegt und ihm Root-Rechte gegeben

  • den Standard-User gelöscht

Kannst du das etwas genauer erklären? Wie hast du dem neuen Nutzer root-Rechte gegeben und warum? Wieso hast du den Standard-Nutzer gelöscht? Wie ist NC installiert? Direkt auf dem Host, per snap oder docker,…?

- Ist es noch nötig, Root-Login zu unterbinden?

kommt auf die Antwort von oben an. Du solltest keinen Schlüssel für root anlegen und auch für keinen Nutzer, der ohne Umwege zu viele Rechte hat. Lieber ein „kleiner Nutzer“, auf dem du dann bspw. mit su - user auf den Nutzer mit den administrativen Rechten wechselst, wenn du sie mal brauchst.

- Ist die Umlegung von Port 22 für SSH sinnvoll?

Sicherheitstechnisch ist es irrelevant, aber falls dein Server von außen erreichbar sein soll, kann es helfen, um die automatischen Anfragen auf Port22 aus den Logs rauszuhalten. Ich hielt das damals für eine gute Idee, heute würde ich das nicht mehr machen. Man muss bei vielen Anwendungen den Port dann immer extra angeben, etc. Die Einträge sind schneller rausgefiltert und ein paar MB Festplattenplatz merkt heute auch niemand mehr. Je nachdem, wie du den Server partitioniert hast, musst du eben gucken, ob dir /var/log das System zumüllt und damit das System lahmlegt.

- Macht es Sinn, sowas wie Monit zu installieren? Wie sind da eure Erfahrungen?

Keine Idee. Ich lese noch alles manuell.

- Wie muss fail2ban evtl. konfiguriert werden?

⇨ fail2ban

- Und brauche ich zusätzlich ufw, obwohl die Fritzbox nur zwei Ports bereitstellt?

Das kommt auf deine Zielsetzung an. Ohne weitere Einstellungen hat dein Server normalen Zugriff auf alle Klienten im lokalen Netzwerk. Port 80/443 wird ohne Beschränkungen vom Webserver verwendet. Du musst dir überlegen, wer neue Verbindungen aufbauen darf und wer nicht, etc.

DJKUhpisse Team-Icon

Supporter, Wikiteam
Avatar von DJKUhpisse

Anmeldungsdatum:
18. Oktober 2016

Beiträge: 18245

Den SSH-Dienst auf einen anderen Port zu legen ist Security by obscurity. Es hält einige automatische Scans ab, aber ein wirklicher Sicherheitsgewinn ist das nicht.

007joker

(Themenstarter)

Anmeldungsdatum:
4. Dezember 2009

Beiträge: 220

User angelegt und ihm Rootrechte gegeben:

1
2
sudo adduser meinuser
sudo usermod -aG sudo meinuser

Standarduser inkl. aller seiner Dateien gelöscht - Grund: Das ganze Netz weiß, dass es den User "ubuntu" gibt, und darin sah ich ein Sicherheitsrisiko.

1
sudo deluser –remove-all-files ubuntu

Nextcloud soll als snap-Installation folgen, weil das recht leicht zu warten ist.

Das über fail2ban habe ich intensiv gelesen und inzwischen auch Konfigurationsvorschläge gefunden.

007joker

(Themenstarter)

Anmeldungsdatum:
4. Dezember 2009

Beiträge: 220

Ich setze mal auf "gelöst" und bedanke mich für alle Hinweise ☺

Den Server habe ich nochmal neu aufgesetzt und bin mit der Benutzerverwaltung anders rangegangen - habe den Hauptuser bestehen lassen inkl. aller Dateien, ihn in meinen Hauptuser umbenannt und seine Gruppen auch für meinen Hauptuser übernommen. Dann abgesichert wie oben und Nextcloud über snap installiert und Nextcloud über Einträge in die Konfigurationsdateien abgesichert. Läuft ☺

Antworten |