Panduan ini menunjukkan cara menyiapkan Onion Service untuk situs web Anda.
Untuk detail teknis tentang cara kerja protokol Onion Service, lihat halaman protokol Onion Service kami.
Langkah 0: Siapkan Tor yang berfungsi
Sebagai bagian dari panduan ini, kami mengasumsikan Anda memiliki Tor yang berfungsi di mesin Anda.
Untuk menyiapkan Tor, silakan ikuti panduan instalasi Tor.
Tor harus sudah berjalan dengan benar agar panduan ini berfungsi.
Anda juga sebaiknya mengetahui di mana letak berkas konfigurasi Tor.
Langkah 1: Siapkan web server agar berfungsi
Sebagai langkah pertama, Anda sebaiknya menyiapkan web server secara lokal, seperti Nginx, Apache, atau web server favorit Anda.
Menyiapkan web server bisa rumit.
Jika Anda buntu atau ingin melakukan lebih banyak, cari teman yang dapat membantu atau bergabunglah dengan milis tor-onions untuk berbicara dengan operator lain.
Sebagai contoh, kami akan membahas cara menyiapkan situs onion dengan Nginx dan Apache di Debian.
Kami menyarankan Anda memasang web server baru yang terpisah untuk Onion Service Anda, karena meskipun Anda sudah memasang web server, Anda mungkin sedang menggunakannya (atau ingin menggunakannya nanti) untuk situs web biasa.
Di halaman ini, perintah untuk mengelola web server didasarkan pada sistem operasi mirip Debian dan mungkin berbeda pada sistem lain.
Periksa dokumentasi web server dan sistem operasi Anda.
Apache
Apache tersedia di repositori utama berbagai distribusi Linux dan *BSD.
Untuk memasang paket apache2:
$ sudo apt install apache2
Nginx
Nginx tersedia di repositori utama berbagai distribusi Linux dan *BSD.
Untuk memasang paket nginx:
$ sudo apt install nginx
Secara default, web server akan berjalan di localhost:80 pada akhir instalasi.
Jika Anda mendapatkan pesan kesalahan, ada sesuatu yang tidak beres dan Anda tidak dapat melanjutkan sampai Anda menemukan mengapa ini tidak berhasil.
Setelah web server Anda disiapkan, pastikan itu berfungsi: buka browser Anda dan kunjungi http://localhost/.
Kemudian coba letakkan sebuah berkas di direktori HTML utama, dan pastikan berkas itu muncul ketika Anda mengakses situs tersebut.
Langkah 2: Konfigurasikan Tor Onion Service Anda
Langkah berikutnya adalah membuka berkas konfigurasi Tor (torrc) dan melakukan konfigurasi yang sesuai untuk menyiapkan sebuah Onion Service.
Tergantung pada sistem operasi dan penyiapan Anda, berkas konfigurasi Tor Anda dapat berada di lokasi yang berbeda atau terlihat berbeda.
Anda perlu menambahkan dua baris berikut ke berkas torrc Anda:
HiddenServiceDir /var/lib/tor/my_website/
HiddenServicePort 80 127.0.0.1:80
Baris HiddenServiceDir menentukan direktori yang harus berisi informasi dan kunci kriptografi untuk Onion Service Anda.
Anda perlu mengubah baris HiddenServiceDir, agar menunjuk ke direktori sebenarnya yang dapat dibaca/ditulis oleh pengguna yang akan menjalankan Tor.
Baris HiddenServicePort menentukan sebuah port virtual (yaitu port yang akan digunakan orang yang mengunjungi Onion Service Anda), dan dalam kasus di atas baris itu menyatakan bahwa lalu lintas yang masuk ke port 80 Onion Service Anda harus dialihkan ke 127.0.0.1:80 (itulah tempat web server dari langkah 1 mendengarkan).
Kiat: Praktik yang baik untuk menghindari membocorkan Onion Service ke jaringan lokal adalah menjalankan Onion Services melalui soket Unix alih-alih soket TCP.
Anda perlu menambahkan dua baris berikut ke berkas torrc Anda:
HiddenServiceDir /var/lib/tor/my-website/
HiddenServicePort 80 unix:/var/run/tor/my-website.sock
Langkah 3: Mulai ulang Tor dan periksa bahwa itu berhasil
Sekarang simpan torrc Anda dan mulai ulang Tor.
$ sudo systemctl restart tor
Jika Tor mulai berjalan lagi, bagus. Kalau tidak, ada yang salah. Pertama lihat log Anda untuk petunjuk.
Tor akan menampilkan beberapa peringatan atau pesan kesalahan. Itu seharusnya memberi Anda gambaran tentang apa yang salah.
Biasanya ada salah ketik di torrc atau izin direktori yang salah (lihat entri FAQ logging jika Anda tidak tahu cara mengaktifkan atau menemukan berkas log Anda.)
Saat Tor memulai, Tor akan otomatis membuat HiddenServiceDir yang Anda tentukan (jika diperlukan).
Pastikan demikian.
Langkah 4: Uji bahwa Onion Service Anda berfungsi
Sekarang untuk mendapatkan alamat Onion Service Anda, buka direktori HiddenServiceDir Anda, dan cari berkas bernama hostname.
Berkas hostname di direktori konfigurasi Onion Service Anda berisi hostname untuk layanan onion v3 baru Anda.
Berkas lainnya adalah kunci Onion Service Anda, jadi sangat penting untuk menjaga ini tetap privat.
Jika kunci Anda bocor, orang lain dapat menyamar sebagai Onion Service Anda, sehingga layanan tersebut menjadi terkompromi, tidak berguna, dan berbahaya untuk dikunjungi.
Sekarang Anda dapat terhubung ke Onion Service Anda menggunakan Tor Browser, dan Anda seharusnya mendapatkan halaman HTML yang Anda siapkan kembali pada Langkah 1.
Jika tidak berfungsi, lihat log Anda untuk petunjuk, dan terus utak-atik sampai berhasil.
Penting untuk dicatat bahwa Onion Service yang dikonfigurasi seperti ini akan dapat dibaca oleh siapa pun yang mengetahui atau menemukan alamatnya.
Anda dapat membuat Onion Services memerlukan autentikasi, dan hanya pengguna dengan kunci privat yang dapat mengakses layanan.
Baca lebih lanjut dokumentasi otorisasi klien.
(Opsional) Langkah 5: Menjalankan beberapa Onion Service
Jika Anda ingin meneruskan beberapa port virtual untuk satu Onion Service, cukup tambahkan lebih banyak baris HiddenServicePort.
Jika Anda ingin menjalankan beberapa Onion Service dari klien Tor yang sama, cukup tambahkan baris HiddenServiceDir lain.
Semua baris HiddenServicePort berikut merujuk ke baris HiddenServiceDir ini, sampai Anda menambahkan baris HiddenServiceDir lain:
HiddenServiceDir /var/lib/tor/onion_service/
HiddenServicePort 80 127.0.0.1:80
HiddenServiceDir /var/lib/tor/other_onion_service/
HiddenServicePort 6667 127.0.0.1:6667
HiddenServicePort 22 127.0.0.1:22
Jika Anda menjalankan beberapa situs onion pada web server yang sama, ingat untuk mengedit berkas virtual host web server Anda dan menambahkan alamat onion untuk setiap situs web.
Sebagai contoh, pada Nginx dan menggunakan Tor dengan soket Unix, konfigurasinya akan terlihat seperti ini:
server {
listen unix:/var/run/tor/my-website.sock;
server_name <your-onion-address>.onion;
access_log /var/log/nginx/my-website.log;
index index.html;
root /path/to/htdocs;
}
Or in Apache with Tor service listening on port 80:
<VirtualHost *:80>
ServerName <your-onion-address.onion>
DocumentRoot /path/to/htdocs
ErrorLog ${APACHE_LOG_DIR}/my-website.log
</VirtualHost>
Langkah 6: Saran keamanan dan kiat lainnya
Versi default Onion Services adalah versi 3 dan alamatnya panjangnya 56 karakter, tanpa bagian http:// dan .onion.
Onion services versi 2 telah ditinggalkan dan tidak lagi didukung sejak rilis Tor 0.4.6.1-alpha, pada tahun 2021.
Silakan baca posting blog linimasa penghentian Onion Service versi 2 untuk informasi lebih lanjut.
Sebagian operator situs onion mungkin tidak ingin mengungkapkan lokasi Onion Service mereka.
Karena itu, Anda perlu mengonfigurasi web server Anda agar tidak membocorkan informasi apa pun tentang Anda, komputer Anda, atau lokasi Anda.
Itu bukan tugas yang mudah, dan sumber daya ini akan membantu tentang cara membuatnya menjadi mungkin:
Terakhir, jika Anda berencana menjaga layanan Anda tetap tersedia untuk waktu yang lama, Anda mungkin ingin membuat salinan cadangan berkas private_key di suatu tempat.
Sekarang setelah Anda memiliki situs onion yang berfungsi, Anda mungkin ingin menerapkan Onion-Location, atau menggunakan alat seperti Docker, Heroku, Terraform, Ansible atau stem untuk mengotomatiskan pengelolaan Onion Services Anda.
Jika Anda memiliki situs web statis, tetapi belum pernah memasang Nginx atau Apache, proyek lain yang bisa dicoba adalah OnionShare, yang akan memudahkan menjalankan situs onion: dipandu dengan antarmuka grafis dan dengan konfigurasi minimal.