Raspberry Colocation bei EDIS/Firewall und Hardening
Du bist hier : | {{#youAreHere:Raspberry Colocation bei EDIS/Firewall und Hardening}} |
Wie mache ich mein RPi sicherer und resistenter gegen äussere Angriffe ?
Firewall
Generell sollte man es unterlassen, direkt mit iptables zu arbeiten. Das Thema ist zu komplex als das man es komplett überblicken könnte. Code-Schnippsel die man im internet findet aber nicht versteht, bzw deren Umfang unklar ist, sollte man schon gar nicht einsetzen. Die Gefahr ist zu hoch, dass man eine Lücke übersieht. Also auf die Experten vertrauen. Potentielle Kandidaten :
ufw
ufw ist eine Abstraktion vom lowlevel iptables.
ufw installieren und aktuellen Status der Firewall prüfen:
root@edis0:~# apt-get install ufw root@edis0:~# ufw status
Firewall ausschalten:
root@edis0:~# ufw disable
Achtung: hier werden alle eingehenden Verbindungen gesperrt, falls Ihr das remote macht, muss die Firewall gerade ausgeschaltet sein ("ufw disable") und vor dem Einschalten ("ufw enable") eine Regel für den ssh Zugang definiert sein, sonst sperrt Ihr Euch aus!:
root@edis0:~# ufw default deny
Logging einschalten (Achtung, bei wenig Platz in der /var/log Partition ist dies nicht zu empfehlen):
root@edis0:~# ufw logging on
Öffnen eines alternativen SSH Ports.
Achtung: achtet darauf, dass der Port vom aktuell laufenden ssh daemon und vom jenen in /etc/ssh/sshd_config damit identisch ist (!):
root@edis0:~# ufw allow 1234/tcp
Öffnen des Port 80, wenn man einen Webserver hat:
root@edis0:~# ufw allow http
Falls ein mail server läuft:
sudo ufw allow smtp
Firewall einschalten:
sudo ufw enable
SSH
- Root Login verbieten !
- Ggf über AllowUsers eine Whitelist einführen
- Anderer Port als 22 um Script Kiddies abzuwehren ?
Fail2ban
- nach X fehlgeschlagene Versuche innerhalb von Y Stunden den Dienst D zu benutzen, wird die IP/IP Range für Z Stunden gesperrt (,Y,Y,Z etc konfigurierbar)
- Whitelist verwenden, damit man sich nicht selber aussperrt ! Angeblich geht auch ein DynDNS Name (on-the-fly DNS Auflösung)
Logwatch
- Parser für die Logfiles, es wird 1x pro Tag ein Bericht per Mail versandt -> zeitnahe Info wenn was böses läuft
Überflüssige Pakete löschen
Was nicht installiert ist, kann auch keine Probleme machen.
apt-get purge bind9-host rpcbind isc-dhcp-client isc-dhcp-common apt-get autoremove
Vollständiges Löschen von exim:
apt-get purge exim4 apt-get autoremove \rm -rf /etc/cron.daily/exim4-base /etc/init.d/exim4 /etc/exim4 /etc/logrotate.d/exim4-* /etc/email-addresses /etc/default/exim4 /etc/ppp/ip-up.d/exim4 update-rc.d exim4 remove deluser Debian-exim perl -p -i -e 's|root Debian-exim 640 /etc/exim4/passwd.client\n||g' /var/lib/dpkg/statoverride # otherwise apt doesnt work anymore! Better solution?