Bu rehber 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 site sunucusu edinin

İlk adım olarak, Nginx, Apache ya da beğendiğiniz başka bir yerel site sunucusu kurmalısınız. Bir site 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 site sunucusu kurmanızı öneririz. Zaten kurulu bir site sunucunuz olsa bile, onu normal bir site için kullanıyor olabilirsiniz (veya daha sonra kullanmak isteyebilirsiniz).

Gösterilen site sunucusu yönetimi komutları Debian benzeri işletim sistemleri için olduğundan, diğer sistemlerden farklı olabilir. Site 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 site 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 tamamlandığında, site sunucunuzun çalıştığından emin olun: Tarayıcınızı açın ve http://localhost/ adresine gidin. Then try putting a file in the main HTML directory, and make sure it shows up when you access the site.

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 bağlantı noktası (Onion Hizmetinizi ziyaret eden kişilerin kullanacağı bağlantı noktası) ayarlanır. Yukarıdaki durumda, Onion Hizmetinizin 80 numaralı bağlantı noktasına gelen herhangi bir trafiğin 127.0.0.1:80 adresine yönlendirilmesi gerektiğini belirtir (1. adımdaki site sunucusunun dinlediği bağlantı noktasıdır).

İpucu: Bir Onion Hizmetinin yerel bir ağa sızmasını önlemek için yapılabilecek iyi bir uygulama, Onion Hizmetini TCP soketi yerine Unix soketleri üzerinde çalıştırmaktır. torrc dosyanıza şu iki satırı 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 Hizmeti çalışıyor mu 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.

Now you can connect to your Onion Service using Tor Browser, and you should get the HTML page you set up back in Step 1. Ç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 Hizmeti erişimi için kimlik doğrulaması isteyebilirsiniz. Böylece yalnızca kişisel 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 bağlantı noktası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ı site sunucusunda birden çok OnionSitesi işletiyorsanız, site sunucusu sanal sunucu dosyasını düzenleyerek her site için bir 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 /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>

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

The default version of Onion Services is version 3 and its address is 56 characters long, without the http:// and .onion parts. Onion services version 2 is deprecated and is no longer supported since the 0.4.6.1-alpha Tor release, in 2021. 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ı OnionSitesi işletmecileri, Onion Hizmeti konumlarını açıklamak istemeyebilir. Bu durumda, site 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 OnionSitesi kurduğunuza göre, Onion-Location özelliğini etkinleştirmek veya Onion Hizmeti yönetimini otomatikleştirmek için Docker, Heroku, Terraform, Ansible veya stem gibi araçları kullanmak isteyebilirsiniz. Durağan bir siteniz varsa, ancak Nginx ya da Apache sunucularını hiç kurmadıysanız, oldukça kolay şekilde bir OnionSitesi hazırlanabilecek OnionShare projesini deneyebilirsiniz. Görsel bir arayüz ile yönlendirileceğiniz kolay bir yapılandırma ile kullanabilirsiniz.