Sammelthread: Wie sichere ich meinen Linux Server ab?

Vorschlag:

SSH-Authenticiation komplett auf Key-based umstellen, geht auch von Windows aus mit Putty sowie Puttygen und lässt sich auch in WinSCP einrichten.

Habe das soeben alles erfolgreich eingerichtet und könnte ein kleines Mini-How-to schreiben.

Das macht das ganze noch sicherer, vor allem gegen Dictionary-attacks und wer keinen Key hat, kommt nicht rein :bigok:

ohne key:
http://www.abload.de/img/sshohnekeyq6ql.png

mit key:
http://www.abload.de/img/sshmitkey1uaj.png

:banana:
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
warum soll man einen Port über 50000 nehmen, habe jetzt immer Ports zwischen 20000-30000 genommen.
 
https://help.ubuntu.com/community/SinglePacketAuthorization

wow jetzt wirds mal extrem geil :)

quintessenz?
nach außen hin is kein einziges port offen - garnix
da hört ein daemon auf einem udp port (sendet aber NIE ein paket zurück -> ergo unerkennbar) und wenn ein paket kommt welches richtig aufgebaut ist wird für den client ein port geöffnet
- sowas wie portknocking nur 1000000x besser :)
Die Methode habe ich soweit verstanden, aber wo ist ein Server in der Praxis einsetzbar, dessen Ports alle zu sind?
Ich nehme an, man müsste dann von Hand wieder einzelne Ports erlauben, oder nicht?
Wie sieht das denn dann zum Beispiel aus, wenn ich den Server updaten will? Der müsste dann etwas aus dem Netz laden, aber incoming traffic wird ja geblockt.

Wenn ich zum Beispiel einen Webserver so absichern will, muss Port 80 ja offen sein (evtl. noch 443 für HTTPS), was dann ja wieder eine potenzielle Sicherheitslücke darstellen würde.
Oder wie kann ich einen Server, der als Gameserver genutzt wird, so absichern?
Über eine Erläuterung, wie man dieses Konzept sinnvoll in der Praxis nutzen kann, wäre ich sehr dankbar :) Bitte seht mir meine noch eher geringen Kenntnisse im Umgang mit Servern nach.

Eigentlich sollte es ja selbstverständlich sein, aber wäre es nicht evtl. (trotzdem) sinnvoll noch einen Hinweis im Startpost hinzuzufügen, dass man auf seinem Server regelmäßig Updates einspielen sollte? Vielleicht könnte man auch kurz die unterschiedlichen Methoden für die jeweilige Distribution dazu schreiben.
 
Zuletzt bearbeitet:
Prinzipiell ist wie du bereits sagtest jeder offene Port eine Sicherheitslücke. Jedoch nur dann, wenn das Programm welches auf diesen Port lauscht eine Sicherheitslücke aufweist. Bei einem Webserver ist unteranderen darauf zu achten, dass auch die PHP oder sonstigen Applikationen sicher programmiert sind. Ich hab leider tag täglich mit gehackten Systemen zu tun, wo letztendlich die Sicherheitslücke ein PHP Script war.

Um einen Gameserver ab zu sichern, kannst du eigtl nicht viel machen. Ausser den Gameserver nicht als Root laufen zu lassen, nur den nötigsten Dateien/Verzeichnissen write und execute rechte geben. Ggf. halt noch eine statefull Firewall einrichten. Ach und immer brav Updates installieren :fresse:

---------- Beitrag hinzugefügt um 03:57 ---------- Vorheriger Beitrag war um 03:54 ----------

BTW zum Thema Server Updates bei ausgehend gesperrten Verkehr. Eine Firewall kann man doch schließlich so konfigurieren, dass der Server ausgehen NUR den Update Server auf dem entsprechenden Port erreichen kann. So viel unsicherer wird der Server da durch nicht.
 
Auch wenn der Fred schon ein wenig eingeschlafen ist, ich hab mal eine Frage für die sich ein eigener Thread nicht lohnt.

Da ich von überall Zugriff auf meine Daten haben möchte, mir ein FTP aber zu unsicher ist und FTPS/SFTP von kaum einem Browser unterstützt wird, hab ich mir folgendes überlegt:

Einen HTTP Server, SSL für alle Verbindungen, Port auf 53000 oder sowas in die Richtung legen.
Die index.html "vergessen" so dass der Server das Verzeichniss anzeigt (dass natürlich in den Config Dateien erlauben).

Dann zu guter letzt beim Zugriff auf diesen Ordner eine Passwortabfrage einbauen.

Ist das relativ sicher?
Oder kann man die Passwort Abfrage bei Apache leicht aushebeln? Ansonsten sollte es ja ungefähr so sicher sein wie FTPS, nur halt das jeder Rechner mit Browser damit klarkommt, was in der Schule ohne Adminrechte praktisch ist, da ich da nicht mal Filezilla vom USB Stick starten kann.
 
Klar mit einer .htaccess geht das einfach und unkompliziert.
Sollte grundsätzlich recht gut funktionieren und auch sicher sein ;)
 
Wunderbar. Direkt mal die VM anwerfen und ausprobieren.
Danke.
Da frag ich mich direkt, weshalb sowas nicht schon lange als Alternative für FTPS empfohlen wird und FTP nicht eindlich zu Grabe getragen wird.
 
