Selain dipergunakan untuk melakukan browsing secara anonym, Tor dapat digunakan untuk menjalankan sebuah website dengan ekstensi .onion (yang hanya dapat diakses melalui jaringan Tor), ataupun untuk menjalankan layanan tersembunyi.
Website Onion, kebanyakan dipergunakan pada deepweb, untuk situs jual beli obat-obatan, senjata, tempat pembayaran korban ransmware, dan banyak hal ilegal lainnya. Kebanyakan, berarti tidak semuanya ya 🙂
Kali ini, saya akan membagikan sebuah tutorial untuk menginstall Tor, dan membuat sebuah website dengan ekstensi .onion pada sebuah VPS yang memakai OS Debian 8 64bit.
Instalasi Tor
1 2 |
# apt-get update && apt-get upgrade # apt-get install tor -y |
Lakukan konfigurasi Tor pada file /etc/tor/torrc, dengan contoh berikut :
1 2 3 4 5 6 7 8 9 10 11 |
SocksPolicy reject * Log notice file /var/log/tor/notices.log Log debug file /var/log/tor/debug.log Log notice syslog Log debug stderr RunAsDaemon 1 DataDirectory /var/lib/tor HiddenServiceDir /var/lib/tor/hidden_service/ HiddenServicePort 80 127.0.0.1:80 Nickname MyOnion ExitPolicy reject *:* # no exits allowed |
Restart Tor, jika tidak ada masalah, maka statusnya akan seperti berikut :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# service tor restart # service tor status ● tor.service - LSB: Starts The Onion Router daemon processes Loaded: loaded (/etc/init.d/tor) Active: active (running) since Sun 2099-08-32 07:20:12 CEST; 195h 15min ago Process: 11278 ExecStop=/etc/init.d/tor stop (code=exited, status=0/SUCCESS) Process: 11312 ExecStart=/etc/init.d/tor start (code=exited, status=0/SUCCESS) CGroup: /system.slice/tor.service └─11323 /usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc --hush Tor[11323]: Parsing GEOIP IPv4 file /usr/share/tor/geoip. Tor[11323]: Parsing GEOIP IPv6 file /usr/share/tor/geoip6. Tor[11323]: Bootstrapped 0%: Starting Tor[11323]: Bootstrapped 5%: Connecting to directory server Tor[11323]: We now have enough directory information to build circuits. Tor[11323]: Bootstrapped 80%: Connecting to the Tor network Tor[11323]: Bootstrapped 85%: Finishing handshake with first hop Tor[11323]: Bootstrapped 90%: Establishing a Tor circuit Tor[11323]: Tor has successfully opened a circuit. Looks like client functionality is working. Tor[11323]: Bootstrapped 100%: Done |
Penjelasan konfigurasi file torrc
Lokasi file hostname dan private key untuk domain .onion berada pada /var/lib/tor/hidden_service/
File hostname berisi nama domain .onion yang kita miliki
File private_key berisi key untuk verifikasi kepemilikan domain
Misalnya isi file hostname adalah 5p63cucftleygpqu.onion, maka itu adalah domain .onion yang dapat diakses melalui jaringan Tor.
Jika ingin memindahkan service ini ke server yang lain, kita hanya perlu mambackup kedua file tadi, kemudian memindahkan ke server yang baru, yang telah diinstal Tor.
Layanan hidden service diatur pada baris HiddenServicePort 80 127.0.0.1:80. Ini berarti semua request pada domain .onion di port 80 akan diforward ke ip 127.0.0.1 pada port 80.
Kita bisa juga menggantinya sesuai dengan keinginan, misalkan sebuah blog yang memakai NodeJS yang bekerja pada port 2368, maka kodenya HiddenServicePort 80 127.0.0.1:2368
Untuk menambahkan lebih dari satu hidden service, maka tinggal menambahkan baris HiddenServiceDir dan HiddenServicePort sesuai dengan keperluan
1 2 3 4 5 6 7 8 |
... HiddenServiceDir /var/lib/tor/hidden_service/ HiddenServicePort 80 127.0.0.1:80 HiddenServiceDir /var/lib/tor/hidden_service_1/ HiddenServicePort 80 127.0.0.1:80 HiddenServiceDir /var/lib/tor/hidden_service_2/ HiddenServicePort 80 127.0.0.1:80 ... |
Contoh konfigurasi Nginx untuk domain .onion
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
server { listen 80; server_name 5p63cucftleygpqu.onion; rewrite ^/(.*) http://www.5p63cucftleygpqu.onion/$1 permanent; } server { listen 80; server_name www.5p63cucftleygpqu.onion; index index.htm index.html index.php; root /home/hidden_service/5p63cucftleygpqu.onion; try_files $uri $uri/ /index.php; client_max_body_size 100000M; location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/dev/shm/php.socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } |
Setelah selesai membuat konfigurasi untuk Nginx, restart Nginx dan Php-fpm serta Tor untuk memastikan semua berjalan dengan benar.
Sekarang, coba buka domain .onion yang tadi sudah kita buat. Semoga berhasil, dan selamat bereksperimen 🙂
Update 17 Agustus 2016
- Kita dapat mempergunakan sebuah Raspberry Pi, yang menjalankan sebuah webserver (Nginx atau NodeJS atau Lighttpd atau lainnya), yang secara default bekerja pada port 80, kemudian menseting Tor hidden service agar melayani port 80.
Hasilnya, kita memiliki website .onion yang dijalankan sendiri oleh kita, memakai sebuah Raspberry Pi + Telkom Speedy atau IndyHome, jadi tidak perlu menyewa server.