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

Aus Foxwiki
Robertquies (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Robertquies (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
=110.1 Administrationsaufgaben für Sicherheit durchführen=
=110.1 Administrationsaufgaben für Sicherheit durchführen=




==Auffinden von Dateien mit gesetztem SUID/SGID-Bit==  
==Auffinden von Dateien mit gesetztem SUID/SGID-Bit==  




Zeile 22: Zeile 24:


<pre>root@ubuntu-server:~# find / -perm -g+s</pre>
<pre>root@ubuntu-server:~# find / -perm -g+s</pre>




Zeile 43: Zeile 46:
===chage===
===chage===
*Ändert die Informationen über die Gültigkeit eines Userpassworts  
*Ändert die Informationen über die Gültigkeit eines Userpassworts  
allgemeine Syntax


<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>


wichtige Dateien
wichtige Dateien
/etc/passwd - Useraccount Informationen  
*''/etc/passwd'' - Useraccount Informationen  
/etc/shadow - Sichere Useraccount Informationen
*''/etc/shadow'' - Sichere Useraccount Informationen
 




Zeile 56: Zeile 64:
===nmap===
===nmap===
*für "Network Mapper" ist ein Portscanner  
*für "Network Mapper" ist ein Portscanner  


allgemeine Syntax
allgemeine Syntax
Zeile 73: Zeile 82:
===socket===
===socket===
*Linux Socket Interface
*Linux Socket Interface




Zeile 87: Zeile 97:


[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>


*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
*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
Zeile 108: Zeile 120:




==Offene Dateien==


==Offene Dateien==


===lsof===
===lsof===
Zeile 120: Zeile 132:


<pre>lsof [Option] <Format></pre>
<pre>lsof [Option] <Format></pre>


Nutzung von lsof ohne Option macht wenig Sinn, da Liste geöffneter Dateien sehr lang
Nutzung von lsof ohne Option macht wenig Sinn, da Liste geöffneter Dateien sehr lang
Zeile 125: Zeile 138:


<pre>root@archangel:/# lsof |wc -l</pre>
<pre>root@archangel:/# lsof |wc -l</pre>


Welche Prozesse stellen Verbindung zum Netzwerk her?
Welche Prozesse stellen Verbindung zum Netzwerk her?


<pre>root@archangel:~# lsof -i :80</pre>
<pre>root@archangel:~# lsof -i :80</pre>


===fuser===
===fuser===
Zeile 134: Zeile 149:
*Alternative für lsof
*Alternative für lsof
*Besonderheit: kann auch ermitteln, von wem oder was Sockets verwendet werden
*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 139: Zeile 155:


=> PID 1295 von Benutzer harald
=> PID 1295 von Benutzer harald


*Ermittlung des verwendeten Programms ist nun kein
*Ermittlung des verwendeten Programms ist nun kein
Zeile 145: Zeile 162:
<pre>[root@fedora ~]# ps aux | grep 12915
<pre>[root@fedora ~]# ps aux | grep 12915
harald 12915 0.0 0.1 13664 4204 pts/6 S+ 10:42 0:00 vi test</pre>
harald 12915 0.0 0.1 13664 4204 pts/6 S+ 10:42 0:00 vi test</pre>




==Arbeiten mit erhöhten Rechten==
==Arbeiten mit erhöhten Rechten==


===Superuser===
===Superuser===


====su====
====su====
Zeile 164: Zeile 184:
<pre>user@ubuntu-server:~$ su  
<pre>user@ubuntu-server:~$ su  
Password:</pre>
Password:</pre>


Identität eines anderen Benuters annehmen, um Umgebung diesses Buntzers zu überprüfen
Identität eines anderen Benuters annehmen, um Umgebung diesses Buntzers zu überprüfen
Zeile 169: Zeile 190:
<pre>root@archangel:~# su -l dominik
<pre>root@archangel:~# su -l dominik
dominik@archangel:~$</pre>
dominik@archangel:~$</pre>


===Sudoer===
===Sudoer===

Version vom 17. Juli 2019, 11:23 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


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


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