Schlagwort-Archive: firewall

UFW – uncomplicated firewall

Einzelne Ports freigeben

ufw allow 8200/tcp
ufw allow 1900/udp

IP-Bereich blockieren

ufw deny from 159.223.224.0/24

Einzelne Regeln löschen

Nach Nummer

Regeln mit Nummerierung anzeigen:
ufw status numbered

Regel nach Nummer „NUM“ löschen:
ufw delete NUM

nach Protokoll/Port

ufw delete allow http
ufw delete allow 80

Speicherort für die Regeln

/etc/ufw
/etc/ufw/user.rules
/etc/ufw/user6.rules

Auswerten der nextcloud.log

Das folgende Skript erst erstellt automatisch Deny-Regeln für die ufw auf Basis der Nextcloud-Logdatei. Das Script ist an die jeweilige Installation anzupassen und kann im ungünstigsten Fall auch berechtigte Benutzer aussperren.

#/bin/bash

# IP-Adressen mit fehlerhaften Nextcloud-Loginversuchen werden in ufw als "DENY" eingetragen und somit gesperrt
# Die Anzahl an ungültigen Login-Versuchen, die dabei ignoriert werden, kann mit der Variable "logcount" definiert werden.

# Variablen setzen
logcount="1,2,3"  # Suchparameter für sed zum Löschen der Login-Versuche mit der angegebenen Anzahl
nclogfile="/var/www/nextcloud/nextcloud.log"
tmpfile1="/tmp/ufw_addIPfromNC_IPoutNC.txt"
tmpfile2="/tmp/ufw_addIPfromNC_IPoutUFW.txt"
tmpfile3="/tmp/ufw_addIPfromNC_IPaddtoUFW.txt"
tmpfile4="/tmp/ufw_addIPfromNC_whois.txt"
logfile="/var/log/ufw_addIPfromNC.log"

# NC-Logdatei auslesen
echo "IP-Adressen mit mehr als $logcount Fehlanmeldungen aus der Nextclud-Logdatei auslesen ..."
tail -n 1000 "$nclogfile" | grep "Trusted domain error" | awk '{print $4}' | tr -d '\\"' | sed "/192.*$/d" | sort -g | sed 's/\.[^.]*$/./' | uniq -c | sed "/.* [$logcount] .*$/d" | awk '{print $2}' | tee "$tmpfile1"
#- Anmerkungen -# Letzten 1000 Zeilen der NC-Logdatei auslesen | Fehlerhafte Loginversuche suchen | IP-Adressen ermitteln (spalte 4) | \ und " löschen | IP 192.x löschen | sortieren | Letzter Block der IP löschen | gleiche zählen | Zeilen mit $logcount-Versuchen löschen | nur IP-Adressen (Spalte 2) | in tmp-File speichern

# ufw "DENY"_liste auslesen
echo "In ufw bereits geblockte IP-Adressen auslesen ..."
ufw status | grep "DENY"   | awk '{print $3}' | sort | sed 's/0\/24//g' | tee "$tmpfile2"
#- Anmerkungen -# ufw-Filterliste ausgeben | geblockte IPs | nur IP-Adresse | sortieren | "0/24" entfernen | in tmp-File speichern

# IP-Listen vergleichen
echo "Noch nicht geblockte IP-Adressen ermitteln ..."
diff "$tmpfile1" "$tmpfile2" | grep "<" | tr -d "< " | tee "$tmpfile3"

# Neue ufw-Regeln erstellen
echo "IP-Adressen in ufw eintragen ..."
while read IP; do
   IPrange=$IP"0/24"
   whois "$IP"1 > "$tmpfile4"
   IP_name=$(cat "$tmpfile4" | grep -i -m 1 netname | awk '{print $2, $3, $4, $5, $6}')
   IP_country=$(cat "$tmpfile4" | grep -i -m 1 country | awk '{print $2}')
   echo $IPrange" ("$IP_name"- country: "$IP_country")"
   echo "ufw deny from $IPrange"
   resp=$(ufw deny from "$IPrange")
   echo $resp
   echo $(date "+%Y.%m.%d %H:%M:%S")" ["$resp"] "$IPrange" ("$IP_name"- country: "$IP_country")" >> $logfile
done < "$tmpfile3"

# Temporäre Dateien löschen
rm "$tmpfile1" "$tmpfile2" "$tmpfile3" "$tmpfile4" 2> /dev/null

exit

Smartphone unter Linux flashen

