
135624
16.10.2018, aktualisiert um 18:50:45 Uhr
Linux debian 9 Installation
Hallo zusammen,
ich habe mich ein wenig mit Debian auseinandergesetzt und möchte mir eine Standard-Installation als Grundlage für andere Installationen erstellen. Ich habe jetzt folgendes durchgeführt um das System abzusichern.
Natürlich gibt es viele Anleitungen zum Hardening. Was sagt ihr zu der aktuellen Konfig und was könnte man noch besser machen? Ich bin ein Freund von sehr schlanken und aufgeräumten Systemen.
Folgendes habe ich durchgeführt:
1. Das ISO debian-9.5.0-amd64-netinst.iso verwendet
2. Neben der Vergabe eines schwierigen Root-Kennwortes habe ich einen weiteren Benutzer bei der Installation
angelegt. Hier habe ich einen individuellen Namen verwendet (nicht Administrator)
3. Partitionierung "Guided - use entire disk"
4. All files in one partition
5. Mirror-Server von debian genommen
6. Nur Standard-Werkzeuge installiert
7. GRUB boot loader auf /dev/sda installiert
8. apt-get update
9. apt-get upgrade
10. SSH-Server installiert (apt-get -y install ssh openssh-server)
11. Nano installiert apt-get -y install vim-nox nano
12. SSH-Server Port auf einen anderen umgestellt
13. SSH-Server Max Sessions auf 1 gestellt
14. SSH-Server PermitRootLogin auf "no" gestellt
15. Iptables deinstalliert
16. UFW installiert und aktiviert (keine Ports freigegeben)
Natürlich hängen es auch davon ab, ob ein System aus dem Internet zugänglich ist (Web-Server) oder nicht, aber ich würde schon gerne alle System so "härten" wollen wie ein System, dass der größt möglichsten Gefahr ausgesetzt ist
Ich freue mich auf eure Meinungen.
Vielen Dank.
Green14
ich habe mich ein wenig mit Debian auseinandergesetzt und möchte mir eine Standard-Installation als Grundlage für andere Installationen erstellen. Ich habe jetzt folgendes durchgeführt um das System abzusichern.
Natürlich gibt es viele Anleitungen zum Hardening. Was sagt ihr zu der aktuellen Konfig und was könnte man noch besser machen? Ich bin ein Freund von sehr schlanken und aufgeräumten Systemen.
Folgendes habe ich durchgeführt:
1. Das ISO debian-9.5.0-amd64-netinst.iso verwendet
2. Neben der Vergabe eines schwierigen Root-Kennwortes habe ich einen weiteren Benutzer bei der Installation
angelegt. Hier habe ich einen individuellen Namen verwendet (nicht Administrator)
3. Partitionierung "Guided - use entire disk"
4. All files in one partition
5. Mirror-Server von debian genommen
6. Nur Standard-Werkzeuge installiert
7. GRUB boot loader auf /dev/sda installiert
8. apt-get update
9. apt-get upgrade
10. SSH-Server installiert (apt-get -y install ssh openssh-server)
11. Nano installiert apt-get -y install vim-nox nano
12. SSH-Server Port auf einen anderen umgestellt
13. SSH-Server Max Sessions auf 1 gestellt
14. SSH-Server PermitRootLogin auf "no" gestellt
15. Iptables deinstalliert
16. UFW installiert und aktiviert (keine Ports freigegeben)
Natürlich hängen es auch davon ab, ob ein System aus dem Internet zugänglich ist (Web-Server) oder nicht, aber ich würde schon gerne alle System so "härten" wollen wie ein System, dass der größt möglichsten Gefahr ausgesetzt ist
Ich freue mich auf eure Meinungen.
Vielen Dank.
Green14
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 389625
Url: https://administrator.de/forum/linux-debian-9-installation-389625.html
Ausgedruckt am: 11.04.2025 um 14:04 Uhr
16 Kommentare
Neuester Kommentar

