Kategorie-Archiv: skripte

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

vmstat zur Übersicht der Prozesse, Ram- und Pageverbrauch

Wer eine kurze, tabellarische Übersicht der Prozesse, Ram- und Pageverbrauch sowie I/O und CPU-Aktivität erhalten möchte, sollte sich den Linux-Befehl vmstat einmal genauer anschauen…

root@filer:~#vmstat
procs ———–memory———- —swap– —–io—- -system– —-cpu—-
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
1  0      0 1225776 161680 1086080    0    0    14     6    4    3  0  0 100  0

kurze Erläuterung der einzelnen Spalten:

r        > Anzahl der auf CPU-Zeit wartenden Prozesse
b       > schlafende Prozesse
swp   > genutzter virtueller Speicher
free   > freier RAM
buff   > genutzter Buffer
si      > swap-in > Speicher, der pro Sekunde von der Platte ins RAM geschoben wird
so    > swap-out > Speicher, der pro Sekunde vom RAM auf die Platte geschoben wird
bi     > Anzahl Blöcke, die pro Sekunde gelesen werden
bo    > Anzahl Blöcke, die Pro Sekunde geschrieben werden
in     > Anzahl der Interrupts
cs    > Anzahl der switches
us    > Anzahl der CPU-Zeit im Userspace
sy    > CPU-Zeit Abarbeitung Kernelvorgänge
id     > Idle-time
wa   > wartende In/Outputprozesse

vmstat 2 7  > zeige alle zwei Sekunden für 7 Durchgänge output an