Leitfaden zur Absicherung eines privaten Linux-Rechners

Code

Leitfaden zur Absicherung eines privaten Linux-Rechners


Leitfaden zur Absicherung eines privaten Linux-Rechners

1. BIOS/UEFI absichern

1.1 BIOS/UEFI-Passwort setzen

Das Setzen eines BIOS/UEFI-Passworts verhindert unbefugte Änderungen an den Boot-Einstellungen:

  1. Rufe das BIOS/UEFI-Menü während des Systemstarts auf (z. B. durch Drücken von Del, F2 oder einer anderen Taste).
  2. Navigiere zu den Sicherheitseinstellungen.
  3. Aktiviere ein Administrator- und ggf. Benutzerpasswort.

2. Festplattenverschlüsselung mit LUKS

2.1 Installation und Einrichtung

Viele Linux-Distributionen bieten die Möglichkeit, LUKS während der Installation zu aktivieren:

  1. Wähle “Festplattenverschlüsselung” bei der Partitionierung aus.
  2. Erstelle ein starkes Passwort (mindestens 12 Zeichen, Mischung aus Buchstaben, Zahlen und Sonderzeichen).

Falls LUKS nachträglich eingerichtet werden soll:

sudo apt install cryptsetup
sudo cryptsetup luksFormat /dev/sdX
sudo cryptsetup open /dev/sdX secure_data

Ersetze /dev/sdX durch die entsprechende Festplatte oder Partition.

Was sind sichere Passwörter?

Sichere Passwörter sind ein wesentlicher Bestandteil der IT-Sicherheit und schützen Ihre persönlichen Daten sowie Konten vor unbefugtem Zugriff. Doch was macht ein Passwort wirklich sicher? Und wie können Sie Ihre Passwörter effektiv verwalten?

Merkmale sicherer Passwörter

  1. Länge: Ein sicheres Passwort sollte mindestens 25 Zeichen lang sein. Längere Passwörter bieten in der Regel mehr Sicherheit.

  2. Komplexität: Verwenden Sie eine Kombination aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen. Vermeiden Sie Wörter, die in Wörterbüchern zu finden sind, sowie gängige Kombinationen wie “123456” oder “Passwort”.

  3. Einzigartigkeit: Verwenden Sie für jedes Ihrer Konten ein eigenes, einzigartiges Passwort. Dadurch wird das Risiko minimiert, dass ein kompromittiertes Konto zu weiteren Sicherheitsproblemen führt.

  4. Keine persönlichen Informationen: Vermeiden Sie die Verwendung von Namen, Geburtstagen oder anderen leicht zu erratenden Informationen.

Was sind sichere Passwörter?

Weitere Informationen finden Sie auf der Webseite des BSI - Sichere Passwörter.


3. SSH-Absicherung

3.1 SSH-Schlüssel einrichten

SSH-Keys bieten eine sicherere Alternative zu Passwörtern. Verwende RSA mit einer Schlüssellänge von 4096 Bit:

ssh-keygen -t rsa -b 4096 -C "Dein Kommentar"
Achtung: Es wird aus sicherheitstechnischen Gründen empfohlen, den Schlüssel auf jeden Fall mit einer Passphrase zu schützen. Dadurch liegt der Schlüssel nicht im Klartext vor, sondern ist AES-CBC verschlüsselt: ```

Kopiere den öffentlichen Schlüssel auf den Server:

```bash
ssh-copy-id -i .ssh/key_rsa.pub user@192.168.56.101
user@192.168.56.101's password: 
Now try logging into the machine, with "ssh 'user@192.168.56.101'", and check in:

3.2 SSH-Konfiguration

Damit auch nur noch über Keys angemeldet werden kann, habe ich die Bearbeite die Datei /etc/ssh/sshd_config:

  • Deaktiviere Root-Login: PermitRootLogin no
  • Aktiviere Passwort-Authentifizierung: PasswordAuthentication no
  • Setze eine maximale Anzahl an erlaubten Versuchen: MaxAuthTries 3
  • IgnoreRhosts yes
  • HostbasedAuthentication no
  • ChallengeResponseAuthentication no
  • PermitEmptyPasswords no
  • AuthenticationMethods publickey

Die Rechte anpassen. chmod 600 ~/.ssh/authorized_keys

Den Dienst neu starten.

systemctl restart sshd.service

3.3 Open-Source-Alternative für Zwei-Faktor-Authentifizierung

FreeOTP

