Ariel-Firewall
Osiris kann nicht mit der Welt reden, er kann nur mit Ariel kommunizieren. Ariel könnte man unsere Firewall nennen.
Tsutomu Shimomura (jap. 下村 努) in Takedown – Sie dachten, Computer wären sicher; Originaltitel: Takedown.
Updates bekommt Osiris via apt-chacher-ng, einem APT-Proxy und optional kann man Verbindungen über einen DNS-Proxy wie dnsproxy und einen SOCKS-Proxy wie dante-server für bestimmte Webseiten usw. einrichten. Mittlerweile bieten Anwendungen wie Firefox und Thunderbird aber auch die Option DNS über SOCKS5 an, so dass es dann keinen DNS-Proxy benötigt. Will man dies, kann man auch einen transparenten Proxy (transproxy) einrichten, dann braucht es in den Anwendungen keine SOCKS-Proxy Unterstützung.
Für Ariel kann man gut einen Raspberry Pi mit LAN und WiFi hernehmen. Das WiFi verbindet sich mit der Welt und über das LAN-Kabel wird eine direkte Kabelnetzwerk-Verbindung mit Osiris hergestellt (Dafür sind Heute keine Crossover Patch-Kabel mehr nötig).
Wichtig ist hier Ariel nicht als Router mit forwarding, (S)NAT/masqerade usw. einzurichten.
Ariel
wpa_supplicant.conf.5
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="My WiFi AP SSID" psk="secret passphrase" }
interfaces.5
auto eth0 iface eth0 inet static metric 1 address 192.168.78.1/24 gateway 192.168.78.2 auto wlan0 iface wlan0 inet dhcp metric 0 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
apt-cacher-ng
apt install apt-cacher-ng
Mehr an Konfiguration ist auf Ariel nicht nötig.
dante-server
apt install dante-server
danted.conf.5
# logging logoutput: syslog stdout # /var/log/sockd.log # server address specification internal: eth0 port = 1080 external: wlan0 # server identities (not needed on solaris) user.privileged: debian-dante user.notprivileged: debian-dante clientmethod: none socksmethod: none # client access rules for address-range on internal nic. client pass { from: 0/0 to:0/0 } # This matches "example.com" itself and everything ending in ".example.com". socks pass { from: 0/0 to: .debianforum.de } socks pass { from: 0/0 to: .debian.net } socks pass { from: 0/0 to: .debian.org } socks pass { from: 0/0 to: .wikipedia.org } # block any other connects. socks block { from: 0/0 to: 0/0 log: error connect }
dnsproxy
apt install dnsproxy
transproxy
redsocks
apt install redsocks
iptables
Der redirect selbst muss mit iptables umgesetzt werden.
Osiris
interfaces.5
auto eth0 iface eth0 inet static metric 1 address 192.168.78.2/24 gateway 192.168.78.1 #nameservers 192.168.78.1
sources.list.5
Die sources.list.5 anpassen: file:///usr/share/doc/apt-cacher-ng/html/config-servquick.html#config-client
Der apt-cacher-ng unterstützt auch andere Domains/Fremdquellen.
dante-client
apt install dante-client
socksify.1
Eine Laufzeitsockifizierung ausgewählter Programme.
Die Variablen SOCKS_SERVER
, SOCKS4_SERVER
und SOCKS5_SERVER
ermöglichen die Angabe der Adresse des Servers ohne Verwendung der Datei socks.conf. Wenn eine socks.conf-Datei vorhanden ist, wird sie ignoriert, wenn eine dieser Variablen gesetzt ist. Wenn der Wert SOCKS_SERVER
festgelegt ist, zeigt dies an, dass der angegebene Server alle von Dante unterstützten Socks-Versionen unterstützt. Wenn eine der beiden anderen Variablen verwendet wird, zeigt dies an, dass der angegebene Socks-Server nur die entsprechende Socks-Version, v4 oder v5, unterstützt. Beachten Sie, dass Sie SOCKS5_SERVER
verwenden müssen, wenn der Socks-Server eine Authentifizierung erfordert, da v4 keine Authentifizierung unterstützt.
env SOCKS_SERVER="192.168.78.1:1080" socksify wget https://www.example.net
Weblinks
- https://packages.debian.org/apt-cacher-ng
- file:///usr/share/doc/apt-cacher-ng/html/
- https://packages.debian.org/dante-server
- https://packages.debian.org/dante-client