RootServer Sicherheitskonfigurationen

Androphin

New Member
Hi,

ich hab hier gerade einen gemietet Root Server vor mir und möchte diesen nun nach außen hin -> Richtung Internet - absichern.

Vorerst etwas zum Server:
OS: Debian 6.0.2
Kernel: 2.6.32-5-amd64
Arch: x86_64
Auf dem Server läuft ein Programm in der Java VM.
Client-Programme connecten sich mit Server über den Port 25565.
MySQL habe ich über Paketmanager installiert, läuft also nicht als chroot und lauscht an Port 3306.
Zugriff haben nur zwei Personen mit 16-stelligen Passwörtern per SSH an Port 22.
Manchmal sind Uploads nötig, deshalb habe ich ganz einfach proftpd installiert (ohne virtuelle User) in der standalone variante. Also hat hier Port 21 noch offen zu sein.

Ebenso hab ich folgendes Kriterium zu erfüllen:
- So wenig wie möglich RAM für eventuellen Schutz verbrauchen

Was kann ich alles machen um System sicherer zu machen?

iptables -> alle Ports sperren bis auf die benötigten?
Ist es nötig MySQL und SSH als chroot laufen lassen?
Proftpd Service sicher, da permanent an?
Viren-/Malwarescanner wie ClamAV nötig?
Firewall?


Ich bedanke mich und wünsch euch noch nen schönen Abend.
Beste Grüße
 
Größtes Sicherheitsmanko in meinen Augen: proftpd.

Lieber sftp über openssh, da die Verbindung verschlüsselt ist. proftpd hat sich in letzter Zeit nicht gerade mit Ruhm bekleckert was Sicherheitslücken anging...
 
Das ist ein Minecraft-Server, oder?

MySQL sollte nur auf localhost lauschen, also keinen Remote-Access erlauben. SSH nur per Key-Login und Root-Login deaktivieren (PermitRootLogin = No). Einen extra FTP-Server brauchst du nicht, da du Daten auch via SFTP (bringt der SSH-Server bereits mit) uploaden kannst. Ein kostenloser SFTP-Client für Windows ist z.B. WinSCP (www.winscp.net).

Firewall (Iptables) brauchst du auch nicht, da bei korrekter Installation und Konfiguration nur auf dem Minecraft- und SSH-Port Dienste laufen. Was willst du mit einem Virenscanner?

Sicherheit gewinnst du primär dadurch, dass du nur die Dienste installierst, die auch wirklich benötigt werden.

P.S.: Zwecks Performanceoptimierung würde ich nicht das MySQL aus dem Debian-Repo nehmen, sondern MySQL von Percona oder MariaDB.
 
Last edited by a moderator:
Den mysqld würde ich auch nicht unbedingt ins Netz hängen sondern nur einen lokalen Socket dafür anlegen.
Alle Ports zu sperren, die nicht benötigt werden, ist unfug. Wo kein Dienst lauscht, braucht auch nichts gefiltert zu werden. (Ich brauche kein Vorhängeschloß, wenn da nur eine Wand, aber keine Tür ist.)
 
Ok, ist wahrscheinlich in der conf von MySQL auf welche Ports er lauscht, richtig?

Die Installation von Debian wurde vom Provider vorgenommen, ich konnte nur auswählen zwischen verschiedenen Distros und habe mich für Debian minimal (im RAID 1) entschieden.
Sind von der minimal Installation aus automatisch irgendwelche Ports offen oder bestehen sonstige Lücken?


SSH per Key loggin hab ich ein einziges mal in meinem Leben gemacht und weis natürlich jetzt nicht mehr wie das geht ;)
Ist das hier richtig? http://www.debian-administration.org/articles/530

Ok also über WinSCP die Files hochladen.

proftpd wieder deinstallieren damit das nicht beim Systemstart ausgeführt wird (und ich später mal vergess zu stoppen)?

Idee von mir war, um ungewöhnliches zu entdecken, Script was täglich Festplattenplatz checkt (df -h) und in Logdatei schreibt und eventuell Änderungen zum Vortag/Laufzeit erkennt. (Gibt aber bestimmt schon so ein Programm, kann ich mir vorstellen)
 
Um Grundrauschen herauszufiltern, könntest oder solltest du den SSH-Port noch auf irgendwas anderes verlegen. Bedenke hierbei, dass das kein "Sicherheitsfeature" ist. Es kann aber helfen, tatsächliche Angriffsversuche zu entdecken.
Ansonsten noch denyhosts oder fail2ban würde ich empfehlen.


