Security Tipps fuer FreeBSD


Alle Ports schliessen die nicht verwendet werden

Mittels sockstat -l4 oder netstat -a | less mal schauen was alles offen ist. Anschliessend schauen welche Daemons wo und wie gestartet werden:

Meistens wundern sich Leute, warum dann noch so komische Dienste wie rpc mit Port 111, oder 514 (syslogd) oder 520 (routed) offen sind. Diese lassen sich mit folgenden Eintraegen in /etc/rc.conf schliessen:

portmap_enable="NO"
syslogd_enable="YES"
syslogd_flags="-ss"
router_enable="NO"

Dienste sichern

Die offenen Dienste sollten natuerlich so sicher als moeglich laufen, wenn moeglich nicht als root. Dazu bitte die Howtos und Manpages der jeweiligen Dienste lesen. Was auf jeden Fall gemacht werden kann ist telnet in der /etc/inetd.conf abzudrehen und stattdessen sshd zu verwenden. Kein root-Login ausser ueber die Konsole erlauben! su bzw. sudo verwenden!

IP Firewalling

Auch wenn nur wenige Ports offen sind ist es dennoch schlau eine IP Firewall einzusetzen, da die meisten Dienste ihre Ports beim Connect wieder freigeben und die aktuelle Connection auf einen anderen Port mappen. Dies sind wiederum Ports die attackiert werden koennten.
FreeBSD kommt mit einer sehr maechtigen IP Firewall daher, naemlich ipfw(8). Wie bringe ich eine IP Firewall zum laufen? Prinzipiell muss dafuer mal die Kernel seitige Unterstuetzung da sein. Dazu muss man selbst einen Kernel uebersetzen (siehe dazu das Handbuch, wie man das bewerkstelligt) mit folgenden Optionen (bei neueren FreeBSD Sourcen bitte immer zuvor /usr/src/UPDATING lesen):

options         IPFIREWALL              #firewall
options         IPFIREWALL_VERBOSE      #print information about
                                        # dropped packets
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFILTER                #ipfilter support
options         IPDIVERT                #divert sockets
options         IPFILTER_LOG            #ipfilter logging
options         TCP_DROP_SYNFIN         #drop TCP packets with SYN+FIN
options         ICMP_BANDLIM
options         DUMMYNET
options         BRIDGE

Anschliessend in /etc/rc.conf folgendes eintragen damit mensch mal wieder ein Netz hat ;)

firewall_enable="YES"
firewall_type="OPEN"
firewall_script="/etc/rc.firewall"

Anschliessend /etc/rc.firewall sich anschauen und als Vorlage fuer ein eigenes Firewall Skript nehmen das natuerlich Anpassungen in der /etc/rc.conf braucht.

Weitere Hilfen gibt es hier:

$Id: freebsd-security.html,v 1.3 2001/10/08 16:29:00 mic Exp $