FreeOTP ist eine Open-Source-App zur Generierung von Einmalpasswörtern (TOTP/HOTP):

  1. Installiere die erforderliche Software:

    sudo apt install libpam-oath oathtool
    
  2. Konfiguriere PAM für OATH:

    • Bearbeite die Datei /etc/security/access.conf und füge die gewünschte Konfiguration hinzu.

    • Aktiviere die Unterstützung in /etc/pam.d/sshd, indem du Folgendes hinzufügst:

      auth required pam_oath.so usersfile=/etc/security/oath.users window=10
      
  3. Einrichten eines Benutzers:

    • Generiere ein Token für den Benutzer:

      oathtool --totp -b secret_key
      
    • Speichere den Schlüssel in der Datei /etc/security/oath.users:

      Benutzername - totp secret_key
      
  4. Schlüssel in FreeOTP hinzufügen:

    • Scanne den QR-Code oder füge den Schlüssel manuell in die App ein.

4. Fail2ban einrichten

Fail2ban schützt vor Brute-Force-Angriffen:

sudo apt install fail2ban
sudo systemctl enable --now fail2ban

Konfiguriere /etc/fail2ban/jail.local für SSH:

[sshd]
enabled = true
port = ssh
bantime = 3600
findtime = 600
maxretry = 3

5. Automatische Updates aktivieren

Sorge dafür, dass sicherheitsrelevante Updates automatisch installiert werden:

sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

Optional: Konfiguriere /etc/apt/apt.conf.d/50unattended-upgrades für weitere Optionen.


6. Firewall mit UFW

6.1 UFW installieren und aktivieren

sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable

6.2 Regeln anpassen

Beispiele:

  • HTTP/HTTPS: sudo ufw allow 80,443/tcp
  • Weitere Dienste hinzufügen, falls notwendig.

7. Passwortmanager: KeePassXC

Verwende KeePassXC zur sicheren Verwaltung von Passwörtern:

  1. Installiere KeePassXC:
sudo apt install keepassxc
  1. Erstelle eine neue Datenbank mit einem starken Master-Passwort.
  2. Speichere die Datenbank an einem sicheren Ort (z. B. verschlüsseltes Verzeichnis).

7a. Passwörter in der Konsole erzeugen:

tr -cd '[:alnum:]' < /dev/urandom | fold -w12 | head -n1

oder

openssl rand -base64 63

8. Sichere Nutzung des Browsers: Firefox

8.1 Datenschutz-Plugins

Installiere und aktiviere:

  • uBlock Origin
  • HTTPS Everywhere
  • Privacy Badger

8.2 Einstellungen

  1. Navigiere zu about:config.
  2. Setze folgende Werte:
    • privacy.resistFingerprinting: true
    • network.cookie.cookieBehavior: 1 (Nur Erstanbieter-Cookies).

9. Nutzung von VPN-Diensten

9.1 VPN-Client installieren

Installiere OpenVPN oder WireGuard:

sudo apt install openvpn

Konfiguriere die Verbindung mit den Dateien deines VPN-Anbieters.

9.2 Automatisierung

Richte systemd ein, um die Verbindung beim Booten automatisch zu starten.


10. Tor für anonyme Verbindungen

10.1 Installation

sudo apt install tor
sudo systemctl enable --now tor

10.2 Nutzung

  • Verwende den Tor-Browser für anonymes Surfen.
  • Route andere Anwendungen über das Tor-Netzwerk, wenn nötig.

11. USBGuard zum Schutz vor USB-Geräten

11.1 Installation und Einrichtung

USBGuard schützt vor unautorisierten USB-Geräten:

sudo apt install usbguard
sudo systemctl enable --now usbguard

11.2 Konfiguration

  1. Erstelle eine Regeldatei:
sudo usbguard generate-policy > /etc/usbguard/rules.conf
  1. Bearbeite die Regeldatei, um vertrauenswürdige Geräte zuzulassen.

12. Verwendung von Kill-Switches

12.1 Physische Kill-Switches

Kill-Switches trennen die Stromversorgung des Rechners und aktivieren dadurch die Festplattenverschlüsselung:

  • Implementiere einen physischen Schalter (z. B. über ein USB-Gerät oder Hardware-Button).

12.2 Integration mit LUKS

Stelle sicher, dass bei Stromverlust die LUKS-Verschlüsselung sofort aktiv wird. Dies geschieht standardmäßig, wenn der Rechner neu gestartet wird und das Passwort erneut eingegeben werden muss.


13. Metadaten von Dateien entfernen

