Kategorie-Archiv: Allgemein

pf – Firewall / jails die erste

Da ich vorhabe, nginx in einer jail zu betreiben, musste ich mich notgedrungen erst einmal mit pf bschäftigen. Dies scheint die bevorzugte Firewall unter FreeBSD zu sein.

Die jail soll unter der IP 10.0.0.1 erreichbar sein, so daß alle Anfragen Port 80 auf die externe IP  per redirect geleitet werden müssen.

Einrichten der (virtuellen) IP 10.0.0.1 (in /etc/rc.local)

ifconfig_lo0_alias0=”inet 10.0.0.1/32″

In der Konfigurationsdatei pf.conf muss dann der redirect eingetragen werden:

if = em0
ip = xxx.xxx.xxx.xxx
web = 10.0.0.1

rdr on $if proto {tcp udp} from any to $if port 80 -> $web

Anm: Redirect von der extern erreichbaren IP für die Dienste tcp / udp von überall auf das Interface (bei mir em0) Port 80 soll auf die 10.0.0.1 erfolgen.

Weiterhin muss eine Regel her, welche die Daten der internen IP 10.0.0.1 über das externe Netzwerk transportier:

nat on $if proto {tcp udp icmp} from $web to any -> $ip

JAILS:
Zur Einrichtung und Administration von jails empfiehlt sich das Programm ezjails, welches mit

cd /usr/ports/sysutils/ezjail
make clean install

installiert wird.

 

Damit eine Verbindung aus einer jail heraus funktioniert, muss folgendes eingetragen werden:

sysctl security.jail.allow_raw_sockets=1

Standardshell ändern unter FreeBSD

Standardmässig ist unter FreeBSD die csh installiert. Möchte man diese ändern (in z.B. bash oder zsh), hier eine kurze Übersicht

Zuerst installieren wir die gewünschte Shell

  • cd /usr/ports/shells/zsh
  • make install clean

which zsh (wo liegt die Shell?) > /usr/local/bin/zsh

  • chsh -s /usr/local/bin/zsh root (Hierdurch wird die zsh als Standardshell für den User root eingetragen)

Überprüfen können wir das ganze, indem wir und die Einstellungen für den Rootuser anzeigen lassen.

  • grep root /etc/passwd  > …./root:/usr/local/bin/bash

FreeBSD auf Rootserver

Die Installation eines Rootservers ist dank ISO-upload bei einigen Holstern kein Problem. Bis heute hatte ich ein vom Hoster bereitgestellte Debiandistribution (inklusive Virtualisierungstools), das Interesse an FreeBSD  hat mir jedoch keine Ruhe gelassen.

Nachdem das ISO über die Admin-Oberfläche hochgeladen wurde (was bei mir so rasend schnell ging, dass ich währenddessen eine ganze Folge HeuteSchow sehen konnte (Beschwerdemail an UnityMedia ist raus), schnell noch die Bootreihenfolge auswählen und es kann los gehen.

Nachdem die Standardinstallation abgeschlossen ist, muss ich noch über VNC mein Netz richtig konfigurieren (echo “ifconfig em0 IP_ADDRESS NWMASK >> rc.local) und die Defaultroute setzen (echo “route add Default IP_ADDRESS >>rc.local).

Jetzt noch schnell die ports konfigurieren mittels portsnap fetch extrakt update
und schon kann Software installiert werden.