motte990
Goto Top

Debian 8.6 Absichern?

Hallo Leute

zurzeit befasse ich mit Debian 8.6 in einer Vmware Umgebung.

Zum Einsatz kommen Debian 8.6 mit apache2 mysql proftpd webmin später vllt ein Mail Server.

Noch mal als Info das ist alles zum testen und es ist kein vserver oder root Server in einem Rechenzentrum.
Gern möchte ich aber alles das absichern bzw simulieren als wenn der Server im RZ steht.

Wie sichert man einen Debian Server am besten ab ?

Auf was muss man achten und welche Programme bzw tools brauch man ?


Was habe ich bis jetzt gemacht:

Debian frisch installiert
ssh port geändert
passwort login deaktiviert
root zugang mit keyfile gesichert
webmin installiert


MFG Motte990

Content-ID: 322303

Url: https://administrator.de/contentid/322303

Ausgedruckt am: 22.11.2024 um 06:11 Uhr

Phill93
Phill93 28.11.2016 um 12:48:03 Uhr
Goto Top
Hallo,

Für SSH solltest du noch auf jedenfall Fail2Ban installieren das dieser gegen BruteForce Angriffe geschützt ist.

Webmin sollte man nicht mehr verwenden siehe hier(https://wiki.ubuntuusers.de/Archiv/Webmin/)

Phill93
SlainteMhath
SlainteMhath 28.11.2016 um 12:49:51 Uhr
Goto Top
Moin,

Hier gibts eine ausführliche Anleitung zu dem Thema.

Ansonsten:
- Webmin - weglassen, Konfiguration per ssh erledigen
- prosftp - weblassen, up/downloads per SFTP oder scp
- ssh port ändern - nicht nötig.

lg,
Slainte
Sheogorath
Sheogorath 28.11.2016 um 12:50:27 Uhr
Goto Top
Moin,

Debian frisch installiert
Gute sache.

ssh port geändert
Blöde Idee -> https://www.adayinthelifeof.nl/2012/03/12/why-putting-ssh-on-another-por ...

passwort login deaktiviert
richtig so face-smile

root zugang mit keyfile gesichert
Wenn du den root login komplett deaktivierst und dafür einen normalen Account anlegst, der sudo nutzen kann, bist du noch etwas besser unterwegs.

webmin installiert
Das macht natürlich den ganzen Hickhack von eben hinfällig. Webmin ist genau wie Dinge wie Plesk und Co. eine nette Sache, wenn man keine ahnung hat, aber ich empfehle es grundsätzlich nicht zu installieren.

Webmin setzt auch wieder auf klassische Username Passwort Methoden und endet in einem quasi root zugang für jeden der es schafft den passenden Account zu knacken. Absichern wirst du es damit nicht.

Was ich empfehlen kann:
https://www.digitalocean.com/community/tutorials/7-security-measures-to- ...
https://www.digitalocean.com/community/tutorials/an-introduction-to-secu ...
https://github.com/virus2500/blocklist-with-ipset

Es gibt so viele andere Ressourcen die ebenfalls zu empfehlen sind, aber das sprengt einfach den Rahmen.

Gruß
Chris
Chonta
Chonta 28.11.2016 um 12:52:34 Uhr
Goto Top
Hallo,

ssh port geändert
Bringt keine Sicherheit

passwort login deaktiviert
Gut

root zugang mit keyfile gesichert
Am besten wäre wenn sich root über ssh garnicht einloggen köännte sondern nur ein normaler Benutzer und dann erfolgt die Anmeldung als Root mit su und einem langen, sicheren root-passwort.

webmin installiert
Gleich wieder deinstallieren.

Zum administrieren des Server sollte nur die konsole verwendet werden oder die Webadministration ist so weit abgesichert, das da kein anderer Außer Dir da hin kommt.

Was Du noch brauchst ist iptables mit brauchbaren Filterregeln! Nur die Ports erlauben die von den Diensten benötigt werden.
Ausgehende neue Verbindungen z.B. darf nur der Benutzer root, alle anderen dürfen keine Verbindungen ins Internet aufbauen.

Fail2ban mit entsprechenden Regeln.

Gruß

Chonta
Lochkartenstanzer
Lochkartenstanzer 28.11.2016 um 13:07:35 Uhr
Goto Top
Moin,

  • ssh auf Standard-Port lassen
  • Fail2Ban
  • root-login deaktiveren
  • ssh nur mit key, ohne Paßwort
  • Nur öffentlich anzubietende Dienste (webserver, Mail, etc) erreichbar. Alle andere Dienste beenden/deaktivieren oder nur auf 127.0.0.1 binden
  • Administration nur über VPN oder ssh.

lks
ashnod
ashnod 28.11.2016 um 13:11:14 Uhr
Goto Top
Zitat von @Sheogorath:
Das macht natürlich den ganzen Hickhack von eben hinfällig. Webmin ist genau wie Dinge wie Plesk und Co. eine nette Sache, wenn man keine ahnung hat, aber ich empfehle es grundsätzlich nicht zu installieren.

Moin ...
Ich möchte dein Weltbild nicht zerstören, aber es gibt durchaus vielfältige sinnvolle Gründe dafür Plesk einzusetzen und du kannst gerne empfehlen was immer du möchtest ... aber deine abwertende Beurteilung dazu darfst du gerne für dich behalten!

VG

Ashnod
Deepsys
Deepsys 28.11.2016 um 13:26:42 Uhr
Goto Top
Zitat von @Chonta:
Was Du noch brauchst ist iptables mit brauchbaren Filterregeln! Nur die Ports erlauben die von den Diensten benötigt werden.
Da möchte ich mal nachhaken:
Es macht doch eher Sinn Dienste die man nicht benötigt gleich wegzulassen.
Dann erledigt sich doch auch die Firewall, oder?
Was soll ich verbieten, wenn an den Ports eh nichts ist.

VG,
deepsys
Lochkartenstanzer
Lochkartenstanzer 28.11.2016 um 13:45:14 Uhr
Goto Top
Zitat von @Deepsys:

Zitat von @Chonta:
Was Du noch brauchst ist iptables mit brauchbaren Filterregeln! Nur die Ports erlauben die von den Diensten benötigt werden.
Da möchte ich mal nachhaken:
Es macht doch eher Sinn Dienste die man nicht benötigt gleich wegzulassen.
Dann erledigt sich doch auch die Firewall, oder?
Was soll ich verbieten, wenn an den Ports eh nichts ist.

Das ist die grundregel:

Alles was man nicht braucht, abstellen!

Und das was man braucht, was aber nicht für die öffentlichkeit bestimmt ist, nur auf 127.0.0.1 binden.

iptables-regeln um z.B. den Zugriff von ssh nru von bestimmten systemen zu erlauben sind nciht verkehrt.

lks
Chonta
Chonta 28.11.2016 um 14:09:06 Uhr
Goto Top
Es macht doch eher Sinn Dienste die man nicht benötigt gleich wegzulassen.
Das ist Standard!

Dann erledigt sich doch auch die Firewall, oder?
Es gibt aber Dineste die Du installierst die dann über ein Port erreichbar sind man aber nicht will das man die außer von localhost oder bestimmten IP-Adressen erreichen kann.
- Monitoring
- Dein Webmin könnte so konfiguriert werden das es auf 8443 lauscheot oder 8080 und nur von IPxyz ereichbar ist.
- Auch ohne rotrechte können Programme ausgeführt werden, die auf einem Port lauschen oder nach hause telefonieren wollen.
Ab dem Moment wo Du sicherstellen willst das deine Serverdienste nur auf Anfragen von außen reagieren und nur root selber Daten aus dem Interent nachladen darf brauchst Du iptables.
Firewalls sind ein Tor in Beiderichtungen, wenn so eingestellt, nicht nur von Internet zu deinem Rechner, auch von Deinem Rechner ins Internet.

Was soll ich verbieten, wenn an den Ports eh nichts ist.
Und Du weißt immer 100% welche Ports von Programmen geöffnet werden wenn Du was nach installierst?
Soll der nrpe von überall Verbindungen annehmen?
Es macht das Leben einfach nur einfacher face-smile
Und in Verbindung mit Fail2Ban und dessen Filterregeln werden IP die z.B. logins versuchen oderanderweitig auffällg sind geblockt.
Also ja das macht Sin face-smile
Man muss natürlich immer wissen was man macht.

Gruß

Chonta
Deepsys
Deepsys 28.11.2016 um 14:32:46 Uhr
Goto Top
@lka und Chonta.
OK, soweit verstanden face-smile
Bei mini-Webservern die eh nur port 80,443 und 22 machen, vielleicht nicht, aber schaden kann es auch nicht face-smile

Vor allem das Argument mit den nicht root-Programmen hat mich überzeugt face-smile
Chonta
Chonta 28.11.2016 um 14:35:34 Uhr
Goto Top
nicht root-Programmen
Genauergesagt stellst Du ein welche UserID nach draußen darf und welche nicht.
Du kannst ja mal auf deinem frisch installierten Server
netstat -tulpen|grep LISTEN
machen, dann weißt Du auf was der so lauscht.

Gruß

Chonta
131725
131725 06.12.2016 aktualisiert um 16:15:20 Uhr
Goto Top
Zitat von @ashnod:

Zitat von @Sheogorath:
Das macht natürlich den ganzen Hickhack von eben hinfällig. Webmin ist genau wie Dinge wie Plesk und Co. eine nette Sache, wenn man keine ahnung hat, aber ich empfehle es grundsätzlich nicht zu installieren.

Moin ...
Ich möchte dein Weltbild nicht zerstören, aber es gibt durchaus vielfältige sinnvolle Gründe dafür Plesk einzusetzen und du kannst gerne empfehlen was immer du möchtest ... aber deine abwertende Beurteilung dazu darfst du gerne für dich behalten!

Da ist aber jemand gekränkt. Klingt fast so, als wäre jemandes Weltbild zerstört worden. Vielfalt, Sinn und Plesk sind Worte, die in einem gemeinsamen Satz nichts verloren haben. Sheogorath hat allerdings ebenfalls ein klein wenig Unrecht, denn Plesk ist niemals eine nette Sache - Niemals. Ich wiederhole - Niemals. Und weil's so wahr ist, gleich nochmal: niemals.

Hinsichtlich der sicherheitsbezogenen Konfiguration von Debian lohnt es sich im Übrigen tatsächlich, diesen trockenen, und sich ziehenden Stoff einmal Hand in Hand mit Debby durchzugehen:
https://www.debian.org/doc/manuals/securing-debian-howto/
Motte990
Motte990 22.12.2016 um 09:52:48 Uhr
Goto Top
Kann mir einer sagen wie eine optimale jail.conf aus sehen sollte ?

Sowie was alles auf true steh soll / muss?
Sheogorath
Sheogorath 22.12.2016 um 13:14:33 Uhr
Goto Top
Moin,

alle Dienste, die was irgendwie authentifizierung von extern erlauben, sollten in deiner jail.conf bzw. genauer gesagt in deiner jail.local (best practice) vorkommen. Für all diese Dienste sollte also ein jail existieren und du die entsprechenden Logs auf falsche/fehlerhafte Logins überprüfen. Ggf. kann man hier noch Dienste "ausschließen", die einen solchen Rate-limiting mechanismus noch selbst implementiert haben, aber es schadet auch nicht sie mit drin zu haben.

Per default wird eine sehr ausführliches config-set mitgeliefert. Jetzt vergleichst du das einfach mal mit deinen offnen Ports und laufenden Prozessen. Alles wo du "bingo" rufen kannst, sollte auf true stehen und ggf. angepasst sein. Findest du mal keinen passenden Default-Regelsatz, schau mal im Web ob du einen passenden Filter findest, baue ihn selbst oder schau mal auf Freenode im #fail2ban channel vorbei. Je nachdem wer gerade anwesend ist, hat man da gerne mal Glück ;)

Gruß
Chris