Metadaten können sensible Informationen wie Erstellungszeitpunkte oder Standortdaten enthalten. Verwende das Tool mat2, um Metadaten sicher zu entfernen.

13.1 Installation von mat2

sudo apt install mat2

13.2 Nutzung von mat2

Um Metadaten aus einer Datei zu entfernen:

mat2 datei.ext

Für eine Testanalyse, ohne Änderungen vorzunehmen, nutze:

mat2 -s datei.ext

14. VeraCrypt für Datenverschlüsselung

14.1 Installation von VeraCrypt unter Debian

  1. Installiere Abhängigkeiten:
sudo apt install wget gcc make
  1. Lade VeraCrypt herunter:

Gehe zur offiziellen VeraCrypt-Download-Seite und lade das passende Paket herunter.

Hier ist die Fortsetzung für die Anleitung zur Installation von VeraCrypt unter Debian:


14.1.3 Entpacke das heruntergeladene Archiv:

Navigiere in das Verzeichnis, in dem du die Datei gespeichert hast, und entpacke das Archiv:

tar -xvf veracrypt-*-setup.tar.bz2

14.1.4 Installiere VeraCrypt:

Nach dem Entpacken des Archivs findest du ein Installationsskript. Führ dieses Skript aus:

sudo ./veracrypt-*-setup-console-x64

Während der Installation wirst du nach deiner Zustimmung zur Lizenz gefragt. Lies die Lizenzbedingungen und stimme zu, um die Installation fortzusetzen.

14.1.5 Überprüfe die Installation:

Stelle sicher, dass VeraCrypt erfolgreich installiert wurde, indem du den folgenden Befehl eingibst:

veracrypt --version

Wenn VeraCrypt korrekt installiert ist, wird die installierte Version angezeigt.


14.2 Erstellen eines verschlüsselten Containers

14.2.1 Starte VeraCrypt:

Öffne VeraCrypt über das Terminal mit:

veracrypt

Alternativ kannst du die grafische Benutzeroberfläche starten (falls installiert), indem du veracrypt ohne Optionen ausführst.

14.2.2 Erstelle einen neuen verschlüsselten Container:

  1. Klicke auf Create Volume.
  2. Wähle Create an encrypted file container aus und klicke auf Next.
  3. Gib den Speicherort der Containerdatei an und wähle die Verschlüsselungsmethode sowie die Dateigröße.
  4. Gib ein starkes Passwort ein und optional eine Keyfile, falls benötigt.
  5. Wähle das Dateisystem (z. B. ext4 für Linux) und formatiere den Container.

14.2.3 Montiere den Container:

  1. Wähle einen freien Slot in VeraCrypt aus.
  2. Klicke auf Select File, wähle die Containerdatei und klicke auf Mount.
  3. Gib das Passwort (und optional die Keyfile) ein, um den Container zu entsperren.

Der verschlüsselte Container ist jetzt wie ein Laufwerk eingebunden und kann verwendet werden.


14.3 Tipps zur sicheren Nutzung von VeraCrypt

  1. Backup deiner Daten: Auch wenn VeraCrypt sicher ist, solltest du regelmäßig Backups deiner verschlüsselten Daten erstellen.
  2. Starke Passwörter verwenden: Nutze ein langes und komplexes Passwort, um die Sicherheit deines Containers zu gewährleisten.
  3. Automount deaktivieren: Für zusätzliche Sicherheit kannst du automatische Einbindungen verhindern.

15 MAC Adresse ändern

sudo apt update
sudo apt install macchanger

Warum ist das wichtig für den Datenschutz?

Die MAC-Adresse ist eine eindeutige Hardware-Kennung, die jedes Gerät besitzt. Sie wird bei jeder Netzwerkverbindung übertragen – egal ob WLAN oder LAN.

Ohne Änderung kann dich jedes Netzwerk wiedererkennen und nachverfolgen.

Vorteile einer geänderten MAC-Adresse:

🔹 Schutz vor Tracking in öffentlichen WLANs (Bahnhof, Hotel, Café)

🔹 Bewegungsprofile vermeiden, da die echte MAC nicht sichtbar ist

🔹 Geräteprofiling verhindern (Gerätehersteller/Modell wird sonst erkennbar)

🔹 Mehr Anonymität im Netzwerk

🔹 Erschwert Angriffe, bei denen jemand deine MAC-Adresse nachahmt

Das regelmäßige Ändern der MAC-Adresse verbessert somit deinen Datenschutz und deine Privatsphäre, besonders unterwegs.