LPIC102/110.1 Administrationsaufgaben für Sicherheit durchführen: Unterschied zwischen den Versionen

Aus Foxwiki
Robertquies (Diskussion | Beiträge)
Robertquies (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 40: Zeile 40:


===chage===
===chage===
- Ändert die Informationen über die Gültigkeit eines Userpassworts  
*Ändert die Informationen über die Gültigkeit eines Userpassworts  


<pre>chage [-m mindays] [-M maxdays] [-d lastday] [-I inactive] [-E Ablaufdatum] [-W warndays] Benutzername</pre>
<pre>chage [-m mindays] [-M maxdays] [-d lastday] [-I inactive] [-E Ablaufdatum] [-W warndays] Benutzername</pre>
Zeile 52: Zeile 52:


===nmap===
===nmap===
- für "Network Mapper" ist ein Portscanner  
*für "Network Mapper" ist ein Portscanner  


allgemeine Syntax
allgemeine Syntax
Zeile 59: Zeile 59:


===netstat===
===netstat===
ist ein Diagnose-Werkzeug um Status der Netzwerkschnittstelle(n) auszulesen
*ist ein Diagnose-Werkzeug um Status der Netzwerkschnittstelle(n) auszulesen


allgemeine Syntax
allgemeine Syntax
Zeile 66: Zeile 66:


===socket===
===socket===
- Linux Socket Interface
*Linux Socket Interface
 




Zeile 73: Zeile 72:


===ulimit===
===ulimit===
- Ressourcengrenze ausgeben lassen oder neu setzen
*Ressourcengrenze ausgeben lassen oder neu setzen


allgemeine Syntax
allgemeine Syntax
Zeile 81: Zeile 80:
[n] für Number
[n] für Number


Überblick verschaffen, welche Grenzen gesetzt werden können mit:
*Überblick verschaffen, welche Grenzen gesetzt werden können mit:


<pre>root@ubuntu-server:~# ulimit -a</pre>
<pre>root@ubuntu-server:~# ulimit -a</pre>
Zeile 105: Zeile 104:


===lsof===
===lsof===
 
*steht für List Open Files,
- steht für List Open Files,
*gibt Informationen über geöffnete Dateien ausführen, wichtig bei Problemen beim Aushängen von Datenträgern,  
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
kann auch zur Überprüfung von Netzwerkdiensten genutzt werden




Zeile 125: Zeile 123:


===fuser===
===fuser===
- Identifizieren von Prozessen mithilfe von Dateien oder Sockets, Alternative für lsof
*Identifizieren von Prozessen mithilfe von Dateien oder Sockets  
Besonderheit: kann auch ermitteln, von wem oder was Sockets verwendet werden
*Alternative für lsof
*Besonderheit: kann auch ermitteln, von wem oder was Sockets verwendet werden


<pre>root@fedora ~# fuser -m -u /home/harald/test
<pre>root@fedora ~# fuser -m -u /home/harald/test
Zeile 145: Zeile 144:


====su====
====su====
- einen Befehl unter anderer Benutzer- oder Gruppenkennung ausführen
*einen Befehl unter anderer Benutzer- oder Gruppenkennung ausführen




Zeile 166: Zeile 165:


====sudo====
====sudo====
- ein einziges Kommando mit root-Rechten ausführen
*ein einziges Kommando mit root-Rechten ausführen


Berechtigungen müssen in der Datei /etc/sudoers definiert werden.
Berechtigungen müssen in der Datei /etc/sudoers definiert werden.
Zeile 182: Zeile 181:


====w====
====w====
- zeigt an, wer angemeldet ist und was sie tun, verwendet die Datei /var/run/utmp
*zeigt an, wer angemeldet ist und was sie tun, verwendet die Datei /var/run/utmp


allgemeine Syntax:
allgemeine Syntax:
Zeile 189: Zeile 188:


====who====
====who====
- anzeigen, wer angemeldet ist, verwendet ebenfalls die Datei /var/run/utmp
*anzeigen, wer angemeldet ist, verwendet ebenfalls die Datei /var/run/utmp


allgemeine Syntax:
allgemeine Syntax:
Zeile 199: Zeile 198:


====last====
====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 jweilige Datei erzeugen, wird dann nach Neustart automatisch befüllt
*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
allgemeine Syntax

Version vom 17. Juli 2019, 11:00 Uhr

110.1 Administrationsaufgaben für Sicherheit durchführen

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:

 root@ubuntu-server:~# find / -perm -u+s 


Suche nach Programmen mit setztem SGID:

root@ubuntu-server:~# 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


Die allgemeine Syntax zum Verwalten (Sperren, Löschen etc.) 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
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


Ressourcenverwendung kontrollieren

ulimit

  • Ressourcengrenze ausgeben lassen oder neu setzen

allgemeine Syntax

ulimit [Optionen] [n]

[n] für Number

  • Überblick verschaffen, welche Grenzen gesetzt werden können mit:
root@ubuntu-server:~# ulimit -a
  • folgende ulimit-Werte werden z. B. 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 macht wenig Sinn, da Liste geöffneter Dateien sehr lang => Ergebnisübergabe durch Pipe an andere Programme, z. B. an Wc

root@archangel:/# lsof |wc -l

Welche Prozesse stellen Verbindung zum Netzwerk her?

root@archangel:~# 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
root@fedora ~# 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

[root@fedora ~]# 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

  • einen Befehl unter anderer Benutzer- oder Gruppenkennung ausführen


allgemeine Syntax

su [Optionen] [-] [Benutzer [Argument]]


ohne Optionen mit root-Password zu root werden

user@ubuntu-server:~$ su 
Password:

Identität eines anderen Benuters annehmen, um Umgebung diesses Buntzers zu überprüfen

root@archangel:~# su -l dominik
dominik@archangel:~$

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 - „Kommando nicht gefunden“ „Paket visudo nicht gefunden“

Neue Sudoer könne dort direkt angelegt werden – praktischer ist indirekte Zuweisung über Grupperzugehörigkeiten, z.B. in Gruppe admin

Versuch sudo zu verwenden, wird protokolliert und kann per Mail an root gesendet werden


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 von find, passwd, chage, nmap, netstat, socket, ulimit, lsof, fuser, su, sudo, w, who, last