Hallo zusammen,
wollte für einen Bekannten ein Terminal aufsetzen, welches in einem Verkaufsraum stehen und sehr eingeschränkten Internetzugang haben soll. Effektiv sollen nur ein paar bestimmte Seiten zugänglich sein, also dachte ich mir, setze ich einen lokal laufenden transparenten Proxy mit einer Whitelist auf. Da die vorhandene Hardware eher betagt ist habe ich mich für OpenBSD entschieden.
In einer Test-VM hab ich mal ein 5.3 installiert und SLiM als DM, der einen User automatisch einloggt draufgeschmissen. Der User startet per .xinitrc direkt und ohne WM den Midori-Browser. Das haut soweit alles hin. Ich dachte mir nun, benutze ich doch die tollen OpenBSD Bordmittel pf und relayd. Anhand von man relayd.conf und eines Beispiels aus einem Vortrag über relayd dachte ich eigentlich, dass die folgenden pf.conf und relayd.conf eigentlich funktionieren müssten.
pf.conf
relayd.conf Versuch 1
relayd.conf Versuch 2 mit gleichem relay-Block, aber folgendem http protocol-Block
Auch ein
request url filter "*"
u.ä. hat keinen Effekt
btw starte ich via
relayctl reload
pfctl -f /etc/pf.conf
pf und relayd nach jeder config-Änderung neu.
Tut aber kein bisschen, alle Seiten können geladen werden. Nachdem drüber schlafen auch nichts gebracht hat dachte ich mir, lasse ich mal andere Augen drüberschauen, welche Fehler ich mache.
Übersehe ich mal wieder irgendetwas offensichtliches?
Danke,
yggdrasil
wollte für einen Bekannten ein Terminal aufsetzen, welches in einem Verkaufsraum stehen und sehr eingeschränkten Internetzugang haben soll. Effektiv sollen nur ein paar bestimmte Seiten zugänglich sein, also dachte ich mir, setze ich einen lokal laufenden transparenten Proxy mit einer Whitelist auf. Da die vorhandene Hardware eher betagt ist habe ich mich für OpenBSD entschieden.
In einer Test-VM hab ich mal ein 5.3 installiert und SLiM als DM, der einen User automatisch einloggt draufgeschmissen. Der User startet per .xinitrc direkt und ohne WM den Midori-Browser. Das haut soweit alles hin. Ich dachte mir nun, benutze ich doch die tollen OpenBSD Bordmittel pf und relayd. Anhand von man relayd.conf und eines Beispiels aus einem Vortrag über relayd dachte ich eigentlich, dass die folgenden pf.conf und relayd.conf eigentlich funktionieren müssten.
pf.conf
Code:
set skip on lo
block
pass quick inet proto {tcp,udp} from any to any port domain
anchor "relayd/*"
relayd.conf Versuch 1
Code:
http protocol httpfilter {
return error
label "Url filtered"
request url filter "wdr.de"
request url expect "wikipedia.org"
}
relay httpproxy {
listen on 127.0.0.1 port 8080
protocol httpfilter
forward to destination
}
relayd.conf Versuch 2 mit gleichem relay-Block, aber folgendem http protocol-Block
Code:
http protocol httpfilter {
return error
label "Url filtered"
request url filter "wdr.de"
request header filter "*wdr.de*" from "Host"
}
Auch ein
request url filter "*"
u.ä. hat keinen Effekt
btw starte ich via
relayctl reload
pfctl -f /etc/pf.conf
pf und relayd nach jeder config-Änderung neu.
Tut aber kein bisschen, alle Seiten können geladen werden. Nachdem drüber schlafen auch nichts gebracht hat dachte ich mir, lasse ich mal andere Augen drüberschauen, welche Fehler ich mache.
Übersehe ich mal wieder irgendetwas offensichtliches?
Danke,
yggdrasil