Vorbereitung für LPI 102 i Vorbereitung für LPI 102
Vorbereitung für LPI 102 ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME Donnerstag, 22. September 2016 AP
Vorbereitung für LPI 102 iii Contents 1 Freiwillige Aufgabe: 1 2 Arbeiten mit erhöhten Rechten 3 2.1 Voraussetzung bei einer Debian............................................ 3 2.2 Editieren der Datei /etc/sudoers............................................ 3 2.3 Testings........................................................ 3 3 Feststellen, wer angemeldet war und ist 4 3.1 Kommandos who, w und uptime........................................... 4 3.2 Kommandos last und lastb.............................................. 4 4 Vorbereitungen für Netzwerksicherheit 6
Vorbereitung für LPI 102 iv Wussten Sie schon, dass Michael Faraday Buchbinder war und seine Werkstücke gründlich gelesen hat? Auf ihn gehen die bekannten Weihnachtsvorlesungen http://www.mdr.de/kultur/themen/kalenderblatt-faraday-100.html http://www.news4teachers.de/2016/09/ein-gigant-der-physik-wurde-vor-225-jahren-geboren-michael-faraday-seinen-kaefig-kenntjeder-doch-er-hatte-viel-mehr-zu-bieten/
Vorbereitung für LPI 102 1 / 7 Chapter 1 Freiwillige Aufgabe: Laden Sie sich die Datei http://gensho.acc.umu.se/debian-cd/8.6.0/amd64/iso-cd/debian-8.6.0-amd64-netinst.iso (64 Bit) Alternativ: http://cdimage.debian.org/debian-cd/8.6.0/i386/iso-cd/debian-8.6.0-i386-netinst.iso (32 Bit) herunter und installieren Sie damit ein kleines, minimales Debian-System ohne Desktop und Druckserver, aber mit SSH-Server. Vergleich der Anzahl von SUID-Programmen auf verschiedenen Debian-Systemen: root@router1:~# find / -perm -4000 2> /dev/null wc -l 22 root@router1:~# root@router1:~# ssh tux@192.168.2.3 The authenticity of host 192.168.2.3 (192.168.2.3) can t be established. ECDSA key fingerprint is f7:1d:8f:28:43:99:ed:e0:ee:11:43:8d:19:bd:40:57. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 192.168.2.3 (ECDSA) to the list of known hosts. Connection closed by 192.168.2.3 root@router1:~# root@router1:~# ssh tux@192.168.2.3 tux@192.168.2.3 s password: The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. tux@d8:~$ tux@d8:~$ su - Passwort: cat ssh-verify ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub find / -perm -4000 2> /dev/null wc -l 15 Kommando chage: chage -d 2016-09-18 -E 2016-12-31 tux grep tux /etc/shadow tux: $6$7YAwGaDd$gCvQlCT0MTLHKCKuw9z3s5D6DUpanBvJmBRjPaMrwOKBbect2QXR1CKS53xEduW6RGx95Q18erNv.fnb6Vfo70:17062:0:99999:7::17166:
Vorbereitung für LPI 102 2 / 7 chage -W 2 -M 5 tux date 09220856 Do 22. Sep 08:56:00 CEST 2016 date Do 22. Sep 08:56:02 CEST 2016 chage -W 2 -M 3 tux grep tux /etc/shadow tux:$6$9axuyozh$l1hzw4cv8dxai2.0obrzsqi8r7d1na1fb6fpfhkkau.cana0. vsbngg9ssjn8ji7kygkdkigfyj2ogtzqzj06.:17066:0:3:2::17166: Kontoablaufinformationen ändern: usermod -L tux grep --color tux /etc/passwd /etc/shadow /etc/passwd:tux:x:1000:1000:tux,,,:/home/tux:/bin/bash /etc/shadow:tux:!$6$9axuyozh$l1hzw4cv8dxai2.0obrzsqi8r7d1na1fb6fpfhkkau.cana0. vsbngg9ssjn8ji7kygkdkigfyj2ogtzqzj06.:17066:0:60:2::17166: usermod -U tux grep --color tux /etc/passwd /etc/shadow /etc/passwd:tux:x:1000:1000:tux,,,:/home/tux:/bin/bash /etc/shadow:tux:$6$9axuyozh$l1hzw4cv8dxai2.0obrzsqi8r7d1na1fb6fpfhkkau.cana0. vsbngg9ssjn8ji7kygkdkigfyj2ogtzqzj06.:17066:0:60:2::17166: passwd -l tux passwd: Passwortablauf-Informationen geändert. grep --color tux /etc/passwd /etc/shadow /etc/passwd:tux:x:1000:1000:tux,,,:/home/tux:/bin/bash /etc/shadow:tux:!$6$9axuyozh$l1hzw4cv8dxai2.0obrzsqi8r7d1na1fb6fpfhkkau.cana0. vsbngg9ssjn8ji7kygkdkigfyj2ogtzqzj06.:17066:0:60:2::17166: passwd -u tux passwd: Passwortablauf-Informationen geändert. grep --color tux /etc/passwd /etc/shadow /etc/passwd:tux:x:1000:1000:tux,,,:/home/tux:/bin/bash /etc/shadow:tux:$6$9axuyozh$l1hzw4cv8dxai2.0obrzsqi8r7d1na1fb6fpfhkkau.cana0. vsbngg9ssjn8ji7kygkdkigfyj2ogtzqzj06.:17066:0:60:2::17166: ## Wie kann ein Nutzer noch ausgesperrt werden? ## a) Loginshell auf /bin/false oder /bin/nologin setzen ## b) Einen Stern ( * ) ins Feld 2 der Datei /etc/passwd schreiben ## c) Datei /etc/nologin anlegen (sobald sie existiert, darf sich nur noch root einloggen)
Vorbereitung für LPI 102 3 / 7 Chapter 2 Arbeiten mit erhöhten Rechten Seite 446 ff ZIEL: Gemäß der Aufgabenstellungen soll ein Nutzer berechtigt werden, z.b. den Rechner herunterzufahren. 2.1 Voraussetzung bei einer Debian => apt-get install sudo 2.2 Editieren der Datei /etc/sudoers => visudo #USER HOST RUNAS TAG COMMANDS tux ALL = (ALL) NOPASSWD: /sbin/shutdown 2.3 Testings Als tux den Rechner herunterfahren, bitte davon überzeugen, dass ein eingeschränktes KOnto verwendet wird: => id Jetzt Herunterfahren: => sudo shudown -h now
Vorbereitung für LPI 102 4 / 7 Chapter 3 Feststellen, wer angemeldet war und ist Seite 448 f 3.1 Kommandos who, w und uptime Diese Kommandos lesen aus der Datei /var/run/utmp! w 11:43:27 up 3:42, 3 users, load average: 0,00, 0,01, 0,04 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 Mi15 19:46m 0.13s 0.12s -bash tux pts/0 192.168.2.1 09:59 3.00s 0.12s 0.01s sshd: tux [priv] root tty2 09:15 2:25m 0.03s 0.01s -bash who root tty1 2016-09-21 15:03 tux pts/0 2016-09-22 09:59 (192.168.2.1) root tty2 2016-09-22 09:15 file /var/run/utmp /var/run/utmp: data 3.2 Kommandos last und lastb Diese Kommandos lesen aus den Dateien /var/log/wtmp bzw. /var/log/btmp! last head tux pts/0 192.168.2.1 Thu Sep 22 09:59 still logged in tux pts/0 192.168.2.1 Thu Sep 22 09:18-09:59 (00:41) root tty2 Thu Sep 22 09:15 still logged in tux tty2 Thu Sep 22 08:57-09:15 (00:18) tux tty2 Thu Sep 22 08:56-08:57 (00:00) tux tty2 Wed Sep 21 15:57-08:56 (16:58) tux pts/0 192.168.2.1 Wed Sep 21 15:48-09:15 (17:27) tux pts/0 192.168.2.1 Wed Sep 21 15:42-15:43 (00:01) tux pts/0 192.168.2.1 Wed Sep 21 15:42-15:42 (00:00) tux pts/0 192.168.2.1 Wed Sep 21 15:21-15:42 (00:21)
Vorbereitung für LPI 102 5 / 7 lastb head tux ssh:notty 192.168.2.10 Thu Sep 22 10:44-10:44 (00:00) tux ssh:notty 192.168.2.10 Thu Sep 22 10:44-10:44 (00:00) root ssh:notty 192.168.2.10 Thu Sep 22 10:44-10:44 (00:00) root ssh:notty 192.168.2.1 Thu Sep 22 09:17-09:17 (00:00) root ssh:notty 192.168.2.1 Thu Sep 22 09:16-09:16 (00:00) tux ssh:notty 192.168.2.1 Thu Sep 22 09:16-09:16 (00:00) tux ssh:notty 192.168.2.1 Thu Sep 22 09:16-09:16 (00:00) tux tty2 Thu Sep 22 09:15-09:15 (00:00) tux tty2 Thu Sep 22 09:15-09:15 (00:00) tux ssh:notty 192.168.2.1 Wed Sep 21 15:48-15:48 (00:00) file /var/log/wtmp /var/log/wtmp: data file /var/log/btmp /var/log/btmp: data
Vorbereitung für LPI 102 6 / 7 Chapter 4 Vorbereitungen für Netzwerksicherheit Vorinstallierte Pakete auf einem Minimalsystem: dpkg -l grep tcp ii tcpd 7.6.q-25 amd64 Wietse Venema s TCP wrapper utilities dpkg -l grep inet ii libtokyocabinet9:amd64 1.4.48-3 amd64 Tokyo Cabinet Database Libraries [runtime] dpkg -l grep ftp ii ftp 0.17-31 amd64 classical file transfer client ii openssh-sftp-server 1:6.7p1-5+deb8u3 amd64 secure shell ( SSH) sftp server module, for SFTP access from remote machines Zum Experimentieren benötigen wir einen Daemon, der aber erst einmal standalone laufen wird: => apt-get install vsftpd Gemäß Debians Philosophie Installieren Konfigurieren Starten... müssen wir davon ausgehen, dass der Dienst damit schon läuft. Ermitteln Sie daher folgendes: A. Welche Ports wurden für welche Protokolle geöffnet? (lsof) B. Welche File-Transfer-Protokoll-Freigaben werden angeboten? (ftp localhost, find /etc -cmin -7) C. Wo liegt die Konfigurationsdatei des vsftpd-servers? (dpkg) Zu Frage A) Wir sehen, dass das Programm vsftpd den Port 21 auf Basis von TCP lediglich via IPv6 öffnet: lsof -itcp -Pn grep -i listen rpcbind 429 root 8u IPv4 10478 0t0 TCP *:111 (LISTEN) rpcbind 429 root 11u IPv6 10481 0t0 TCP *:111 (LISTEN) rpc.statd 438 statd 9u IPv4 10589 0t0 TCP *:41511 (LISTEN) rpc.statd 438 statd 11u IPv6 10595 0t0 TCP *:49335 (LISTEN) sshd 453 root 3u IPv4 11540 0t0 TCP *:22 (LISTEN) sshd 453 root 4u IPv6 11549 0t0 TCP *:22 (LISTEN)
Vorbereitung für LPI 102 7 / 7 exim4 734 Debian-exim 4u IPv4 11902 0t0 TCP 127.0.0.1:25 (LISTEN) exim4 734 Debian-exim 5u IPv6 11903 0t0 TCP [::1]:25 (LISTEN) vsftpd 2779 root 3u IPv6 28628 0t0 TCP *:21 (LISTEN) netstat -tupan grep ftp tcp6 0 0 :::21 :::* LISTEN 2779/vsftpd Zu Frage B) Ein Test-Login ist nur mit einem normalen, gültigen Benutzeraccount möglich, anonymer Zugriff ist nicht gestattet: ftp ::1 Connected to ::1. 220 (vsftpd 3.0.2) Name (::1:tux): tux 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ftp> ls 200 EPRT command successful. Consider using EPSV. 150 Here comes the directory listing. -rw-r--r-- 1 0 0 55882 Sep 22 10:46 deb-packages-minimal-with-network. liste -rw-r--r-- 1 1000 1000 30051 Sep 22 10:48 deb-packages-minimal-without- network.liste -rw-r--r-- 1 0 0 16027 Sep 22 10:48 with -rw-r--r-- 1 0 0 8337 Sep 22 10:48 without 226 Directory send OK. ftp> ftp> 221 Goodbye. ftp ::1 Connected to ::1. 220 (vsftpd 3.0.2) Name (::1:tux): anonymous 331 Please specify the password. Password: 530 Login incorrect. Login failed. ftp> 221 Goodbye. Mit find /etc/-cmin -7 findet man die Dateien, die in den letzten 7 Minuten neu hinzugekommen sind oder verändert wurden, so u.a. die /etc/vsftpd.conf und die Passwort-Datenbankdatei: tail -1 /etc/passwd ftp:x:108:114:ftp daemon,,,:/srv/ftp:/bin/false ACHTUNG: Es wurde damit ein separater Nutzer für anonymen Login angelegt! Sein Heimatverzeichnis /srv/ftp ist das Freigabeverzeichnis für öffentlichen Zugriff (mittels der Namen anonymous oder einfach ftp). Zu Frage C) Mit dpkg -s vsftpd oder auch man vsftpd lässt sich ermitteln, dass die Konfigurationsdatei die /etc/vsftpd.conf ist.