Layanan onion Tor memungkinkan orang mengakses situs Anda melalui jaringan Tor tanpa salah satu pihak mengetahui alamat IP pihak lain. Server menghubungi Tor ke luar, jadi tidak memerlukan port masuk yang terbuka sama sekali. Panduan ini menyiapkannya di VPS Ubuntu, dengan Nginx yang menyajikan situs kecil.
Apa yang diberikan layanan onion
- Alamat
.onionyang diturunkan dari sebuah kunci, sehingga terautentikasi sendiri dan tidak memerlukan certificate authority. - Enkripsi ujung ke ujung antara pengunjung dan server Anda, di dalam Tor.
- Tidak perlu membuka IP publik server Anda kepada pengunjung.
Ini tidak membuat isi situs Anda legal, dan tidak menyembunyikan kesalahan yang Anda buat di tempat lain, seperti domain clear web yang menunjuk ke mesin yang sama.
Langkah 1: pasang Tor dan Nginx
sudo apt update
sudo apt install -y tor nginx
sudo systemctl enable --now tor
Langkah 2: ikat Nginx hanya ke localhost
Server web tidak boleh menjawab pada antarmuka publik, atau IP clear web dan situs onion dapat dihubungkan. Edit konfigurasi situs Anda agar mendengarkan pada loopback.
server {
listen 127.0.0.1:8080;
server_name _;
root /var/www/onion;
index index.html;
server_tokens off;
}
sudo mkdir -p /var/www/onion
echo '<h1>Hello from onion space</h1>' | sudo tee /var/www/onion/index.html
sudo nginx -t && sudo systemctl reload nginx
Langkah 3: deklarasikan layanan tersembunyi
Tambahkan baris berikut ke /etc/tor/torrc:
HiddenServiceDir /var/lib/tor/my_site/
HiddenServiceVersion 3
HiddenServicePort 80 127.0.0.1:8080
sudo systemctl restart tor
sudo cat /var/lib/tor/my_site/hostname
Perintah terakhir menampilkan alamat .onion Anda yang terdiri dari 56 karakter. Buka di Tor Browser untuk menguji. Cadangkan folder /var/lib/tor/my_site/: kunci di dalamnya adalah alamat Anda, dan kehilangannya berarti alamat baru.
Langkah 4: otorisasi klien opsional
Untuk layanan privat, tambahkan kunci yang hanya dipegang pengunjung yang disetujui. Buat berkas /var/lib/tor/my_site/authorized_clients/alice.auth dengan satu baris berformat descriptor:x25519:PUBLIC_KEY, lalu muat ulang Tor. Pengunjung tanpa kunci privat yang cocok bahkan tidak dapat melihat bahwa layanan itu ada.
Langkah 5: tutup kebocoran umum
- Jangan pernah merujuk aset clear web, font, atau analitik dari halaman Anda.
- Buat halaman error dan header bersifat generik, dan pertahankan
server_tokens off. - Jaga jam server tetap akurat; Tor membutuhkannya.
- Firewall semuanya kecuali SSH:
sudo ufw default deny incoming, karena Tor tidak memerlukan port masuk. - Jangan menjalankan situs clear web di host yang sama kecuali Anda telah memisahkannya sepenuhnya.
Baca kebiasaan OpSec server sebelum Anda mempublikasikan apa pun, dan gunakan daftar periksa hardening pada server baru.