Hallo,
Du weißt schon, dass UFW lediglich ein Tool ist um iptables einfacher zu bedienen?
Somit ist die Aussage etwas widersprüchlich, denn UFW braucht iptables.
Grundsätzlich kann man nicht pauschal sagen, was die beste Grundkonfiguration eines Systems ist. Hängt immer auf den Anwendungszweck an.
Ansonsten kann man bei einer Grundinstallation nicht viel falsch machen. Viele Dinge die du hier aufzählst werden schon automatisch durch den Installer vorgenommen. Wobei ich bei der Partitionierung wohl eher auf LVM oder auf ZFS gesetzt hätte. Aber wie gesagt, hängt halt immer auf den Anwendungszweck an.
Edit:
Ich persönlich würde bei SSH die Password Authentifizierung abschalten und nur Public/Private Key erlauben. Und noch zusätzlich Fail2Ban installieren (falls der Server direkt im Netz erreichbar ist und nicht hinter einer Firewall steht).
Edit 2: Da du Debian genommen hast, würde ich noch sudo installieren und ein entsprechendes Berechtigungskonzept nach euren Bedarf konfigurieren. Wenn du total Paranoid bist, kannst du auch noch die TCP Wrapper (hosts.allow und hosts.deny) und SELinux konfigurieren.
Viele Grüße,
Exception
15. Iptables deinstalliert
16. UFW installiert und aktiviert (keine Ports freigegeben)
16. UFW installiert und aktiviert (keine Ports freigegeben)
Du weißt schon, dass UFW lediglich ein Tool ist um iptables einfacher zu bedienen?
Somit ist die Aussage etwas widersprüchlich, denn UFW braucht iptables.
Grundsätzlich kann man nicht pauschal sagen, was die beste Grundkonfiguration eines Systems ist. Hängt immer auf den Anwendungszweck an.
Ansonsten kann man bei einer Grundinstallation nicht viel falsch machen. Viele Dinge die du hier aufzählst werden schon automatisch durch den Installer vorgenommen. Wobei ich bei der Partitionierung wohl eher auf LVM oder auf ZFS gesetzt hätte. Aber wie gesagt, hängt halt immer auf den Anwendungszweck an.
Edit:
Ich persönlich würde bei SSH die Password Authentifizierung abschalten und nur Public/Private Key erlauben. Und noch zusätzlich Fail2Ban installieren (falls der Server direkt im Netz erreichbar ist und nicht hinter einer Firewall steht).
Edit 2: Da du Debian genommen hast, würde ich noch sudo installieren und ein entsprechendes Berechtigungskonzept nach euren Bedarf konfigurieren. Wenn du total Paranoid bist, kannst du auch noch die TCP Wrapper (hosts.allow und hosts.deny) und SELinux konfigurieren.
Viele Grüße,
Exception
- SSH nur per Key erlauben.
- So wenig wie möglich installieren. Nur das was du wirklich brauchst
- Keine Werkzeuge drauf lassen wie wget, Compiler, net-tools usw. Alles runter.
- Fail2Ban installieren und einrichten
- Script einbinden, was dir autom. eine Email schickt, wenn sich jemand am System einlogt.
- Richte das System immer nach dem KISS-Prinzip her damit du später noch weißt wie alles zusammenspielt.
Dokumentiere das alles. Einfach und leicht verständlich muss es sein damit du in 2 Jahren noch weißt warum und wieso.
- So wenig wie möglich installieren. Nur das was du wirklich brauchst
- Keine Werkzeuge drauf lassen wie wget, Compiler, net-tools usw. Alles runter.
- Fail2Ban installieren und einrichten
- Script einbinden, was dir autom. eine Email schickt, wenn sich jemand am System einlogt.
- Richte das System immer nach dem KISS-Prinzip her damit du später noch weißt wie alles zusammenspielt.
Dokumentiere das alles. Einfach und leicht verständlich muss es sein damit du in 2 Jahren noch weißt warum und wieso.
@it-fraggle
Richtiger Ansatz, problem ist dann, wenn er alles aufräumt und er dann wieder Apps installiert, die all das benötigen (er aber denkt, dass es nicht mehr drauf ist
)
Exception hat es bereits richtig erwähnt: es kommt auf den Anwendungsfall an. Einen Best-Case gibt es nur je Szenario und dieser Best-Case wird er vermutlich nicht durch müheloses Nachfragen in einem Forum erlangen.
VG
Richtiger Ansatz, problem ist dann, wenn er alles aufräumt und er dann wieder Apps installiert, die all das benötigen (er aber denkt, dass es nicht mehr drauf ist
Exception hat es bereits richtig erwähnt: es kommt auf den Anwendungsfall an. Einen Best-Case gibt es nur je Szenario und dieser Best-Case wird er vermutlich nicht durch müheloses Nachfragen in einem Forum erlangen.
VG
Zitat von @it-fraggle:
Richtiger Ansatz, problem ist dann, wenn er alles aufräumt und er dann wieder Apps installiert, die all das benötigen (er aber denkt, dass es nicht mehr drauf ist)
Naja, das muss eben in Fleisch und Blut übergehen. Dazu gibt es keine Alternative.Bin ich ganz bei dir, aber das sind noch einige Wegmeter, die er gehen muss, wenn er nach der Erstinstallation nach abgetippten Best-Practices sucht.

Hallo,
nichts für ungut aber du bist wohl ein Neuling in der Linux Welt? Dann würde ich dir erstmals empfehlen, dich mit Linux Grundlagen zu beschäftigen. Dazu gibt es zahlreiche Tutorial und Dokus im Netz. Ansonsten gibt es noch Openbooks von Rheinwerk-Verlag. Alternativ findest du in der Bibliothek zahlreiche Fachbücher zu Linux. Anschließend baust du dir erstmal lokal eine Testumgebung auf und übst erstmal, bevor du dich an eine produktive Umgebung wagst.
Viele Grüße
Exception
nichts für ungut aber du bist wohl ein Neuling in der Linux Welt? Dann würde ich dir erstmals empfehlen, dich mit Linux Grundlagen zu beschäftigen. Dazu gibt es zahlreiche Tutorial und Dokus im Netz. Ansonsten gibt es noch Openbooks von Rheinwerk-Verlag. Alternativ findest du in der Bibliothek zahlreiche Fachbücher zu Linux. Anschließend baust du dir erstmal lokal eine Testumgebung auf und übst erstmal, bevor du dich an eine produktive Umgebung wagst.
Viele Grüße
Exception
Das verstehe ich nicht ganz. D.h. wenn ich Pakete installiere, werden einige Tools einfach wieder mit installiert?
wie bei Windows auch, egal ob Ballerspiel oder Exchange.
Linux ist de facto nicht aufgeräumter als Windows, es kommt manchmal nur so rüber, weil dort noch geringfügig weniger Entwickler dran waren, die das mal kurz Nebenher unter Zeitdruck gemacht haben *** (keine Allgemeingültige Aussage).
VG

Grüß dich,
ein böses Eigentor weil nur noch eine aktive SSH Sitzung möglich ist ?
mfg
ein böses Eigentor weil nur noch eine aktive SSH Sitzung möglich ist ?
mfg
Ggf. könnte man bei SSH auch noch mit einem Schlüsselt arbeiten:
https://www.heise.de/ct/ausgabe/2018-14-Verbindungen-mit-SSH-verschluess ...
https://www.heise.de/ct/ausgabe/2015-8-2-Faktor-Authentifizierung-fuer-s ...
https://www.heise.de/ct/artikel/SSH-absichern-221597.html?seite=all
Wenn im Internet dann ist https://www.fail2ban.org immer eine gute Idee. Ist auch in der Debian Distro vorhanden.
Andere Grundlagen sonst auch hier:
Netzwerk Management Server mit Raspberry Pi
https://www.heise.de/ct/ausgabe/2018-14-Verbindungen-mit-SSH-verschluess ...
https://www.heise.de/ct/ausgabe/2015-8-2-Faktor-Authentifizierung-fuer-s ...
https://www.heise.de/ct/artikel/SSH-absichern-221597.html?seite=all
Wenn im Internet dann ist https://www.fail2ban.org immer eine gute Idee. Ist auch in der Debian Distro vorhanden.
Andere Grundlagen sonst auch hier:
Netzwerk Management Server mit Raspberry Pi
Moin,
debian auf "Vorrat" installieren lohnt sich nur für Testsysteme. Bei Produktivsystemen muß man die Parameter dem Bedarf angleichen und da gleicht sich selten ein System dem anderen.
zu der Partitionierung:
Ich packe generell Daten und System auf verschiedene Partitionen,was das "restaurieren" im Fall des Falles oft vereinfacht.
d.h. bei Bedarf extra Partitionen (oder LVs) für /home, /srv oder /opt. /var packe ich oft in ein eigenes Volume, damit diese das System nicht beeinträchtigt, wenn sie mal im Fehlerfall vollläuft.
LVM sollte man immer einsetzen, damit man für sich ändernde Anforderungen (mehr Platz, umverteilung der Volumegrößen, etc.) gewappnet ist.
Ansonsten:
Ob man netinst oder das "vollpaket" nimmt ist egal, solange man mit der Minimalinstallation anfängt.
"schwieriges" kennwort ist nciht immer gut, z.B. wenn Du Dich zu oft vertippst oder das PW vergißt ist das kontraproduktiv.
Und unter Linux heißt der Admin immer root!
Das mach man manuell um es den Anforderugne anzupassen.
s.o.
Das bliebt dem persönlichen Geschmack überlassen, ist aber gegenüber dem Projekt net, wenn man ncith die zentralen Serve rüberlastet.
Definiere "Standard-Werkzeuge". Das ist vom Einzelfall abhängig, welche Wrerkzeuge dazu gehören. Du nimmst ja auch nith die gesammte Werkstatt mit oder nur die Schraubenzieher, wenn u zum Kunden gehst, sondern genau die Werkzeuge, die Du erwartest zu nutzen.
wo denn sonst?
Machst du das auch regelmäßig?
Grundvoraussetzung für Administration über Netzwerk. du solltest Anmeldung nur über zertifikate erlauben, um Fremde auszuschließen.
Geschmaclssache vi oder emacs reicht vollständig. Zur Not kannst du mit sed auch alles machen.
Das ist nur kosmetischer Schnickschnack. fail2ban und zertifikate bringen da wesentlich mehr.
Unnötig.
default!
Murks.
Unnötiges Tool.
lks
debian auf "Vorrat" installieren lohnt sich nur für Testsysteme. Bei Produktivsystemen muß man die Parameter dem Bedarf angleichen und da gleicht sich selten ein System dem anderen.
zu der Partitionierung:
Ich packe generell Daten und System auf verschiedene Partitionen,was das "restaurieren" im Fall des Falles oft vereinfacht.
d.h. bei Bedarf extra Partitionen (oder LVs) für /home, /srv oder /opt. /var packe ich oft in ein eigenes Volume, damit diese das System nicht beeinträchtigt, wenn sie mal im Fehlerfall vollläuft.
LVM sollte man immer einsetzen, damit man für sich ändernde Anforderungen (mehr Platz, umverteilung der Volumegrößen, etc.) gewappnet ist.
Ansonsten:
1. Das ISO debian-9.5.0-amd64-netinst.iso verwendet
Ob man netinst oder das "vollpaket" nimmt ist egal, solange man mit der Minimalinstallation anfängt.
2. Neben der Vergabe eines schwierigen Root-Kennwortes habe ich einen weiteren Benutzer bei der Installation
angelegt. Hier habe ich einen individuellen Namen verwendet (nicht Administrator)"schwieriges" kennwort ist nciht immer gut, z.B. wenn Du Dich zu oft vertippst oder das PW vergißt ist das kontraproduktiv.
Und unter Linux heißt der Admin immer root!
3. Partitionierung "Guided - use entire disk"
Das mach man manuell um es den Anforderugne anzupassen.
4. All files in one partition
s.o.
5. Mirror-Server von debian genommen
Das bliebt dem persönlichen Geschmack überlassen, ist aber gegenüber dem Projekt net, wenn man ncith die zentralen Serve rüberlastet.
6. Nur Standard-Werkzeuge installiert
Definiere "Standard-Werkzeuge". Das ist vom Einzelfall abhängig, welche Wrerkzeuge dazu gehören. Du nimmst ja auch nith die gesammte Werkstatt mit oder nur die Schraubenzieher, wenn u zum Kunden gehst, sondern genau die Werkzeuge, die Du erwartest zu nutzen.
7. GRUB boot loader auf /dev/sda installiert
wo denn sonst?
8. apt-get update
9. apt-get upgrade
9. apt-get upgrade
Machst du das auch regelmäßig?
10. SSH-Server installiert (apt-get -y install ssh openssh-server)
Grundvoraussetzung für Administration über Netzwerk. du solltest Anmeldung nur über zertifikate erlauben, um Fremde auszuschließen.
11. Nano installiert apt-get -y install vim-nox nano
Geschmaclssache vi oder emacs reicht vollständig. Zur Not kannst du mit sed auch alles machen.
12. SSH-Server Port auf einen anderen umgestellt
Das ist nur kosmetischer Schnickschnack. fail2ban und zertifikate bringen da wesentlich mehr.
13. SSH-Server Max Sessions auf 1 gestellt
Unnötig.
14. SSH-Server PermitRootLogin auf "no" gestellt
default!
15. Iptables deinstalliert
Murks.
16. UFW installiert und aktiviert (keine Ports freigegeben)
Unnötiges Tool.
lks