RSS Feed

a May 5th, 2013

  1. Tor ağı kullanarak Internette anonim dolaşmak

    May 5, 2013 by Oğuz Yarımtepe

    Bir süredir Firefox için Dephormation eklentisini kullanıyorum. SSL üzerinden bağlantı gerçekleştirmeyen sitelerde bazen Phorm Detected uyarısını görünce ve bloklanan içeriğin reklam içeriği olduğunu okuyunca TTNet için pek iyi şeyler düşünmedim.  Değişik zamanlarda yasaklanmış sitelerle karşılaşınca TTNet DNS servisi yerine ben de modem ayarlarına girip 1. ve 2. DNS olarak OpenDNS için gerekli IP adreslerini girenlerdenim. Dinamik IP sahibi birisi olarak OpenDNS ağ tanımındaki IP adresinin güncel olması için DDClient ile otomatik güncelleştirmeyi de ihmal etmiyorum. Elbette buraya kadarki durum Internet ortamında anonim dolaşmanızı sağlamıyor.

    Internet ortamında ulaşmak istediğiniz yer tarafında TTNet IP adresiniz yerine anonim bir adres gözümesini istediğiniz durumlar olabilir. Anonimlik deyince akla TOR Projesi geliyor. Tor kullanarak tarayıcınızda nasıl gezineceğinizi anlatan epey bir yazı bulabilirsiniz. Benim gibi tarayıcı ile değil de konsolda bazı işler yaparken (nmap tadında işler) trafiğin TOR ağından geçmesini istiyorsanız sanal bir makinede sizin TOR ağına geçişinizi sağlayacak bir ara makine kullanabilirsiniz.

    Virtualbox kullanıyorsanız, arayüz ayarlarında ikinci bir aÄŸ arayüzü tanımlayıp bunun için “Host Only Interface” seçmek gerekiyor.

    VM Interface

    Sonraki adımda alıştığımız bir Linux dağımını kurmak.  Ben Ubuntu sunucu halini indirip kurmuşum.  Sanal makinedeki vboxnet0 olarak tanımlanan arayüzün Linux işletim sistemi ile bağlantısını sağlamak için köprü arayüz tanımı yapmamız gerekiyor. Bu arayüz aynı zamanda dış dünya ile olan iletişimimizde NAT olarak çalışacak ve bizim TOR ağına girişimizin olacağı arayüz olacak.

    /etc/network/interfaces dosyasını aşağıdaki gibi düzenleyebiliriz.

     

    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).

    # The loopback network interface
    auto lo
    iface lo inet loopback

    # The primary network interface
    auto eth0
    iface eth0 inet dhcp
    # VirtualBox NAT bridge
    auto eth1
    iface eth1 inet static
    address 172.16.0.1
    netmask 255.255.255.0
    bridge_ports none
    bridge_maxwait 0
    bridge_fd 1

    up iptables -t nat -I POSTROUTING -s 172.16.0.0/24 -j MASQUERADE
    down iptables -t nat -D POSTROUTING -s 172.16.0.0/24 -j MASQUERADE

     

    Köprüleme komutlarının anlamlı hale gelmesi için bridge-utils paketine ihtiyaç var.

    # apt-get install bridge-utils

    Bu makine üzerinde DNS isteklerimizi yönlendirebilmesi ve diğer makineye 172.16.0.0/24 ağından IP dağıtması için de bir DHCP sunucuya ihtiyaç var. Her ikisinide dnsmasq paketi sağlamakta.

    # apt-get install dnsmasq

    /etc/dnsmasq.conf ayar dosyasını düzenlememiz gerekiyor. Sonuna aşağıdaki satırları ekliyoruz.

     

    # Include a another lot of configuration options.
    #conf-file=/etc/dnsmasq.more.conf
    #conf-dir=/etc/dnsmasq.d
    interface=vnet0
    dhcp-range=172.16.0.2,172.16.0.254,1h

     

    dnsmasq servisini başlattıktan sonra artık bu arayüze gelen DNS ve DHCP istekleri yanıtlanabiliyor olacak.

    Sadece 172’li IP sahiplerinin TOR ağına girmesini istiyor olabiliriz. AÅŸağıdaki gibi bir betikle bunu saÄŸlayabilirsiniz.

     


    #!/bin/sh

    # Tora yönlendirmek istemediğiniz IP aralığı
    NON_TOR=”192.168.1.0/24″

    # Tor’s TransPort
    TRANS_PORT=”9040″

    # arayüzünüz
    INT_IF=”eth1″

    iptables -F
    iptables -t nat -F

    for NET in $NON_TOR; do
    iptables -t nat -A PREROUTING -i $INT_IF -d $NET -j RETURN
    done
    iptables -t nat -A PREROUTING -i $INT_IF -p udp –dport 53 -j REDIRECT –to-ports 53
    iptables -t nat -A PREROUTING -i $INT_IF -p tcp –syn -j REDIRECT –to-ports $TRANS_PORT

     

    Artık iç ağınızdaki aşağıdaki bir IP yapılanırmasına sahip ve resolv.conf dosyasında da 172.16.0.1 yazan bir makine TOR ağı üzerinden Internete çıkabiliyor olacak.


    auto eth1
    iface eth1 inet static
    address 172.16.0.2
    netmask 255.255.255.0
    network 172.16.0.0
    broadcast 172.16.0.255
    gateway 172.16.0.1