Karaliste yansısının kurulması ve çalıştırılması
Önceki IP Karalistesi NASIL Sonraki
Karaliste yansısının kurulması ve çalıştırılması
Karaliste yazılımının kurulması
Teorik olarak favori DNS yazılımınızı karaliste amaçları için kullanabilirsiniz. Pratikte, çok uzun alan dosyalarından oluşan karalisteleri yüklemek DNS yazılımınızı yoracaktır. Dolayısıyla en uygun çözüm, karaliste kullanımı için hazırlanmış özel ve hafif bir DNS yazılımı olan rbldnsd yazılımını kullanmaktır. Tabii aynı makinada iki DNS sunucusu birden çalıştığı zaman port çakışması olacaktır. Bunu engellemek için rbldnsd yazılımını başka bir port üzerinden çalıştıracağız.
Eğer Debian kullanıyor iseniz,
$apt-get install rbldnsd
komutu ile rbldnsd yazılımını kurabilirsiniz. Bu kurulum bir Debian makinası üzerinde yapıldığından dolayı çeşitli ayar dosyalarının yerleri başka bir dağıtımda farklı olabilir. Red Hat RPM ve tar.gz paketleri http://www.corpit.ru/mjt/rbldnsd.html adresinden alınabilir.
/etc/default/rbldnsd dosyası içerisinde RBLDNSD tanımını aşağıdaki şekilde değiştirelim:
RBLDNSD="- -r/var/lib/rbldns -b127.0.0.1/530 \
-l requestlog -s statlog  \
"
Bu tanım, rbldns yazılımının 127.0.0.1 adresine bağlanacağını (yani makina dışından sorgulanamayacağını), 530 no'lu port üzerinde çalışacağını, dosyalarını /var/lib/rbldns dizininde tutacağını, istekleri ve istatistikleri günlük dosyasına kaydedeceğini belirtir.
Henüz elimizde bir karaliste dosyası olmadığından dolayı şu aşamada rbldnsd'yi çalıştırmak manasız. Bir kaç adet karaliste yansısı elde ettikten sonra yazılımı çalıştıracağız.
Yansıları indirmek
Yansılayacağımız ilk liste, Türk IP bloklarının listesi. Herhangi bir IP adresinin Türkiye'de olup olmadığını, şu şekilde sorgulayabilirsiniz:
Sorgulanacak IP no'su: 127.0.0.1
$ dig +short 1.0.0.127.tr.countries.nerd.dk
IP numarasının sorgu için tersten yazıldığına dikkat edin.
Bu listeyi http://countries.nerd.dk adresinden ilgili bağları takip ederek, veya
# cd /var/lib/rbldns
# rsync rsync://nubian.blitzed.org/countries/tr.countries.nerd.dk.rbldnsd .
komutu ile alabilirsiniz.
İkinci listemiz de, SORBS tarafından oluşturulmuş olan dinamik IP kullanıcıları listesi. Herhangi bir IP adresinin, ISS'lerin telefonla veya ADSL/Kablo ile bağlanan ev kullanıcılarına ait olup olmadığını gösteren bu listeyi şu şekilde sorgulayabilirsiniz:
Sorgulanacak IP no'su: 127.0.0.2
$ dig +short 2.0.0.127.dul.dnsbl.sorbs.net
127.0.0.10
IP numarasının sorgu için tersten yazıldığına dikkat edin.
Bu listeyi de, SORBS'daki linkleri takip ederek veya
# cd /var/lib/rbldns
# rsync rsync://rsync.bliab.com/sorbs/dul.dnsbl.sorbs.net .
komutu ile alabilirsiniz.
Güncel olmayan bir karaliste, hiç karaliste kullanmamaktan çok daha kötüdür. Dolayısıyla bu karalisteleri yansılama işlemini bir defaya mahsus olarak yapmanın bir manası yok. Cron kullanarak karalistelerin düzenli aralıklarla güncellenmesini sağlamalıyız.
Günde bir defa güncelleme işlemini yapan cron satırı:
$ crontab -l
37 1 * * * cd /var/lib/rbldns; \
rsync rsync://nubian.blitzed.org/countries/tr.countries.nerd.dk.rbldnsd .
¬ 2>&1 /dev/null;\
rsync rsync://rsync.bliab.com/sorbs/dul.dnsbl.sorbs.net . 2>&1 /dev/null
rbldnsd dosyaların güncellendiğini otomatik olarak farkedip yeniden yüklediği için onu yeniden başlatmaya gerek yok.
Karaliste yazılımını başlatmak
/etc/default/rbldnsd dosyası içerisinde RBLDNSD tanımını aşağıdaki şekilde değiştirelim:
RBLDNSD="- -r/var/lib/rbldns -b127.0.0.1/530 \
-l requestlog -s statlog -f \
tr.countries.nerd.dk:ip4set:tr.countries.nerd.dk.rbldnsd \
dul.dnsbl.sorbs.net:ip4set:dul.dnsbl.sorbs.net \
"
Eklediğimiz satırlar, tr.countries.nerd.dk ve dul.dnsbl.sorbs.net alanlarının IP numarası olarak ilgili dosyalarda tanımlandığını belirtiyor.
Şimdi rbldnsd'yi başlatalım:
# /etc/init.d/rbldnsd start
Starting rbldnsd: rbldnsd
rbldnsd: listening on 127.0.0.1/530
rbldnsd: ip4set:tr.countries.nerd.dk.rbldnsd: 20050126 233703:
¬ e32/24/16/8=2061/3910/46/0
rbldnsd: file dul.dnsbl.sorbs.net(3): compatibility mode: specify all NS
¬ records in ONE line
rbldnsd: ip4set:dul.dnsbl.sorbs.net: 20050126 233733:
¬ e32/24/16/8=704801/271341/1628/0
rbldnsd: zones reloaded, time 0.36e/0.22u sec, mem arena=408 free=60
¬ mmap=7628 Kb
rbldnsd: rbldnsd version 0.994 (18 Dec 2004) started (1 socket(s), 2 zone(s))
Karalisteyi sorgulayalım. Bu sorguların, daha önce Internet'ten yaptığımız sorgulara nazaran çok daha hızlı olduğunu farkedeceksiniz.
$ dig +short @127.0.0.1 -p 530 2.0.0.127.dul.dnsbl.sorbs.net
127.0.0.10
$ dig +short @127.0.0.1 -p 530 1.0.0.127.tr.countries.nerd.dk
Normal DNS'e karalisteyi entegre etmek
Az önce kullandığımız sorgularda, dig komutuna hangi sunucu (127.0.0.1) ve hangi port (530) kullanması gerektiğini belirttik. Şu anda bu tanım yapılmaksızın yapılacak olan sorgular gene Internet'e yönlenir. Bu karalisteleri posta yazılımınızda veya spamassassin içerisinde kullanıyorsanız, bunlar halen daha Internet'ten çözümleniyor. Bunu değiştirmenin yolu, DNS sunucunuzda bu alanları yerel karaliste yansısından sorgulamasını belirtmektir.
Örneklerin hazırlandığı sistemde Debian üzerinde Bind9 çalıştırılmaktadır. Kendi dağıtım ve DNS yazılımınıza göre yapılacak ayarlar bir nebze farklı olabilir.
/etc/bind/named.conf dosyası içerisinde iki yeni alan tanımı yapalım:
zone "tr.countries.nerd.dk" IN {
        type forward;
        forward first;
        forwarders {
        127.0.0.1 port 530;
        };
};

zone "dul.dnsbl.sorbs.net" IN {
        type forward;
        forward first;
        forwarders {
        127.0.0.1 port 530;
        };
};
Özellikle forward first; komutuna dikkat edin. Eğer DNS sunucusu bir şekilde rbldnsd ile iletişim kuramaz ise, eskiden yaptığı gibi Internet üzerinden çözümlemeye gidecektir.
DNS'i yeniden başlatın:
# /etc/init.d/bind9 restart
Stopping domain name service: named.
Starting domain name service: named.
Şu anda tr.countries.nerd.dk ve dul.dnsbl.sorbs.net alanlarına sistemden gelen herhangi bir sorgu, rbldnsd'ye yönlenecektir. Eğer bu sorguları posta sunucunuzda veya spamassassin içerisinde kullanıyor idiyseniz, bu sorguların hızlandığını göreceksiniz.
Yapmak istedikleriniz bitmiş olabilir
Eğer sisteminizde yaptığınız çeşitli karaliste sorgularını hızlandırmak amacında iseniz, buraya kadar uyguladıklarımızla bunu gerçekleştirebilirsiniz. Sıklıkla kullandığınız karalistelerin yansısını elde edip, kendi sisteminizde rbldnsd içerisinde çalıştıracaksınız.
Bu yazının geri kalan kısmı, benim hazırladığım bir karalisteyi örnek olarak kullanarak, kendinize ait bir karalisteyi nasıl sisteminize entegre edeceğinizi konu almaktadır.
Önceki Üst Ana Başlık Sonraki
Giriş Başlangıç Kendi karalistenizi kullanmak
Bir Linux Kitaplığı Sayfası