Created: 2025-09-07 Sun 09:23
Sicherheitseinstellungen von Linux-Systemen sollten sich an der Gefährdung des Systems orientieren
Bei der Planung von Sicherheitssystemen muss die Lebensdauer dieser Systeme berücksichtigt werden
Eine kleine Einführung in Begriffe und Kryptographische Algorithmen, welche bei der Arbeit als Systemadmin vorkommen
Kryptographische Hashes sind spezielle mathematische Funktionen, welche aus beliebigen Eingabe-Daten einen digitalen Fingerabdruck fester Länge erstellen.
Kryptografische Hash-Funktionen haben dabei vier Hauptmerkmale:
Kryptographische Hash-Funktionen werden auch Message Digest genannt.
/etc/shadow
)Kryptografische Hash-Funktionen haben keine Authentisierungs-Funktion. Das prüfen von MD5-, SHA1- oder andern Hash-Werten nach dem Download einer Datei über ungesicherte Netzwerke gibt keine Auskunft über die Quelle der Daten!
# echo "Hallo" | md5sum 3290ec3c19a8a39362f7d70043f15627 - # echo "Hallo" | sha1sum 6ce3fe1479a10edb2f1bdd6d181a5b0e210abe1a - # echo "Hallo" | openssl dgst -sha1 (stdin)= 6ce3fe1479a10edb2f1bdd6d181a5b0e210abe1a # echo "Hallo" | openssl dgst -sha256 (stdin)= 5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03 # echo "Hello" | openssl dgst -sha256 (stdin)= 66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18
echo -n "nachricht" | openssl sha1 -hmac "geheimnis"
RC4 (schnell, aber ggf. nicht sicher genug)
echo "Hallo LinuxHotel" | openssl enc -e -rc4 -a enter rc4 encryption password: Verifying - enter rc4 encryption password: U2FsdGVkX1+/19xWWHObEzgY8tNP8MCQUrqOO83ylzzy echo "U2FsdGVkX1+/19xWWHObEzgY8tNP8MCQUrqOO83ylzzy" \ | openssl enc -d -rc4 -a
% echo "Hallo LinuxHotel" | openssl enc -e -aes256 -a enter aes-256-cbc encryption password: Verifying - enter aes-256-cbc encryption password: U2FsdGVkX186OZf2oJrGRtSOHtSusHEZSapzohhY2JtlbDAdBXSYUlAVFX1UFtnM echo "U2FsdGVkX186OZf2oJrGRtSOHtSusHEZSapzohhY2JtlbDAdBXSYUlAVFX1UFtnM" \ | openssl enc -d -aes256 -a
# einen neuen privaten RSA Schlüssel erstellen openssl genpkey -algorithm RSA -out key.pem # den privaten Schlüssel mit AES 256bit verschlüsseln openssl pkey -in key.pem -aes256 -out keyaes.pem Enter PEM pass phrase: Verifying - Enter PEM pass phrase: rm key.pem
# den öffentlichen Schlüssel erzeugen openssl pkey -in keyaes.pem -pubout -out pubkey.pem # Daten mit dem öffentlichen Schlüssel verschlüsseln echo "Hallo LinuxHotel" > plain.txt openssl pkeyutl -in plain.txt -out cipher.txt -encrypt \ -pubin -inkey pubkey.pem cat cipher.txt | od -x -a
# Daten mit dem privaten Schlüssel entschlüsseln openssl pkeyutl -in cipher.txt -out plain2.txt \ -decrypt -inkey keyaes.pem Enter pass phrase for keyaes.pem: cat plain2.txt Hallo LinuxHotel
/dev/random
- liefert Zufallsereignisse aus dem CSPRNG und kann
blockieren/dev/urandom
- liefert Zufall aus dem CSPRNG und blockiert nicht
/dev/random
versucht die Qualität des Zufalls im Kernel-Pool zu
ermitteln und blockiert, wenn die Qualität des Zufalls zu schlecht
ist. Dieses Verfahren ist unter Krypto-Experten sehr umstritten./dev/urandom
liefert immer Zufallsdaten.
/dev/urandom
nicht optimal und konnte schlechten Zufall liefern/dev/urandom
für alle Anwendungen
zu benutzen, die Zufall benötigen/dev/random
/dev/urandom
umgestellt
werden
/dev/random
oder /dev/urandom
per VirtIO Gerät
in die VM durchreichenhaveged
. Der Nutzen
und die Sicherheit von EGD ist umstritten.
/dev/urandom
nicht möglich ist)~/.rnd
und /dev/urandom
initialisiert
("seeding"):openssl rand -rand /dev/urandom -hex 10 % ls -l ~/.rnd -rw-------. 1 nutzer nutzer 1024 Nov 22 22:12 /home/cas/.rnd
~/.rnd
Entropie für spätere Aufrufe ab.