Zuletzt bearbeitet:
Weil du per HTTP nichts hochladen kannst, sofern du dir keine Scripte dafür baust ;)
 
Ah stimmt. Naja, hochladen muss ich darüber nix.
@ulukay:
Ja SFTP ist eine feine Sache, nur leider unterstützt es kein Browser nativ. Und wenn man dann an einem Rechner sitzt, an dem einem sogar die Rechte zum starten von Filezilla fehlen, bring einem SFTP nix.
 
ja gut, das sind schon extrem ungewoehnliche vorraussetzungen
 
Stimmt nun auch wieder.
Hab es jetzt mal so eingerichtet und läuft alles ganz wunderbar. Geschwindigkeit ist gut, Chroot tuts auch. Perfekt.
 
Möchte noch was generelles zu "tunneln" loswerden.
Man kann auch diesen Datenverkehr überwachen und Tracken mit Linux. Sollte ein Admin aber das mitbekommen macht er auch diese Mögliichkeit Dicht und setzt zur Not das entsprechende Protokoll ausser Gefecht und sperrt auch die entsprechende IP . Derjenige der dann dabei erwischt wird kriegt vom Admin höchstpersöhnlich einen auf den Deckel . Denn generell Tunnelungsversuche sind Gift für jeden Admin. Man sollte sowas im Netzwerk ( Intranet/Internet) vermeiden und lieber die Offiziellen vom Admin freigegebenen Kanäle nutzen. Denn so lässt sich auch ein Netzwerk für den Admin besser überwachen und wenn man in einem Netzwerk arbeitet will man garantiert den Admin nicht zum Feind haben wollen.

Aus meiner Sicht wegen Sicherheit wäre es am sinnvollsten die Linux Interne Firewall so zu Konfigurieren das sie nur die Ports öffnet die gebraucht werden. Alle anderen sollen geschlossen sein. Einige Distributionen haben dies als Standard bereits drin ,aber kaum einer kennt die dazugehörigen Filterregeln bzw. weis nicht was genau da in der Distribution alles im internen Wörkelt. Wie unter Windows giobt es auch eine art "Task Manager" unter Linux . Dieser Befehl kann mittels root aufgerufen und eine aktive Liste aller Prozesse kann dann eingesehen werden.

Code:
top



Code:
top - 01:59:00 up 12:00,  2 users,  load average: 0,53, 0,32, 0,25
Tasks: 172 total,   4 running, 168 sleeping,   0 stopped,   0 zombie
%Cpu(s): 13,4 us,  2,8 sy,  0,0 ni, 83,3 id,  0,0 wa,  0,0 hi,  0,4 si,  0,0 st
KiB Mem:  24670500 total,  3591196 used, 21079304 free,   220828 buffers
KiB Swap: 15676412 total,        0 used, 15676412 free,  2569624 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND           
 6113 test     20   0 1033m 228m  38m R  45,2  0,9   8:06.03 firefox           
 1449 root      20   0  158m  47m  12m S  18,3  0,2  30:42.70 Xorg              
 2148 test     20   0  446m  16m  10m S   1,0  0,1   0:16.92 wnck-applet       
 6842 test     20   0  517m  16m  11m R   0,7  0,1   0:01.46 mate-terminal     
 6896 root      20   0 26280 1564 1100 R   0,7  0,0   0:00.21 top               
 2098 test     20   0  386m  15m  10m S   0,3  0,1   0:23.64 marco             
 2177 test     20   0  121m 3260 2696 S   0,3  0,0   0:12.66 at-spi2-registr   
 6822 root      20   0     0    0    0 S   0,3  0,0   0:00.34 kworker/0:0       
 6838 root      20   0     0    0    0 S   0,3  0,0   0:00.33 kworker/2:3       
    1 root      20   0 24440 2296 1280 S   0,0  0,0   0:01.20 init              
    2 root      20   0     0    0    0 S   0,0  0,0   0:00.04 kthreadd          
    3 root      20   0     0    0    0 S   0,0  0,0   0:05.74 ksoftirqd/0       
    6 root      rt   0     0    0    0 S   0,0  0,0   0:00.72 migration/0       
    7 root      rt   0     0    0    0 S   0,0  0,0   0:00.29 watchdog/0        
    8 root      rt   0     0    0    0 S   0,0  0,0   0:00.57 migration/1       
   10 root      20   0     0    0    0 S   0,0  0,0   0:04.28 ksoftirqd/1       
   11 root      rt   0     0    0    0 S   0,0  0,0   0:00.28 watchdog/1


Jeder Task trägt eine Eindeutige ID (1-4 Stellige Zahl) und dieser Task kann mittels Dem Befehl

Code:
 kill id

beendet werden ,wobei Id dann für die Zahl des Tasks steht das man stoppen will. Dies ist aber dann die "Brutale Art" einen Task unter Linux abzuwürgen.


Mit dem Befehlen

Code:
man kill

und

Code:
man top

Kann man sich näheres zu dem Befehl aus der Linux Dokumentation ( in Englisch oder Deutsch je nach Sprachpaket) nachlesen.
 
Zuletzt bearbeitet:
@Fallwrrk Ah, sry. Ich hab gar nicht darauf geachtet, wie alt der eigentlich ist. :d
 
Man sollte ihn vielleicht auch nicht mehr anpinnen. Der Titel verspricht etwas, was vom Inhalt nicht gedeckt wird.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh