Cara membangun DNS Filter (mari berantas pornografi)

Kebutuhan :
1. dns server, pilihan yang baik menggunakan powerdns, karena saya rpm base, maka silakan di download di :

http://downloads.powerdns.com/releases/rpm/pdns-static-2.9.22-1.i386.rpm

download powerdns sebagai authoritative server

2. linux box, pastinya.
3. database situs-situs yang ingin di blok, bisa didownload di

http://urlblacklist.com/cgi-bin/commercialdownload.pl?type=download&file=bigblacklist

pilih situs porno

4. web server

saya asumsikan di sini, kita akan menyimpan databasenya dalam bentuk file. powerdns bisa menyimpannya dalam database, salah satu yang telah saya coba adalah mysql. namun pada tutorial ini, yang saya bahas adalah menggunakan file.

di dalam database tersebut, terdapat kategori porn, nah pilih kategori tersebut. lalu pilih file domain.

ide dari dns filtering ini adalah "memaksa" suatu domain, katakanlah situs porno tadi, ke suatu ip yang telah kita assign. ip tersebut, bisa di server dns filter ini. misalnya dns filter ini, ipnya 192.168.0.1. kita perlu mengedit sedikit baris ini. tool favorit saya adalah yang terdapat di shell

kita akan menggunakan format record zone pada bind, yaitu
record IN A ip_address

dimana :
record : nama domain
A : Alias IP Address
ip_address : ip address dari web server yang ingin kita buat

command untuk membuat spt itu

# awk '{print $1". IN A 192.168.0.1"}' domains > record.db
# awk '{print "*."$1". IN A 192.168.0.1"}' domains >> record.db


keterangan :
# : root shell
awk '{print $1" IN A 192.168.0.1"}' domains > record.db : tambahkan baris pertama lalu diikuti IN A 192.168.0.1 pada baris domain, kemudian disimpan ke dalam file bernama record.db

awk '{print "*."$1" IN A 192.168.0.1"}' domains > record.db : tambahkan "*." baris pertama lalu diikuti IN A 192.168.0.1 pada baris domain, kemudian disimpan ke dalam file bernama record.db


selanjutnya install powerdns
yum install powerdns.paket.rpm

setelah terinstall, edit file pdns.conf, konfigurasi file pdns.conf
berikut adalah isi konfigurasi yang bisa diedit

#izinkan melakukan rekursor
allow-recursion=0.0.0.0/0

#ambil konfigurasi bind
launch=bind
bind-config=/etc/named.conf

#proses recursif dilakukan jika domain yang dimaksud tidak ada di dalam nya
lazy-recursion=yes
wildcards=yes

#tambahkan ip dns ISP Anda
recursor=xxx.xxx.xxx.xxx


isi dari /etc/named.conf

zone "." in{
type master;
file "record.db";
};


pada dns filter ini, kita akan membuat server kita sebagai root server, dan juga sebagai authoritative server.

kita perlu memodifikasi sedikit untuk file record.db
tambahkan di baris paling depan dari file record.db sebagai berikut :

$TTL 1d
@ IN SOA ns1. hostmaster. (
1234567899
3600
3600
3600
3600
)
IN NS ns1.
ns1. IN A 192.168.0.1



setelah itu, hidupkan service powerdns
/etc/init.d/pdns start

tahap selanjutnya adalah menghidupkan web server. mungkin kitga bisa membuat html sederhana, isinya mungkin kalimat,
Maaf, halaman yang Anda Akses tidak dapat kami buka karena mengandung konten pornografi

Hostmaster

menghidupkan web server
/etc/init.d/httpd start

selesai, silakan menerapkan tutorial ini, dan mari kita lindungi anak-anak Indonesia dari pornografi.

Komentar

Anonim mengatakan…
bos tanya, saya dah coba sesuai petunjuk di atas. tapi masih belum berhasil. contoh resolve domain ke salah satu domain dalam kategori porn masih mengarah ke ip aslinya.

# host xxx.com
xxx.com has address 66.114.124.140
xxx.com mail is handled by 10 mx0.xxx.com.

tampaknya ada error di zone,

Aug 15 14:38:34 server1 pdns[2361]: [bindbackend] Parsing 1 domain(s), will report when done
Aug 15 14:38:34 server1 pdns[2361]: [bindbackend] error at Sun Aug 15 14:38:34 2010 parsing '.' from file '/etc/bind/record.db': Trying to insert non-zone data, name='', zone=''
Aug 15 14:38:34 server1 pdns[2361]: [bindbackend] Done parsing domains, 1 rejected, 1 new, 1 removed

kira2 knp ya bos?
Rito mengatakan…
Sepertinya errornya di sini

Aug 15 14:38:34 server1 pdns[2361]: [bindbackend] error at Sun Aug 15 14:38:34 2010 parsing '.' from file '/etc/bind/record.db': Trying to insert non-zone data, name='', zone=''

name nya kosong dan zone nya kosong.

dan pastikan

zone "." in{
type master;
file "record.db";
};

terutama untuk file "record.db" itu sudah sesuai dengan directory yang ada di named.conf. misalnya di set di /var/named, maka record.db diletakkan di dalak direktory tersebut.
Anonim mengatakan…
Saya mau tanya, saya sudah coba cara diatas tapi bingung list domain pornonya diletakkan dimana? dan setting di powerdns yang mengarahkan ke list tersebut dimana ya?

Terima kasih.
Anonim mengatakan…
utk website jika kena porno otomatis ke default apachenya ya ? kalau nggak gimana merubahnya ?
rckstr mengatakan…
Ijin Nyimak gan..masih ga mudeng....
Rito mengatakan…
zone "." in{
type master;
file "record.db";
};

file diletakkan di record.db

sebenarnya idenya adalah mengubah ip sebenarnya dari situs porno tersebut menjadi ip lain yang kita definisikan sendiri. nah di ip yang kita definisikan sendiri ini , di dalamnya ada web server yang hanya berisi 1 halaman html sederhana (di modif juga gpp) yang isinya kalo halaman yang kita akses mengandug kontent pornografi
Anonim mengatakan…
maaf nh masih bingung

di file record.db isinya kan

$TTL 1d
@ IN SOA ns1. hostmaster. (
1234567899
3600
3600
3600
3600
)
IN NS ns1.
ns1. IN A 192.168.0.1

lha trus domain pornonya ditaruh mana..?

dan untuk mengarahkan ke aphacenya gmana...?
Anonim mengatakan…
bos linux box itu gimana maksudnya.??ane masih newbie...
Rito mengatakan…
untuk server yang diinstall OS Linux (Distronya terserah), biasanya di sebut linux box
Yahya mengatakan…
kok ga bisa ping selain domain yang di blacklist? padahal lazy-recursion, wildcards, sama recursor sudah di set.. kenapa yah bang??

Postingan Populer