ACHTUNG: Durch das Flashen kann das Smartphone unbrauchbar werden und die Gewährleistung des Herstellers erlischt! Weiterhin werden alle Daten auf dem Smartphone gelöscht. Das Flashen geschieht auf eigene Gefahr!

Kurzanleitung: Flashen CyanogenMod auf einem Samsung Galaxy S III Mini

Im Folgenden habe ich stichwortartig zusammengefasst, wie man CyanogenMod (Version 12.2 – entspricht Android 5.1.1) unter Debian Testing auf ein Samsung Galaxy S III Mini flasht und dort den Rootzugang einrichtet. Diese Anleitung erhebt keinen Anspruch auf Vollständigkeit und kann am Smartphone großen Schaden anrichten!

Vorbereitung auf dem (Linux-) Computer:

  1. CyanogenMod herunterladen
    Das Samsung Galaxy S III Mini wird von CyanogenMod offiziell nicht unterstützt. Eine für dieses Smartphone angepasst Version kann jedoch bei Novafusion heruntergeladen werden. Dort muss die „odin“-Version ausgewählt werden.
  2. Das Archiv dann 2x entpacken (die Dateien boot.img, recovery.img und system.img werden benötigt)
  3. heimdall aus den Quellen installieren

Smartphone vorbereiten (Werkseinstellungen zurücksetzen)

  1. Smartphone ausschalten
  2. Home + Lauter + Power gleichzeitig gedrückt halten (bei mir musste ich diese Tasten so lange gedrückt halten, bis das Start-Logo zum zweiten mal erscheint)
  3. Über die Wipe-Funktion das Smartphone auf Werkseinstellungen zurücksetzen
  4. Smartphone ausschalten

ROM flashen

Vorbereitung auf dem Smartphone

  1. Home + Leiser + Power gleichzeitig gedrückt halten um den Download-Modus zu starten
  2. Die Warnung mit „Lauter“ bestätigen
  3. Das Smartphone mit einem USB-Kabel mit dem Computer verbinden

Vorbereitung auf dem Computer

Zunächst müssen die Namen der Partitionen und die jeweils zugehörigen Flash-Filenames auf dem Smartphone ermittelt werden:

PITFILE=samsung-s3-mini-GT-I8190.pit
heimdall download-pit --output $PITFILE
heimdall print-pit --file $PITFILE 2>&1 | grep -iE -B1 'Partition Name|Flash Filename' | less

Flashen

Um nun die zuvor heruntergeladenen Images von CyanogenMod auf das Samsung Galaxy S III Mini zu flashen in der Console auf dem PC folgenden Befehl eingeben:

heimdall flash --Kernel boot.img --Kernel2 recovery.img --SYSTEM system.img

Einstellungen unter CyanogenMod

Entwickler-Modus aktivieren

Um unter CyanogenMod den Entwickler Modus zu aktivieren muss man unter „Einstellungen“ / „Über das Telefon“ mehrmals auf die „Build-Nummer“ tippen.

Root-Zugriff aktivieren

Um den Root-Zugriff zu aktivieren unter „Einstellungen“ / „Entwickleroptionen“ / „Root-Zugriff“ die Funktion „Rootzugriff für Apps“ auswählen.

APP-Berechtigungen einschränken

Nach Freischaltung des Root-Zugriffs kann für jede einzelne APP die Berechtigungen unter „Einstellungen“ / „Datenschutz“ / „Datenschutz“ manuell festgelegt werden. Die Funktion „Standardmäßig aktivieren“ schränkt die Zugriffsrechte von neu installierten APPs automatisch auf „nachfragen“ ein.

Durch den Root-Zugriff kann jetzt auch eine Firewall (z. B. von AVAST verwendet werden) um den Zugriff von einzelnen APPs auf Netzwerk und Internet einzuschränken.

 

iptables

Mit den iptables legt man die Regeln für die Firewall fest.
Regeln anzeigen:
iptables -t nat -L -n -v

Alles durchlassen:
iptables -A FORWARD -i $DEV_INT -o $DEV_EXT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Port 80 zum Proxy (192.168.178.1:3128) weiterleiten:
iptables -t nat -A PREROUTING -i $DEV_INT -p TCP --dport http -j DNAT --to-destination 192.168.178.1:3128

Port 25 an Port 2525 umleiten:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 2525

Port 80 an Port 8123 umleiten:
iptables -t nat -I PREROUTING --src 0/0 --dst 192.168.1.5 -p tcp --dport 80 -j REDIRECT --to-ports 8123