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 :
download powerdns sebagai authoritative server
2. linux box, pastinya.
3. database situs-situs yang ingin di blok, bisa didownload di
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
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
isi dari /etc/named.conf
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 :
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.
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
# 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?
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.
Terima kasih.
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
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...?