<- proxychains (Linux) Inhalt JonDo-Oberfläche ->

Transparent Proxy Port für JonDo

JonDo und JonDoDaemon bieten keinen Transparent Proxy Port und keinen DNS Port, um den Datenverkehr mit Firewall Regeln zu JonDo umzuleiten. Es ist nötig, zusätzlich tranSOCKS_ev und HTTPSDNS Daemon zu nutzen. Wie andere Proxyfier funktioniert tranSOCKS_ev nur mit den Premium Diensten. Der HTTPSDNS Daemon kann auch mit kostenfreien Mix-Kaskaden genutzt werden.

Das folgende Tutorial ist nicht für Einsteiger gedacht.

tranSOCKS_ev verwenden

tranSOCKS_ev wird unter tiggersWelt.net entwickelt. Das Source Code Archiv steht auch auf unserem Server zum Download bereit: transocks_ev.tar.bz2 (OpenPGP signature).

  1. Um tranSOCKS_ev zu kompilieren wird libevent mit den Entwicklerdateien benötigt. Sie können die Bibliothek mit dem Paketmanager Ihrer Distribution installieren: > sudo aptitude install libevent-dev

  2. Nach dem Entpacken des Archives ist tranSOCKS_ev zu compilieren und zu installieren mit: > make && sudo make install

  3. Wir empfehlen, einen neuen User für transocks_ev anzulegen: > sudo adduser --system --disabled-password --group transocks_daemon

  4. Dann kann man tranSOCKS_ev starten: > sudo -u transocks_daemon transocks_ev -H 127.0.0.1 -p 4008 -S 127.0.0.1 -s 4001

    Parameter Beschreibung
    -H IPdie lokale IP-Address, an welcher tranSOCKS_ev lauscht
    -p portder Port, an welchem tranSOCKS_ev auf eingehende Verbindungen wartet
    -s portder Port des SOCKS5-Servers (JonDo Port)
    -S IPIP-Address des SOCKS5-Servers (IP von JonDo)
    -fverhindert, das der Daemon im Hintergrund verschwindet (zum Debuggen)
  5. Das Archive enthält im Verzeichnis init.d ein Sys-V-Init-Script für Debian GNU/Linux und abgeleite Distributionen. Um tranSOCKS_ev beim Booten zu starten kopieren Sie das Script nach /etc/init.d und fügen es in die Bootsequenz ein: > sudo cp init.d/transocks.debian /etc/init.d/transocks
    > sudo insserv transocks
    Die Parameter für die Adressen von tranSOCKS_ev und JonDo können Sie im Script anpassen.

HTTPSDNS Daemon verwenden

HTTPSDNS Daemon ist ein kleiner DNS-Server, der eingehende Anfragen via HTTPS weiterleitet. Er nutzt JonDo für die Anonymisierung des Datenverkehr. Das Archive steht auf unserem Server zum Download bereit: httpsdnsd.tar.bz2 (OpenPGP signature).

  1. Der Daemon ist in Perl geschrieben. Es werden folgende zusätzlich folgende Perl Module benötigt: Log::Log4perl,
    Net::Server::Daemonize,
    Net::SSLeay,
    XML::Simple,
    Net::DNS,
    Net::DNS::Nameserver

    Sie können die Module direkt aus dem CPAN installieren: > sudo perl -MCPAN -e shell
    ...
    cpan> install Log::Log4perl Net::Server::Daemonize ....

    Alternative ist es möglich, den Paketmanager der Distribution für die Installation zu nutzen: > supo aptitude install libnet-ssleay-perl libnet-server-perl libnet-dns-perl libxml-simple-perl liblog-log4perl-perl

  2. Um den HTTPSDNS Daemon zu installieren, ist das Archive zu entpacken und das Install-cript auszuführen: > sudo install.sh

  3. Wir empfehlen, einen neuen User für den HTTPSDNS Daemon anzulegen: > sudo adduser --system --disabled-password --group httpsdns_daemon

  4. Dann können Sie den Daemon starten: > sudo httpsdnsd --runasdaemon

  5. Mit zusätzlichen Start-Parametern können Sie das Verhalten des Daemon beeinflussen. Eine vollständige Übersicht bietet die Manual Page von httpsdnsd.

    Parameter Beschreibung Default Wert
    --hostdie lokale IP-Address, an welcher httpsdnsd lauscht127.0.0.1
    --portder Port, an welchem ttpsdnsd auf eingehende Verbindungen wartet4053
    --https_proxy_portder Port des HTTPS Proxy (JonDo Listen Port).4001
    --https_proxy_hostIP-Adresse des HTTPS Proxy (IP von JonDo).127.0.0.1
    --runasdaemonDaemonize httpsdnsd (in Hintergrund schicken)
    --daemon-userUID mit der httpsdns laufen sollhttpsdns_daemon
    --daemon-groupGID mit der httpsdnsd laufen sollhttpsdns_daemon
  6. Das Archive enthält im Verzeichnis init.d ein Sys-V-Init-Script für Debian GNU/Linux und abgeleite Distributionen. Um HTTPSDNS Daemon beim Booten zu starten kopieren Sie das Script nach /etc/init.d und fügen es in die Bootsequenz ein: > sudo cp init.d/httpsdnsd.debian /etc/init.d/httpsdnsd
    > sudo insserv httpsdnsd

    Die Parameter für die IP-Adressen und Ports können Sie im Script anpassen.

Firewall Regeln erstellen

Wenn der Transparent Proxy und der HTTPSDNS Daemon laufen, kann man mit iptables den Traffic eines Users an den Port des Transparent Proxy schicken (im Beispiel Port 4008) und den DNS-Traffic an den HTTPSDNS Daemon (im Beispiel Port 4053). Das folgende Beispiel anonymisiert den Traffic des Users anonuser. iptables -t nat -A OUTPUT -p udp -m owner --uid-owner anonuser -m udp --dport 53 -j REDIRECT --to-ports 4053
iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner anonuser -m tcp --dport 53 -j REDIRECT --to-ports 4053
iptables -t nat -A OUTPUT ! -o lo -p tcp -m owner --uid-owner anonuser -m tcp -j REDIRECT --to-ports 4008
iptables -t filter -A OUTPUT -p udp -m owner --uid-owner anonuser -m udp --dport 4053 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -m owner --uid-owner anonuser -m tcp --dport 4053 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -m owner --uid-owner anonuser -m tcp --dport 4008 -j ACCEPT
iptables -t filter -A OUTPUT ! -o lo -m owner --uid-owner anonuser -j REJECT

Hinweis: JonDo bsw. JonDoDaemon dürfen dabei nicht unter UID "anonuser" laufen.

 

<- proxychains (Linux) Inhalt JonDo-Oberfläche ->