Bu rehber web siteniz için onion hizmetini nasıl kuracağınızı gösterecek. Onion hizmeti iletişim kuralının nasıl çalıştığı ile ilgili teknik bilgiler için onion hizmeti iletişim kuralı sayfamıza bakabilirsiniz.

0. adım: Çalışan bir Tor edinin

Bu rehberin bir parçası olarak, aygıtınızda çalışan bir Tor bulunduğunu varsayacağız. Tor kurmak için, Tor kurulum rehberi belgesini izleyin. Bu rehberin kullanılabilmesi için düzgün çalışan bir Tor gereklidir. Ayrıca Tor yapılandırma dosyalarının nerede olduğunu bilmeniz gerekir.

1. adım: Çalışan bir web sunucusu edinin

İlk adım olarak, Nginx, Apache ya da beğendiğiniz başka biri gibi bir yerel web sunucusu kurmalısınız. Bir web sunucusu kurmak karmaşık bir iş olabilir. Bir yerde takılırsanız ya da daha fazla şey yapmak istiyorsanız, size yardımcı olabilecek bir arkadaş buun veya diğer işletmecilerle yazışmak için tor-onions e-posta listesine katılın.

Örnek olarak, Debian üzerinde Nginx ve Apache ile bir onion sitesinin nasıl kurulacağını ele alacağız. Onion hizmetiniz için yeni ve ayrı bir web sunucusu kurmanızı öneririz. Zaten kurulu bir web sunucunuz olsa bile, onu normal bir web sitesi için kullanıyor olabilirsiniz (veya daha sonra kullanmak isteyebilirsiniz).

Gösterilen web sunucu yönetimi komutları Debian benzeri işletim sistemleri için olduğundan, diğer sistemlerden farklı olabilir. Web sunucunuzun ve işletim sisteminizin belgelerini gözden geçirin.

Apache

Apache, birçok Linux ve * BSD dağıtımının ana deposunda bulunur. apache2 paketini kurmak için:

$ sudo apt install apache2

Nginx

Nginx, birçok Linux ve * BSD dağıtımının ana deposunda bulunur. nginx paketini kurmak için:

$ sudo apt install nginx

Varsayılan olarak, kurulum tamamlandığında web sunucusu localhost:80 üzerinde çalışacaktır. Bir sorun çıktığı hakkında bir hata iletisi görürseniz, sorunun ne olduğunu anlayana kadar sonraki adıma geçemezsiniz.

Kurulum tamalandığında, web sunucunuzun çalıştığından emin olun: Web tarayıcınızı açın ve http://localhost/ adresine gidin. Ardından html kök klasörüne bir dosya ekleyin ve siteye erişildiğinde dosyanın göründüğünden emin olun.

2. adım: Tor onion hizmetinizi yapılandırın

Bir sonraki adımda, Tor (torrc) yapılandırma dosyasını açıp ve bir onion hizmeti kurmak için gerekli ayarları yapmalısınız. İşletim sisteminize ve kurulumunuza bağlı olarak, Tor yapılandırma dosyanız farklı bir konumda olabilir veya farklı görünebilir.

torrc dosyanıza şu iki satırı eklemelisiniz:

 HiddenServiceDir /var/lib/tor/my_website/
 HiddenServicePort 80 127.0.0.1:80

HiddenServiceDir satırında bilgilerin bulunduğu klasör ve onion hizmetinizin şifreleme anahtarları bulunur. HiddenServiceDir satırını değiştirmek isteyebilirsiniz. Böylece Tor çalıştıran kullanıcı tarafından okunabilen ve yazılabilen bir klasör ayarlanabilir.

HiddenServicePort satırında bir sanal kapı numarası (onion hizmetinizi ziyaret eden kişilerin kullanacağı kapı numarasını) ayarlanır. Yukarıdaki durumda, onion hizmetinizin 80 numaralı kapı numarasına gelen herhangi bir trafiğin 127.0.0.1:80 adresine yönlendirilmesi gerektiğini belirtir (1. Adımdaki web sunucusunun dinlediği kapı numarasıdır).

İpucu: Bir onion hizmetinin yerel bir ağa sızmasını önlemek için yapılabilecek iyi bir uygulama, onion hizmetlerini TCP soketi yerine Unix soketleri üzerinde çalıştırmaktır. Aşağıdaki iki satırı düzenleyip torrc dosyanıza eklemelisiniz:

HiddenServiceDir /var/lib/tor/my-website/
HiddenServicePort 80 unix:/var/run/tor-my-website.sock

3. adım: Tor uygulamasını yeniden başlatın ve çalıştığını denetleyin

torrc dosyanızı kaydedip Tor uygulamasını yeniden başlatın.

$ sudo systemctl restart tor

