Eine Firewall ist auf dem Raspberry Pi schnell mit dem UFW eingerichtet und kann die Sicherheit verbessern.
Die Firewall UFW muss nur installiert werden mit:
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install ufw |
Nun schalten wir zuerst den ipv6 auf no in der Datei /etc/default/ufw, da er bei mir nicht verwendet wird.
sudo vi /etc/default/ufw
Dann werden alle eingehenden Verbindungen verboten und alle ausgehenden Verbindugen erlaubt, das sind die Standardrichtlinien:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Dann, und das ist wichtig, damit man sich nicht selbst aussperrt erlauben wir SSH über Port 22:
sudo ufw allow ssh
Optional: Nun noch die Apple Freigabe für den Firewall erlauben, damit der Zugriff über den Finder noch läuft. Die laufen auf Port 548 und 427.
sudo ufw allow 548
sudo ufw allow 427
oder Optional, für
sudo ufw allow Bonjour
für die Ports:
5353/udp
5298
So nun können wir den Service starten mit:
sudo ufw enable
Am besten mit einer anderen Konsole einloggen, um zu testen ob es noch läuft.
Den Status können wir mit:
sudo ufw status verbose
ausgeben:
1 2 3 4 5 6 7 8 9 10 11 |
sudo ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 22/tcp ALLOW IN Anywhere 548 ALLOW IN Anywhere 427 ALLOW IN Anywhere |
Löschen können wir Regeln wenn wir die nummererierte Liste ausgeben mit:
sudo ufw status numbered
Ergebnis:
1 2 3 4 5 6 7 8 |
sudo ufw status numbered Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 548 ALLOW IN Anywhere [ 3] 427 ALLOW IN Anywhere |
Nun könnten wir z.B. die 2. Zeile mit dem Port 548 über die Nr. 2 löschen:
sudo ufw delete 2
Oder wenn wir ihn nicht mehr brauchen, einfach den ganzen UWF wieder ausschalten mit:
sudo ufw disable
Hier noch die Parameter:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
ufw -help Usage: ufw COMMAND Commands: enable enables the firewall disable disables the firewall default ARG set default policy logging LEVEL set logging to LEVEL allow ARGS add allow rule deny ARGS add deny rule reject ARGS add reject rule limit ARGS add limit rule delete RULE|NUM delete RULE insert NUM RULE insert RULE at NUM route RULE add route RULE route delete RULE|NUM delete route RULE route insert NUM RULE insert route RULE at NUM reload reload firewall reset reset firewall status show firewall status status numbered show firewall status as numbered list of RULES status verbose show verbose firewall status show ARG show firewall report version display version information Application profile commands: app list list application profiles app info PROFILE show information on PROFILE app update PROFILE update PROFILE app default ARG set default application policy |
Eine Liste aller vorkonfigurierte Apps bzw. Protoklolle gibt es mit
sudo ufw app list
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
sudo ufw app list Available applications: AIM Bonjour CIFS DNS Deluge IMAP IMAPS IPP KTorrent Kerberos Admin Kerberos Full Kerberos KDC Kerberos Password LDAP LDAPS LPD MSN MSN SSL Mail submission NFS OpenSSH POP3 POP3S PeopleNearby SMTP SSH Socks Telnet Transmission Transparent Proxy VNC WWW WWW Cache WWW Full WWW Secure XMPP Yahoo qBittorrent svnserve |
Die Apps sind Casesensitive!
Weitere Infos zu einer App gibt es z.B. für SSH
sudo ufw app info SSH
Profile: SSH
Title: SSH server
Description: SSH server
Port:
22/tcp
Mit
systemctl status ufw
können wir uns noch den Status ausgeben lassen:
● ufw.service – Uncomplicated firewall
Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enab
Active: active (exited) since Sat 2021-04-17 19:03:16 BST; 6min ago
Docs: man:ufw(8)
Process: 73 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SUC
Main PID: 73 (code=exited, status=0/SUCCESS)
Apr 17 19:03:16 pi-home systemd[1]: Started Uncomplicated firewall.
Warning: Journal has been rotated since unit was started. Log output is incomple