Bir Tor onion servisi, insanların sitenize Tor ağı üzerinden, iki taraf da diğerinin IP adresini öğrenmeden ulaşmasını sağlar. Sunucu Tor'a kendisi bağlandığından hiçbir gelen portun açık olmasına gerek yoktur. Bu rehber, küçük bir siteyi Nginx ile sunan bir Ubuntu VPS üzerinde bunu kurar.
Onion servisi size ne sağlar
- Bir anahtardan türetilen bir
.onionadresi; bu yüzden kendi kendini doğrular ve sertifika otoritesine ihtiyaç duymaz. - Ziyaretçi ile sunucunuz arasında Tor içinde uçtan uca şifreleme.
- Sunucunuzun herkese açık IP adresini ziyaretçilere göstermeniz gerekmez.
Sitenizin içeriğini yasal yapmaz ve aynı makineyi gösteren açık web alan adı gibi başka yerde yaptığınız hataları gizlemez.
Adım 1: Tor ve Nginx'i kurun
sudo apt update
sudo apt install -y tor nginx
sudo systemctl enable --now tor
Adım 2: Nginx'i yalnızca localhost'a bağlayın
Web sunucusu genel arayüzde yanıt vermemelidir; aksi hâlde açık web IP'si ile onion sitesi birbirine bağlanabilir hâle gelir. Site yapılandırmanızı loopback üzerinde dinleyecek şekilde düzenleyin.
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
Adım 3: gizli servisi tanımlayın
Şu satırları /etc/tor/torrc dosyasına ekleyin:
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
Son komut 56 karakterlik .onion adresinizi yazdırır. Test etmek için Tor Browser'da açın. /var/lib/tor/my_site/ klasörünü yedekleyin: içindeki anahtar sizin adresinizdir ve onu kaybetmek yeni bir adres demektir.
Adım 4: isteğe bağlı istemci yetkilendirmesi
Özel bir servis için yalnızca onaylı ziyaretçilerin sahip olduğu bir anahtar ekleyin. /var/lib/tor/my_site/authorized_clients/alice.auth dosyasını, descriptor:x25519:PUBLIC_KEY biçiminde bir satırla oluşturun, ardından Tor'u yeniden yükleyin. Eşleşen özel anahtarı olmayan ziyaretçiler servisin var olduğunu bile göremez.
Adım 5: yaygın sızıntıları kapatın
- Sayfalarınızdan asla açık web varlıklarına, yazı tiplerine veya analitiklere başvurmayın.
- Hata sayfalarını ve başlıkları genel tutun ve
server_tokens offayarını koruyun. - Sunucu saatini doğru tutun; Tor buna ihtiyaç duyar.
- SSH dışındaki her şeyi güvenlik duvarıyla kapatın:
sudo ufw default deny incoming, çünkü Tor'un gelen porta ihtiyacı yoktur. - İkisini tamamen ayırmadıysanız aynı sunucuda açık web sitesi çalıştırmayın.
Herhangi bir şey yayımlamadan önce sunucu OpSec alışkanlıklarını okuyun ve yeni bir sunucuda sıkılaştırma kontrol listesini kullanın.