LPIC102/110.1 Administrationsaufgaben Sicherheit: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
| Zeile 1: | Zeile 1: | ||
'''{{BASEPAGENAME}}''' - Beschreibung | |||
== Beschreibung == | |||
== Auffinden von Dateien mit gesetztem SUID/SGID-Bit == | == Auffinden von Dateien mit gesetztem SUID/SGID-Bit == | ||
* bestes Beispiel für gesetztes SUID ist das Programm passwd | * bestes Beispiel für gesetztes SUID ist das Programm passwd | ||
| Zeile 212: | Zeile 215: | ||
* who | * who | ||
* last | * last | ||
== Installation == | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
< /syntaxhighlight> | |||
== Aufruf == | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
< /syntaxhighlight> | |||
=== Optionen === | |||
{| class="wikitable sortable options gnu big" | |||
|- | |||
! Unix !! GNU !! Parameter !! Beschreibung | |||
|- | |||
| || || || | |||
|- | |||
|} | |||
=== Parameter === | |||
=== Umgebungsvariablen === | |||
=== Exit-Status === | |||
{| class="wikitable options col1center big" | |||
|- | |||
! Wert !! Beschreibung | |||
|- | |||
| 0 || Erfolg | |||
|- | |||
| >0 || Fehler | |||
|} | |||
== Anwendung == | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
< /syntaxhighlight> | |||
=== Problembehebung === | |||
== Konfiguration == | |||
=== Dateien === | |||
{| class="wikitable options big" | |||
|- | |||
! Datei !! Beschreibung | |||
|- | |||
| || | |||
|- | |||
| || | |||
|} | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
<div style="column-count:2"> | |||
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | |||
</div> | |||
---- | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
=== Dokumentation === | |||
<!-- | |||
; Man-Page | |||
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | |||
; Info-Pages | |||
--> | |||
=== Links === | |||
==== Projekt ==== | |||
==== Weblinks ==== | |||
[[Kategorie:Linux/LPIC/102]] | [[Kategorie:Linux/LPIC/102]] | ||
[[Kategorie:Linux/Sicherheit]] | [[Kategorie:Linux/Sicherheit]] | ||
</noinclude> | |||
Version vom 23. Oktober 2025, 12:51 Uhr
LPIC102/110.1 Administrationsaufgaben Sicherheit - Beschreibung
Beschreibung
Auffinden von Dateien mit gesetztem SUID/SGID-Bit
- bestes Beispiel für gesetztes SUID ist das Programm passwd
- user kann als gewöhnlicher Benutzer mit erhöhten Rechten sein Passwort ändern
- gesetztes SUID stellt Sicherheitsbedrohung dar
- => regelmäßiges Durchsuchen des Systems nach entsprechenden Programmen
Suche nach Programmen mit setztem SUID:
# find / -perm -u+s
Suche nach Programmen mit setztem SGID:
# find / -perm -g+s
Setzen oder Löschen von Passwörtern und Passwort-Verfallszeiten
passwd
- von password, ändert die Passwörter eines Benutzers oder einer ganzen Gruppe
- passwd greift auf /etc/passwd zu
Link weiterführende Information zu /etc/passwd: weitere2Fpasswd 'Die Datei /etc/passwd'
Die allgemeine Syntax zum Verwalten (Sperren, Löschen und weitere) eines Benutzers lautet
passwd [OPTIONEN] [BENUTZERNAME]
Die allgemeine Syntax zum Festlegen, wann und wie oft das Password geändert werden kann, lautet:
passwd [-x MAX_TAGE] [-n MIN_TAGE] [-w WARN_TAGE] [-i INAKTIV_TAGE] BENUTZERNAME
chage
- Ändert die Informationen über die Gültigkeit eines Userpassworts
allgemeine Syntax
chage [-m mindays] [-M maxdays] [-d lastday] [-I inactive] [-E Ablaufdatum] [-W warndays] Benutzername
wichtige Dateien
- /etc/passwd - Useraccount Informationen
- /etc/shadow - Sichere Useraccount Informationen
nmap, netstat und socket
nmap
- für Network Mapper ist ein Portscanner
allgemeine Syntax
nmap [Art des Scans] <Optionen> Ziel
netstat
- ist ein Diagnose-Werkzeug um Status der Netzwerkschnittstelle(n) auszulesen
allgemeine Syntax
netstat [OPTIONEN]
socket
- Linux Socket Interface
- erstellt einen TCP- oder UNIX-Domain-Socket und stellt eine Verbindung zu Standard In / Out her
- kann u.a. sogar nach außen hin das Vorhandensein eines bestimmten Netzwerkdienstes simulieren, ein Zugriff von außen kann so beobachtet werden
socket -wslqvp "echo Socket!" 1938
Ablauf des Befehls:
- erstellt einen Server-Socket an Port 1938 auf dem Localhost und wartet auf eine Verbindung.
- Wenn eine Verbindung akzeptiert wird, wird die Zeichenfolge "Socket!" in den Socket geschrieben.
- Es werden keine Daten aus dem Socket gelesen oder in das Programm finger - Suchprogramm für Benutzerinformationen - geschrieben.
- Die Verbindung wird geschlossen, wenn eine Dateiende-Bedingung an der Standardausgabe des Programms auftritt.
- Dann wird eine neue Verbindung angenommen.
Ressourcenverwendung kontrollieren
ulimit
- Ressourcengrenze ausgeben lassen oder neu setzen
- Einstellungen hierfür sollten genauso wie die initiale PATH-Variable in der Datei /etc/profile festgelegt werden
allgemeine Syntax
ulimit [Optionen] [n]
[n] für Number
- Überblick verschaffen, welche Grenzen gesetzt werden können mit:
ulimit -a
Folgende ulimit-Werte werden beispielsweise gern eingesetzt, um primitive DOS-(Denial of Service-)Angriffe zu erschweren (natürlich sind die Werte auch abhängig von der Anwendung eines Rechners) und sollten in der /etc/profile festgelegt werden
# Core Dumps verhindern ulimit -c 0 # keine Dateien größer 512 MB zulassen ulimit -f 512000 # weiches Limit von max. 250 Filedeskriptoren ulimit -S -n 250 # weiches Maximum von 100 Prozessen ulimit -S -u 100 # Speicherbenutzung max. 50 MB ulimit -H -v 50000 # weiches Limit der Speichernutzung 20 MB ulimit -S -v 20000
Offene Dateien
lsof
- steht für List Open Files,
- gibt Informationen über geöffnete Dateien ausführen, wichtig bei Problemen beim Aushängen von Datenträgern,
- kann auch zur Überprüfung von Netzwerkdiensten genutzt werden
allgemeine Syntax:
lsof [Option] <Format>
Nutzung von lsof ohne Option ergibt wenig Sinn, da Liste geöffneter Dateien sehr lang => Ergebnisübergabe durch Pipe an andere Programme, beispielsweise an Wc
lsof |wc -l
Welche Prozesse stellen Verbindung zum Netzwerk her?
sudo lsof -i :80
fuser
- Identifizieren von Prozessen mithilfe von Dateien oder Sockets
- Alternative für lsof
- Besonderheit: kann auch ermitteln, von wem oder was Sockets verwendet werden
fuser -m -u /home/harald/test /home/harald/test: 12915(harald)
=> PID 1295 von Benutzer harald
- Ermittlung des verwendeten Programms ist nun kein Problem mehr
sudo ps aux | grep 12915 harald 12915 0.0 0.1 13664 4204 pts/6 S+ 10:42 0:00 vi test
Arbeiten mit erhöhten Rechten
Superuser
su
substitute user
- einen Befehl unter anderer Benutzer- oder Gruppenkennung ausführen
allgemeine Syntax
su [Optionen] [-] [Benutzer [Argument]]
ohne Optionen mit root-Password zu root werden
su
Identität eines anderen Benutzers annehmen, um Umgebung dieses Benutzers zu überprüfen
su -l dominik
Sudoer
sudo
- ein einziges Kommando mit root-Rechten ausführen
- Berechtigungen müssen in der Datei /etc/sudoers definiert werden.
- Laut Buch sollte /etc/sudoers' mit visudo bearbeitet werden, da dabei ein Syntax-Check durchgeführt wird.
- Neue Sudoer könne dort direkt angelegt werden - praktischer ist indirekte Zuweisung über Grupperzugehörigkeiten, beispielsweise in Gruppe admin
- Versuch sudo zu verwenden, wird protokolliert und kann per Mail an root gesendet werden
sudo apt-get install orca
Feststellen, wer an einem System angemeldet ist oder war
w, who, last
w
- zeigt an, wer angemeldet ist und was sie tun, verwendet die Datei /var/run/utmp
allgemeine Syntax:
w [husfVo] [Benutzer]
who
- anzeigen, wer angemeldet ist, verwendet ebenfalls die Datei /var/run/utmp
allgemeine Syntax:
who [OPTION]... [ FILE | ARG1 ARG2 ]
Besonderheit gegenüber w u.a.: Option -b, - -boot: Anzeige des letzten Systemstarts
last
- eine Liste der zuletzt angemeldeten Benutzer anzeigen, wichtig für Suche nach Auslöser für Probleme,
- greift je nach Distribution auf Datei /var/log/wtmp (bei Debian) oder /var/log/btmp,
- falls keine vorhanden mit touch einfach jeweilige Datei erzeugen, wird dann nach Neustart automatisch befüllt
allgemeine Syntax
last [OPTION] [Benutzername…] [TTY…]
Quellen
- Buch LPIC1 Version 5 (Kapitel 110.1 S 435-443)
- ubuntuusers
Manpages
- find
- passwd
- chage
- nmap
- netstat
- socket
- ulimit
- lsof
- fuser
- su
- sudo
- w
- who
- last
Installation
<syntaxhighlight lang="bash" highlight="1" line copy> < /syntaxhighlight>
Aufruf
<syntaxhighlight lang="bash" highlight="1" line copy> < /syntaxhighlight>
Optionen
| Unix | GNU | Parameter | Beschreibung |
|---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
| Wert | Beschreibung |
|---|---|
| 0 | Erfolg |
| >0 | Fehler |
Anwendung
<syntaxhighlight lang="bash" highlight="1" line copy> < /syntaxhighlight>
Problembehebung
Konfiguration
Dateien
| Datei | Beschreibung |
|---|---|
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks