====== Netzwerk ====== ===== Netzwerk-Tools ===== sudo apt install net-tools sudo apt install nano inetutils-traceroute inetutils-ping -y [[https://manpages.debian.org/bullseye/net-tools/index.html| Net-Tools]] [[https://manpages.debian.org/bullseye/net-tools/netstat.8.de.html |netstat]] \\ ===== IP-Adressen anzeigen ===== Eigener Rechner hostname -I Öffentliche IP4 curl -4 icanhazip.com Öffentliche IP6 curl -6 icanhazip.com ===== Restart der Netzwerkeinstellungen ===== Achtung bei Verwendung einer [[open:it:kvm#Netzwerkbrücke|KVM - Netzwerkbrücke]]: \\ Netzwerk-Restart kann Probleme beim Zugriff auf KVM verursachen. \\ Ggf. das gesamte System neustarten. Eine Option wählen: sudo service networking restart sudo systemctl restart networking.service sudo /etc/init.d/networking restart -y ===== Route verfolgen ===== Adresse des Gateways ip route show Adresse einer Domain (z.B. duckduckgo.de) Linux-Konsole traceroute duckduckgo.de Windows-Konsole tracert duckduckgo.de ===== Netzwerktraffic analysieren ===== ==== Datenpakete mitschneiden ==== [[https://wiki.ubuntuusers.de/tcpdump/|Ubuntu-users->tcpdump]] \\ Tool starten. Ausgabe (nur) auf der Konsole sudo tcpdump Daten in eine Datei schreiben. sudo tcpdump -w Mit "normalem" Editor ist diese Datei nicht lesbar. Genutzt werden kann Wireshark oder mit der Option -r auf der Konsole ausgeben. sudo tcpdump -r ==== Datenanalyse mit Wireshark ==== [[https://wiki.ubuntuusers.de/Wireshark/|Ubuntu-users->Wireshark]] \\ Sicherheitsrisiko: dieses Tool niemals mit Root-Rechten (sudo) starten. \\ Dafür das o.a. **tcpdump** nutzen und den Traffic in eine Datei speichern oder dem User die Aufzeichnung erlauben. \\ Siehe entsprechende Hinweise hierzu unter [[https://wiki.ubuntuusers.de/tcpdump/#tcpdumps-mit-Wireshark-analysieren|Ubuntuusers -> tcpdump]] und [[https://wiki.ubuntuusers.de/Wireshark/#Programmstart|Ubuntuusers -> Wireshark]] sudo apt install wireshark Nicht-Root-Usern und Mitgliedern der Gruppe wireshark grundsätzlich erlauben, Netzwerktraffic mit Wireshark aufzuzeichnen: Frage mit Ja beantworten: sudo dpkg-reconfigure wireshark-common Entsprechende User in die Gruppe wireshark aufnehmen sudo usermod -aG wireshark ===== Analyse: Apache-Zugriffe ===== Ordner der Logdateien sudo ls -lht /var/log/apache2/ Sollen für einzelne (virtuelle) Hosts eigene Protokolldateien geschrieben werden, dann ist dies in der Konfiguration der Webseiten vorzunehmen (/etc/apache2/seites-available/*.conf). \\ Z.B.: ErrorLog ${APACHE_LOG_DIR}/bluegnu.de-error.log CustomLog ${APACHE_LOG_DIR}/bluegnu.de-access.log combined Die (gemeinsamen) Log-Einstellungen über Dauer und Häufigkeit der Speicherung liegen in der Datei: cat /etc/logrotate.d/apache2 ^ Datei ^ Inhalt | | access.log | Seitenaufrufe und HTTP-Anfragen | |error.log | Fehler und Warnungen | |access.log.1 | Vorherige rotierte Zugriffsprotokolle | |access.log.*.gz | Ältere, komprimierte Protokolle | **Zugriffe auf die Webseiten ansehen** Die letzten 30 Einträge: sudo tail -n 30 /var/log/apache2/access.log Fortlaufend neue Zugriffe beobachten: sudo tail -f /var/log/apache2/access.log **Fehlerprotokoll ansehen** Die letzten 50 Fehlermeldungen: sudo tail -n 50 /var/log/apache2/error.log Laufend beobachten: sudo tail -f /var/log/apache2/error.log **Zugriffe gezielt auswerten** Anzahl aller protokollierten Anfragen in der aktuellen Logdatei: sudo wc -l /var/log/apache2/access.log Die 20 häufigsten IP-Adressen: sudo awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head -20 Die 20 am häufigsten angeforderten URLs: sudo awk '{print $7}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head -20 Fehler 404 (Seite nicht gefunden): sudo awk '$9 == 404' /var/log/apache2/access.log Beachte, dass diese Zahlen HTTP-Anfragen zählen, nicht eindeutige Besucher. Auch Bilder, CSS-Dateien, Bots und andere Ressourcen können darin enthalten sein. **Ältere Protokolle lesen** Die vorherige Logdatei: sudo less /var/log/apache2/access.log.1 Komprimierte Protokolle: sudo zless /var/log/apache2/access.log.2.gz Mit q Anzeige verlassen. ===== Firewall ===== UFW = Uncomplicated Firewall \\ Firewall installieren sudo apt install ufw Zugriff der Standards erlauben (unbedingt 22/ssh oder OpenSSH vor dem Start von UFW, sonst ggf. kein Zugriff mehr auf den Server!!!!) Zugriff per SSH sudo ufw allow OpenSSH oder sudo ufw allow ssh Weitere Freigabe-Ports - nur die tatsächlich benötigten freigeben! * 22 = SSH/FTP * 80 = HTTP * 443 = HTTPS * 445 = File-Server, siehe [[open:it:samba|Samba - File-Server]] * 3306 = MySQL-Datenbank (i.d.R. nur als lokaler Zugriff erforderlich) * 51820 = VPN, siehe [[open:it:vpn|WireGuard - VPN-Server]] Freigabe auch über Port-Nummer möglich, z.B.: sudo ufw allow 80 Firewall aktivieren sudo ufw enable Firewall deaktivieren sudo ufw disable Firewall neu starten sudo ufw reload Status anzeigen sudo ufw status numbered = durchnummeriert. Nummern werden zum Löschen einzelner Freigaben benötigt. \\ sudo ufw status numbered Genutzte Ports anzeigen ss -nptl Deaktivieren einzelner Freigaben sudo ufw deny ssh Löschen einzelner Freigaben sudo ufw delete aus o.a. Status-Liste \\ ===== Remote-Desktop ===== Auf dem lokalen Rechner aktivieren. [[#firewall|Firewall]] zuvor installieren bzw. aktivieren. sudo apt install xrdp sudo systemctl enable --now xrdp ggf. diese Einstellung an der Firewall vornehmen sudo ufw allow from any to any port 3389 proto tcp Dann Zugriff auch über Window-Remote-Desktop.