Raspberry Colocation bei EDIS/Firewall und Hardening

Aus LOMSO
Zur Navigation springen Zur Suche springen
Du bist hier : Warning : Could not determine path to wiki home for Raspberry Colocation bei EDIS/Firewall und Hardening !
Please check your category settings !



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?