LPIC102/110.1 Administrationsaufgaben für Sicherheit durchführen

Aus Foxwiki

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