Moin Flaschensammler,
erst einmal Geiles Hobby was du dir gesucht hast. Egal was andere jetzt dazu sagen lass dir das nicht kaputt machen. Wichtig ist hier aber zu verstehen woher die Ratschläge, mit einer lokalen VM erst einmal Basics zu lernen bevor man einen VPS/Root Server mietet, kommen:
Debian und Ubuntu haben zum Beispiel die Unangenehme Eigenart bei der Installation von Diensten (PHP, Apache, Cups etc. pp.) diese direkt über Systemd (Das Herzstück deines Linux Betriebssystem was andere Service für dich automatisch startet und diese teilweise sogar überwacht und automatisch neu startet falls diese abstürzen/crashen) zu aktivieren, sodass diese automatisch direkt gestartet werden in ihrer Standard Konfiguration.
Ich Bringe hier Cups als Beispiel an, da genau bei dieser Software erst vor kurzer Zeit eine Lücke gefunden wurde, die es mit sehr wenig Aufwand möglich machte den Computer ( Auf dem Cups läuft ) dinge tun zu lassen, die der "Besitzer" von eben jenen nicht selber wollte. Die Bewertung ob es in der freien Wildbahn einen erfolgreichen Einbruch über diese Lücke gab erspare ich mir hier. Aber Fakt ist das ein Sicherheitsforscher feststellen musste das im Bereich 100.000 Computer einfach offen im Internet diesen Dienst hatten. D.h. dort hat keine Firewall oder andere Sicherheitsmaßnahme den Zugriff von Außen blockiert. Und das ist ein Problem!
Also niemand (ich hoffe) möchte dir dein neues geiles Hobby hier schlecht reden, verbieten oder dir absprechen es auszuüben. Aber bitte nehme dir die Ratschläge die in den teils harsch formulierten Beiträgen hier dennoch zu Herzen. Du solltest dir wirklich erst einmal anschauen wie die Firewall deines neuen Linux Servers funktioniert und wie du diese z.b. von deinen Privaten Rechner aus testen kannst.
Ich bin immer ein Freund davon, bevor ich eine Abstraktion (UFW) nutze mindestens einmal mich einzulesen wie das darunter liegende Funktioniert (nftables / iptables):
Damit solltest du zumindest erst einmal gelesen haben was eigentlich die Grundlage deiner Firewall bei deinen Linux Server ist. Jetzt kannst du dir einmal UFW genauer ansehen. Dies vereinfacht es für dich deutlich. Da du dich nicht mehr darum kümmern musst in welche Reihenfolge du die nftables/iptables rules definierst und wie diese direkt beim Start deines Linux Server angewendet werden:
Hier einmal die wichtigen Basics:
- Grundsätzlich solltest du als Standard/Default Regel sämtlichen eingehenden Traffic blockieren
- sudo ufw default deny incoming
- Jetzt erlaubst du SSH
- sudo ufw allow ssh
- Schau dir einmal mit sudo ufw status an was jetzt alles an Regeln angelegt ist. Wichtig ist hier nur das du PORT 22/SSH erlaubst. Ansonsten sperrst du dich selber aus
- Jetzt kannst du UFW einschalten: sudo ufw enable
- UFW wird jetzt im Hintergrund Iptables/nftables für dich konfigurieren. Du kannst dir das Ergebnis von UFW anschauen indem du sudo iptables-save eingibts. Dann bekommst du ein Gefühl dafür wieviel Arbeit dir UFW abnimmt.
Jetzt ist es geschafft dein Server lehnt alles außer SSH ab und wie geht es weiter? Dein Problem ist jetzt, dass Angreifer evtl versuchen dein SSH zu knacken. Du müsstest bereits erste Versuche in deinen Log finden können: tail -n 200 /var/log/auth.log. Falls nicht schätze dich glücklich. Die ersten Angriffe werden aber kommen. D.h. jetzt geht es darum deinen Zugang über SSH abzusichern. Hier gibt es viele Strategien die wichtigste aber zu allererst: Nutze keine Passwort Authentifizierung:
Ein weiterer Faktor der deine SSH Sicherheit erhöhen kann ist fail2ban einzurichten:
Das für dich wichtige ist, den SSH jail zu aktivieren. Das sorgt dafür, dass Angreifer die sich x Mal falsch einloggen erst einmal direkt gesperrt werden.
Wenn du das ganze jetzt gemacht hast: Herzlichen Glückwunsch! Du hast deinen VPS erst einmal grob abgesichert, sodass nur SSH rein darf und wer zu häufig sich am SSH schloss versucht wird geblockt. Aber hier hört der Spaß natürlich nicht auf. Du kannst dir Elaboriertere Sicherheitsmethoden ansehen oder sogar (wenn du eine FritzBox hast) über ein Wireguard VPN den SSH zugriff zu deinen Server von außerhalb ganz sperren und nur über dein VPN zum server erreichbar machen.
Wichtig ist hier aber, es gibt NIE eine 100% Sicherheit. Du kannst leider immer das Ziel sein, wo eine neue Sicherheitslücke in der Software OpenSSH selber ausgenutzt wird, um alle deine Sicherheitsmaßnahmen zu umgehen. Aber ob ein Angreifer eine solch teure Lücke wirklich an deinen VPS nutzt mag ich mal zu bezweifeln, da gibt es lukrativere Ziele im Internet.
Wie gehts jetzt weiter? Nachdem du jetzt deinen Administrativen Zugang zu deinen VPS abgesichert hast, beginnt der noch viel Spannendere und spaßige Teil. Das Einrichten von Diensten für dich oder bekannte. Sei es für Spaßige sachen (GameServer, VoiceServer), produktive (Eigene Nextcloud mit Office anyone?!) oder andere tolle Dienste. Wichtig ist aber hier bei allem: Lies dich immer ein wenig ein bevor zu eine neue Technologie verwendest. Apache Webserver? --> Google was du beachten musst wenn du den sicher betreiben willst. Mach dich schlau wie Dateirechte funktionieren in Linux ( https://wiki.selfhtml.org/wiki/Linux/Dateirechte ). Wenn du einen neuen Dienst ausprobieren willst: Schalte am bestenn immer erst einmal nur deine Eigene IP in deiner firewall frei. Ein Beispiel an einen HTTP/HTTPS server wie Apache/nginx:
- Gehe auf https://myip.wtf/ und schreib deine IP auf
- Welche Ports braucht dein Dienst? (80 und 443)
- Welches Protokoll (TCP)
- sudo ufw allow from 1.2.3.4 to any port 80
- sudo ufw allow from 1.2.3.4 to any port 443
Jetzt kannst nur du darauf zugreifen und weiter testen und/oder z.b. einen Webinstaller von Nextcloud oder Wordpress oder whatever nutzen. Ohne das jemand darüber Stolpert und es direkt ausnutzen kann.
Wenn du diese paar Sicherheitsmaßnahmen befolgst senkst du dein Risiko bereits enorm. Sicherer geht es immer. Was aber gerne viele missachten ist, dass zu deinen Sicherheitskonzept auch immer die Frage sein sollte: Wer möchte mich angreifen? Wie viele Ressourcen möchte mein Angreifer aufwenden um rein zu kommen. Wenn du dir diese Fragen stellst bist und dir das einmal angucken möchtest. Schau dir einfach die BSI sachen dazu an: https://www.bsi.bund.de/DE/Themen/Unte…rheit_node.html
Vorsicht aber das sind sehr dicke Schinken und gehen meist auch nur Oberflächlich mit Buzzwords ran ohne konkrete Technische Lössungen für dein Debian vorzuschlagen.