Tor yeniden başlarsa tamamdır. Yoksa bir şeyler yanlıştır. Ne olduğunu anlamak için öncelikle günlük dosyalarına bakın. Günlük kayıtlarında neyin yanlış olduğu hakkında fikir verebilecek bazı uyarı ve hata iletileri görebilirsiniz. Genellikle sorun torrc dosyasındaki yazım hatalarından ya da hatalı klasör izinlerinden kaynaklanır (Günlük dosyanızı bulamıyorsanız ya da nasıl etkinleştireceğinizi bilmiyorsanız Günlük Kayıtları SSS bölümüne bakabilirsiniz.)

Tor başlatıldığında otomatik olarak belirttiğiniz HiddenServiceDir klasörü oluşturulur (gerekiyorsa). Durumun bu olduğundan emin olun.

4. adım: Onion hizmetinizin çalıştığından emin olun

Onion hizmeti adresinizi almak için HiddenServiceDir klasörüne gidin ve hostname adındaki dosyayı bulun. Onion hizmeti yapılandırma klasöründeki hostname dosyasında yeni onion v3 hizmetinizin sunucu adı bulunur. Diğer dosyalar onion hizmeti anahtarlarınızdır. Bunları gizli tutmanız çok önemlidir. Anahtarlarınız başkalarının eline geçerse, başkaları onion hizmetinizin kimliğine bürünebilir. Hizmetinizin tehlikeye girdiği varsayılarak, yararsız olduğu ve ziyaret etmenin tehlikeli olduğu düşünülebilir.

Artık Tor Browser ile onion hizmetinize bağlanabilirsiniz. 1. Adımda ayarladığınız html sayfasını görebilmeniz gerekir. Çalışmıyorsa, fikir verebilecek ipuçları için günlük kayıtlarına bakın ve çalışana kadar oynamayı sürdürün.

Bu şekilde yapılandırılmış bir onion hizmetinin, adresi bilen veya keşfeden herkes tarafından erişilebilir olacağını unutmayın. Onion hizmetlerine erişmek için kimlik doğrulaması isteyebilirsiniz. Böylece yalnız özel anahtarı olan kullanıcılar hizmete erişebilir. Ayrıntılı bilgi almak için istemci kimliği doğrulaması bölümüne bakabilirsiniz.

(İsteğe bağlı) 5. adım: Birkaç onion hizmeti işletmek

Tek bir onion hizmeti için birden çok sanal kapı numarasının kullanılmasını istiyorsanız, daha fazla HiddenServicePort satırı eklemeniz yeterlidir. Aynı Tor istemcisinde birden fazla onion hizmeti çalıştırmak istiyorsanız, başka bir HiddenServiceDir satırı eklemeniz yeterlidir. Aşağıdaki tüm HiddenServicePort satırları, başka bir HiddenServiceDir satırı ekleyene kadar bu HiddenServiceDir satırı için geçerlidir:

 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

Aynı web sunucusunda birden çok onion sitesi işletiyorsanız, web sunucusu sanal sunucu dosyasını düzenleyerek her web sitesi için onion adresi eklemeyi unutmayın. Örneğin, Nginx ile Unix soketleriyle Tor kullanıldığında, yapılandırma şu şekilde olur:

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 /klasor/yolu/htdocs;
}

Ya da Apache ile 80 numaralı kapıyı dinleyen Tor hizmeti:

     <VirtualHost *:80>
       ServerName <onion-adresiniz.onion>
       DocumentRoot /klasor/yolu/htdocs
       ErrorLog ${APACHE_LOG_DIR}/web-sitem.log
     </VirtualHost>

6. adım: güvenlik önerileri ve diğer ipuçları

Varsayılan Onion hizmetleri 3. sürümdür ve 56 karakter uzunluğundadır. Onion hizmetleri 2. sürüm kullanımdan kaldırılıyor ve Temmuz 2021 tarihinde 0.4.6.x Tor sürümünden sonra Tor ağından kaldırılacak. Ayrıntılı bilgi almak için Onion hizmeti sürümlerinin kullanımdan kaldırılma zamanlaması günlük yazısına bakabilirsiniz.

Bazı onion sitesi işletmecileri, onion hizmetlerinin konumlarını açıklamak istemeyebilir. Bu durumda, web sunucunuzu kendiniz, bilgisayarınız ve konumunuz hakkında herhangi bir bilgi vermeyecek şekilde yapılandırmanız gerekir. Bu pek kolay bir iş değildir ve bu kaynaklar bunu yapmanıza yardımcı olur:

Son olarak, hizmetinizi uzun süre kullanılabilir tutmayı planlıyorsanız, private_key dosyasını başka bir yere yedeklemeniz iyi olur.

Artık çalışan bir onion siteniz olduğuna göre, Onion-Location özelliğini etkinleştirmek veya onion hizmetlerinizin yönetimi otomatikleştirmek için Docker, Heroku, Terraform, Ansible veya stem gibi araçları kullanmak isteyebilirsiniz. Durağan bir web siteniz varsa, ancak Nginx ya da Apache sunucularını hiç kurmadıysanız, bir onion sitesinin oldukça kolay hazırlanabileceği OnionShare projesini deneyebilirsiniz. Görsel bir arayüz ile yönlendirileceğiniz kolay bir yapılandırma ile kullanabilirsiniz.