Aktarıcı rehberini ve teknik değerlendirmeleri zaten okuduğunuzu varsayıyoruz. Bu alt sayfa, aktarıcılarından çıkış yaptırmak isteyen işletmeciler içindir.
Çıkış aktarıcılarını yalnızca bu amaca ayrılmış sunuculara kurmanız önerilir.
Diğer hizmetler için de kullandığınız sunuculara Tor çıkış aktarıcıları kurmanız önerilmez.
Kendi trafiğinizi çıkış aktarıcısı trafiği ile karıştırmayın.
Ters DNS ve WHOIS kaydı
Çıkış olmayan aktarıcınızı bir çıkış aktarıcısına dönüştürmeden önce, bunun bir Tor çıkış aktarıcısı olduğunu daha açık hale getirmek için bir ters DNS kaydı (PTR) yaptığınızdan emin olun. "tor-exit" gibi bir ad kullanmak iyi bir başlangıç olur.
Hizmet sağlayıcınız olanak sunuyorsa, WHOIS kaydınızı bunun bir Tor çıkış aktarıcısı olduğu hakkında net bilgiler ile güncelleyin.
Sahip olduğunuz bir etki alanı kullanın. Ters DNS kaydınız için kesinlikle torproject.org
etki alanı adını kullanmayın.
Çıkış bildirimi HTML sayfası
Bunun bir Tor çıkış aktarıcısı olduğunu daha da açık hale getirmek için bir Tor çıkış bildirimi HTML sayfası sunmalısınız.
Tor bunu sizin için yapabilir. DirPort değeri 80 numaralı TCP bağlantı noktası ise bir HTML dosyası görüntülemek için tor
DirPortFrontPage özelliğini kullanabilirsiniz.
Tarayıcı ile Tor çıkış aktarıcısının IP adresini açan herkese bu dosya gösterilir.
Bu seçeneği daha önce ayarlamadıysanız, torrc
çalıştıran aygıtta aşağıdaki yapılandırma satırlarını uygulamalısınız:
DirPort 80
DirPortFrontPage /path/to/html/file
Örnek bir Tor çıkış bildirimi HTML dosyası sunuyoruz ancak bunu gereksinimlerinize göre değiştirmek isteyebilirsiniz.
Ayrıca çıkış aktarıcısı işletme ipuçları hakkında harika bir blog yazımız var.
Not: DirPort Tor 0.4.6.5 sürümüyle birlikte kullanımdan kaldırıldı ve kendi kendine yapılan sınamalar arık tor
günlüklerinde görüntülenmiyor.
Ayrıntılı bilgi almak için yayın notlarına and ticket #40282 bakabilirsiniz.
Çıkış ilkesi
Çıkış ilkesi tanımlamak, bir çıkış aktarıcısı yapılandırmasının en önemli kısımlarından biridir.
Çıkış ilkesi, hangi hedef bağlantı noktalarının aktarılacağını belirler.
Bunun, alacağınız kötüye kullanım şikayeti e-postalarının sayısı üzerinde etkisi vardır (daha az bağlantı noktası, daha az kötüye kullanım e-postası anlamına gelir. Ancak yalnızca birkaç bağlantı noktasına izin veren bir çıkış aktarıcısı da daha az kullanışlıdır).
Kullanışlı bir çıkış aktarıcısı olmak istiyorsanız en azından 80 ve 443 numaralı hedef bağlantı noktalarına izin vermelisiniz.
Yeni bir çıkış aktarıcısı olarak - özellikle barındırıcınızda yeniyseniz - kısıtlanmış çıkış ilkesiyle (kötüye kullanım şikayeti e-postalarının sayısını azaltmak için) başlamak ve deneyim kazandıkça kısıtlamaları kaldırmak iyidir.
Kısıtlanmış çıkış ilkesi ReducedExitPolicy wiki sayfasında bulunabilir.
Bir çıkış aktarıcısı olmak için torrc
yapılandırma dosyanızda ExitRelay değerini 0 yerine 1 olarak değiştirin ve tor
arka plan işlemini yeniden başlatın.
ExitRelay 1
Çıkış aktarıcılarında DNS
Diğer aktarıcı türlerinin aksine, çıkış aktarıcıları Tor istemcileri için DNS çözümlemesi de yapar.
Çıkış aktarıcılarında DNS çözümlemesi Tor istemcileri için çok önemlidir ve ön bellek kullanılarak güvenilir ve hızlı olmalıdır.
- DNS çözümlemesi, çıkış aktarıcınızın sunduğu başarım ve güvenilirlik üzerinde önemli bir etkiye sahip olabilir.
- Merkezileştirmeyi önlemek için büyük DNS çözümleyicilerinden (Google, OpenDNS, Quad9, Cloudflare, 4.2.2.1-6) hiçbirini birincil veya yedek DNS çözümleyiciniz olarak kullanmayın.
- Herhangi bir iletici kullanmadan yerel bir ön bellek ve DNSSEC doğrulayan çözümleyici çalıştırmanızı öneririz (aşağıda farklı işletim sistemleri için özel yönergeler verilmiştir).
/etc/resolv.conf
yapılandırmanıza yedek olarak ikinci bir DNS çözümleyici eklemek istiyorsanız, İnternet hizmeti sağlayıcınızın otonom sistemindeki (AS) bir çözümleyici seçin ve bunun dosyadaki ilk kayıt olmadığından emin olun (ilk kayıt yerel çözümleyiciniz olmalıdır).
- Unbound gibi bir yerel çözümleyici sizin için bir seçenek değilse, hizmet sağlayıcınızın otonom sisteminde (AS) bulunan bir çözümleyici kullanın (bir IP adresinin aktarıcınızla aynı AS içinde olup olmadığını öğrenmek için bgp.he.net kullanabilirsiniz).
- DNS sorgularının AS düzeyinde açığa çıkmasını sınırlamak için
/etc/resolv.conf
dosyanıza ikiden fazla çözümleyici eklemekten kaçının.
- Tor IP adreslerinin (geçici olarak) engellenmesinin yaygın olması ve engellenmiş bir DNS çözümleyici kaynak IP adresinin geniş bir etkiye sahip olabilmesi nedeniyle, yerel çözümleyicinizin herhangi bir çıkış veya çıkış olmayan Tor aktarıcısı tarafından kullanılan herhangi bir gidiş kaynağı IP adresi kullanmadığından emin olun.
Bağlanmamış olan için, diğer DNS sunucularıyla bağlantı kurmak için kaynak IP adreslerini belirtmek üzere
outgoing-interface
seçeneğini kullanabilirsiniz.
- Büyük çıkış işletmecileri (>=100 Mbit/s) Tor DNS çözümleme zaman aşımı oranını izlemeye ve iyileştimeye çalışmalıdır.
Buun için, Tor Prometheus dışa aktarıcısı (
MetricsPort
) kullanılabilir.
Zaman aşımı oranını Tor tarafından görüldüğü gibi izlemek için şu ölçüm kullanılabilir:
tor_relay_exit_dns_error_total{reason="timeout"} 0
DNS sunucusu yazılımı için birden çok seçenek vardır. Unbound yaygın kullanılıyor
ancak kendinizi rahat hissettiğiniz diğer yazılımları da çekinmeden kullanabilirsiniz.
DNS çözümleyici yazılımınızı seçerken, DNSSEC doğrulamasını ve QNAME minimizasyonunu (RFC7816) desteklediğinden emin olun.
Çözümleyici yazılımını, otomatik olarak güncellendiğinden emin olmak için işletim sisteminizin paket yöneticisine yükleyin.
Kendi DNS çözümleyicinizi kullanarak, üst bağlantı çözümleyicinizin dayatabileceği DNS tabanlı sansürden daha iyi korunursunuz.
Bir DNSSEC doğrulama ve ön bellek çözümleyicisi olan Unbound çözümünün çıkış aktarıcınıza kurulup yapılandırılması ile ilgili yönergeleri aşağıda bulabilirsiniz. Unbound için birçok yapılandırma ve ayar düğmesi var. Ancak bu yönergeleri basit ve kısa tuttuk. Çoğu işletmeci için temel kurulum yeterlidir.
Unbound kullanmaya geçtikten sonra, geçerli bir sunucu adını çözümleyerek beklendiği gibi çalıştığını doğrulayın. Düzgün çalışmıyorsa eski resolv.conf
dosyanızı geri yükleyebilirsiniz.
Debian/Ubuntu
Şu üç komut unbound
uygulamasını kurar, DNS yapılandırmasını yedekler ve sistemin yerel çözümleyiciyi kullanmasını sağlar:
# apt install unbound
# cp /etc/resolv.conf /etc/resolv.conf.backup
# echo nameserver 127.0.0.1 > /etc/resolv.conf
İstenmeyen yapılandırma değişikliklerini önlemek için (örneğin DHCP istemcisi tarafından):
# chattr +i /etc/resolv.conf
Debian yapılandırması, varsayılan olarak etkinleştirilmiş QNAME küçültmesi (RFC7816) ile birlikte geldiğinden bunu açıkça etkinleştirmeniz gerekmez.
Az önce kurduğunuz Unbound çözümleyicisi, DNSSEC doğrulaması da yapar.
Stub dinleyicisiyle systemd-resolved çalıştırıyorsanız, bazı ek işlemler yapmanız gerekebilir. Lütfen resolved.conf rehberine bakın.
CentOS/RHEL
Unbound
paketini kurun:
# yum install unbound
Güncel bir CentOS/RHEL sürümü kullanıyorsanız, yum
yerine dnf
kullanın.
/etc/unbound/unbound.conf
dosyasındaki şu satırı bulun:
qname-minimisation: no
ve şununla değiştirin
qname-minimisation: yes
Unbound
uygulamasını etkinleştirip başlatın:
# systemctl enable --now unbound
Sistemin yerel çözümleyiciyi kullanmasını sağlayın:
# cp /etc/resolv.conf /etc/resolv.conf.backup
# echo nameserver 127.0.0.1 > /etc/resolv.conf
İstenmeyen yapılandırma değişikliklerini önlemek için (örneğin DHCP istemcisi tarafından):
# chattr +i /etc/resolv.conf
Stub dinleyicisiyle systemd-resolved çalıştırıyorsanız, bazı ek işlemler yapmanız gerekebilir. Lütfen resolved.conf rehberine bakın.
FreeBSD
Unbound uygulaması temel FreeBSD sisteminde bulunur. Ancak dallardan biri güncellemeleri genellikle daha yakından izlediğinden unbound paketini kuruyoruz:
# pkg install unbound
/usr/local/etc/unbound/unbound.conf
dosyasının içeriğini şu satırlarla değiştirin:
server:
verbosity: 1
qname-minimisation: yes
Unbound
hizmetini etkinleştirip başlatın:
# sysrc unbound_enable=YES
# service unbound start
Sistemin yerel çözümleyiciyi kullanmasını sağlayın:
# cp /etc/resolv.conf /etc/resolv.conf.backup
# echo nameserver 127.0.0.1 > /etc/resolv.conf
İstenmeyen yapılandırma değişikliklerini önlemek için (örneğin DHCP istemcisi tarafından):
# chflags schg /etc/resolv.conf