Grüße
 
Last edited by a moderator:
Erstmal danke für die vielen Anworten -> sind extrem hilfreich!

Regelmässige updates mit apt-get update/upgrade unterstützen die Sicherheit, richtig?

Wie meinst Du das mit SSH Port "verlegen"?

Die Programme denyhosts oder fail2ban saugen sicher am RAM oder?
 
Last edited by a moderator:
fail2ban zieht sehr am Arbeitsspeicher. Denyhosts ist quasi abgelaufen, weil sich da seit Jahren nichts am hosts-lib-dings geändert hat. Sollte man nicht unbedingt nutzen… Ansonsten halte ich es sowieso für totalen Schwachsinn, solche Programme auf seinen SSH-Port loszulassen. Wenn Du den Login per Public-/Privatekey machst, dann gibts da nichts zu knacken… Bis sowas gebruteforced bist, liegst Du im Grab.
 
Wichtigster Punkt überhaupt für deine Sicherheit: KnowHow. Du brauchst unbedingt mehr Wissen. Solche Fragen:

Sind von der minimal Installation aus automatisch irgendwelche Ports offen oder bestehen sonstige Lücken?

Regelmässige updates mit apt-get update/upgrade unterstützen die Sicherheit, richtig?

Wie meinst Du das mit SSH Port "verlegen"?

musst du unbedingt selbständig beantworten können. Auch wenn dir hier die Standard-Antworten geliefert werden, ist das keine Garantie, dass dein individueller Server mit deiner Config nicht doch ein großes Loch offen hat. Das ist wie mit der OpenLeaks-Geschichte gerade. Die Sicherheit, die du hier aufbaust, ist mehr als trügerisch. Entscheidend ist nicht, was du an Fragen stellst, sondern was du zu fragen vergisst.
 
Hi PapaBaer,

ich stimme Dir da voll und ganz zu!

Das ist genau der Punkt, wissen.
Die Frage ist nur wie und wo schaffe ich mir das ganze drauf.

Muss ich dazu Debian "auswendig" kennen oder reicht es wenn ich die LPIs durcharbeite (http://www.linux-praxis.de/lpi.html)
Ich sehe das Problem darin das es fast unmöglich ist alles zu wissen, gerade bei einem so schnell wachsendem komplexem Gebiet.

Verstehst Du das/mein Problem, was ich versuche zu beschreiben?

Wie packt man so etwas an?

Grüße
 
Größtes Sicherheitsmanko in meinen Augen: proftpd.

Wenn man brav seine Updates macht und TLS benutzt, kann nicht viel passieren. Sicherheitslücken hat jede Software die von Menschen geschrieben worden ist.

PS: Standardports sollte man so lassen wie sie sind. Ein Server, der offensichtlich versucht etwas zu verstecken ist gerade für Hacker eine Herausforderung. Über Dienste würde ich mir eher Sorgen mach. Die sind meistens sicher. Du könntest für den Login eventuell nur SSH-Keys erlauben. Viel mehr Gedanken solltest du dir um die Applikation machen, die in der Javaumgebung läuft. Diese eventuell in einen Chroot zu verlegen, könnte ein minimaler Sicherheitsgewinn sein.
 
Last edited by a moderator:
Als guten Einstieg - grad für Debian - empfehle ich meistens "Linux-Server mit Debian GNU/Linux: Das umfassende Praxis-Handbuch" von Eric Amberg. Solltest du in jedem Buchhandel bekommen.

Dienste solltest du auf jeden Fall als eigenen User laufen lassen. Ich erwähne das, weil es sich ja anscheinend um einen Minecraft-Server handelt und ich viele Tutorials im Netz gesehen habe, in denen Minecraft als root installiert wird.

Ich selbst habe meinen Minecraft/Bukkit-Server sogar in einer Chroot-Umgebung laufen, da ich den ganzen Hobby-Plugin-Schreibern nicht traue. Wer weiß schon, was die für Bugs in den Dingern haben. Bei manchen veröffentlichten Sourcecodes wird einem schlecht.

Regelmässige updates mit apt-get update/upgrade ...
Schau dir mal cron-apt an. Das informiert dich per Mail, wenn Updates anstehen. Es gibt auch eine Debian-Security-Mailingliste.
 
Back
Top