Block Web Site Porno dengan PowerDNS

Block Web Site Porno dengan PowerDNS

Memblock situs porno bisa dengan smoothwall, Endian, Squid, tapi software ini sangat sensitive, dalam arti walaupun sebuah situs bukan situs porno, tapi karena ada kata-kata yang dicurigai berbau pornograpi, maka akan diblock juga. Bagi beberapa perusahaan, misalkan ISP, Telco operator, hal ini tentu tidak diharapkan, yang diharapkan adalah sistem meblock hanya situs-situs yang benar-benar mengandung kontent pornograpi.
Berikut saya terangkan memblock domain (black list domain) dengan powerdns. Mengapa powerdns, karena powerdns support mysql backend (Bind juga supoort mysql, hanya dari sisi compile, kerjaannya jadi ngga sederhana).
Topology

Install Mysql
#yum install mysql mysql-server
#chkconfig –levels 235 mysqld on
#/etc/init.d/mysqld start
Change Mysql Password
#mysql -uroot
mysql>use mysql
mysql>update user set password=password(‘apasaja’) where user=’root’;
mysql>flush privileges;
mysql>quit;
Installing PowerDNS
#yum install pdns pdns-backend-mysql
Konfigurasi Server
Konfigurasi Mysql
Buat Database PowerDNS
#mysql -uroot -p
mysql > CREATE DATABASE powerdns;

Buat user Database

mysql > GRANT ALL ON powerdns.* TO ‘admin’@'localhost’ IDENTIFIED BY ‘apasaja’;
mysql > flush privileges
Buat Table untuk powerdns
mysql > use powerdns
mysql > CREATE TABLE domains (
id INT auto_increment,
name VARCHAR(255) NOT NULL,
master VARCHAR(128) DEFAULT NULL,
last_check INT DEFAULT NULL,
type VARCHAR(6) NOT NULL,
notified_serial INT DEFAULT NULL,
account VARCHAR(40) DEFAULT NULL,
primary key (id)
);
mysql > CREATE UNIQUE INDEX name_index ON domains(name);
mysql > CREATE TABLE records (
id INT auto_increment,
domain_id INT DEFAULT NULL,
name VARCHAR(255) DEFAULT NULL,
type VARCHAR(6) DEFAULT NULL,
content VARCHAR(255) DEFAULT NULL,
ttl INT DEFAULT NULL,
prio INT DEFAULT NULL,
change_date INT DEFAULT NULL,
primary key(id)
);
mysql > CREATE INDEX rec_name_index ON records(name);
mysql > CREATE INDEX nametype_index ON records(name,type);
mysql > CREATE INDEX domain_id ON records(domain_id);
mysql > CREATE TABLE supermasters (
ip VARCHAR(25) NOT NULL,
nameserver VARCHAR(255) NOT NULL,
account VARCHAR(40) DEFAULT NULL
);
mysql > quit
Konfigurasi PowerDNS
#vi /etc/pdns/pdns.conf
# launch=
launch=gmysql
gmysql-host=127.0.0.1
gmysql-user=admin
gmysql-password=apasaja
gmysql-dbname=powerdns
[…]
recursor=10.1.3.205:5300
wildcards=on
–END–
Save dan Exit
#chkconfig –levels 235 pdns on
Di DNS Recursive Server Install pdns recursor
#yum install pdns-recursor
Edit
vim /etc/powerdns/recursor.conf
allow-from=127.0.0.0/8, 10.1.2.0/24
local-address=127.0.0.1, 10.1.3.205
local-port=5300
Insert Black List Domain to Mysql
Ada dua table di Database powerdns di mysql yang perlu diisi dengan data domain yang di black list.keuda table tersebut adalah table domains and records.
Dua table ini akan diisi oleh data domain yang diperoleh dari depkominfo. Download list domain dari depkominfo (saat ini di link depkominfo.go.id, link donwloadnya sudah tidak ada lagi).
Jika sudah mendapatkan list domain modifikasi dengan awk
# awk ‘{print “NULL” “\t” $1 “\t” NULL “\t” “NULL” “\t” “NATIVE” “\t” “NULL” “\t” “NULL” }’ domains > blackdomains
Copy blackdomains ke /var/lib/mysql/powerdns/
#cp blackdomains /var/lib/mysql/powerdns/
#chmod 666 /var/lib/mysql/powerdns/blackdomains
masukan ke dalam table domain dengan cara
#mysql -uroot -papasaja -Dpowerdns -e “LOAD DATA INFILE ‘blackdomains’ INTO TABLE domains”
Cek Hasilnya dengan masuk ke mysql
mysql > use powerdns;
mysql > select * from domains limit 10;
+—-+—————————+——–+————+——–+—————–+———+
| id | name | master | last_check | type | notified_serial | account |
+—-+—————————+——–+————+——–+—————–+———+
| 1 | 17bb.info | | 0 | NATIVE | 0 | NULL |
| 2 | playboy.com | | 0 | NATIVE | 0 | NULL |
| 3 | 0–ass-cinema-newsp.da.ru | | 0 | NATIVE | 0 | NULL |
| 4 | 0–bondage.dk | | 0 | NATIVE | 0 | NULL |
| 5 | 0–fightingshaving.da.ru | | 0 | NATIVE | 0 | NULL |
| 6 | 0–foodwarez.da.ru | | 0 | NATIVE | 0 | NULL |
| 7 | 0–gratis.dk | | 0 | NATIVE | 0 | NULL |
| 8 | 0–lesbians.dk | | 0 | NATIVE | 0 | NULL |
| 9 | 0–oralsex.dk | | 0 | NATIVE | 0 | NULL |
| 10 | 0–sex.dk | | 0 | NATIVE | 0 | NULL |
+—-+—————————+——–+————+——–+—————–+———+
mysql> select count(*) from domains;
+———-+
| count(*) |
+———-+
| 745251 |
+———-+
1 row in set (0.00 sec)
Sekarang dari sini kita akan mepointing semua IP address ke black list domain mengarah hanya satu IP, dimana IP ini bisa merupakan web server yang berisi misalkan isinya “Web SIte ini telah di Block”. Katakanlah semua ip domain yang diblack list mengarah ke IP 10.1.2.205
Buat query dan masukan hasilnya ke file
#mysql -uroot -papasaja -Dpowerdns -e “select id,name from domains” > forrecord
#awk ‘{print “NULL” “\t” $1 “\t” $2 “\t” “A” “\t” “10.1.2.205″ “\t” “86400″ “\t” “0″ “\t” “1286888925″ }’ forrecord > sqlrecords
for dns wilcard
#awk ‘{print “NULL” “\t” $1 “\t” “*.”$2 “\t” “A” “\t” “10.1.2.205″ “\t” “86400″ “\t” “0″ “\t” “1286888925″ }’ forrecords > wildcard
#cp sqlrecords /var/lib/mysql/powerdns
#cp wildcard /var/lib/mysql/powerdns
#chmod 666 /var/lib/mysql/powerdns/sqlrecords
#chmod 666 /var/lib/mysql/powerdns/wildcard
#mysql -uroot -papasaja -Dpowerdns -e “LOAD DATA INFILE ‘sqlrecords’ INTO TABLE records”
#mysql -uroot -papasaja -Dpowerdns -e “LOAD DATA INFILE ‘wildcard’ INTO TABLE records”
Cek Data records di Mysql
mysql> select * from records2 where name like ‘%0–bondage.dk’;
+——–+———–+—————–+——+————+——-+——+————-+
| id | domain_id | name | type | content | ttl | prio | change_date |
+——–+———–+—————–+——+————+——-+——+————-+
| 4 | 4 | 0–bondage.dk | A | 10.1.2.205 | 86400 | 0 | 1286888925 |
| 745255 | 4 | *.0–bondage.dk | A | 10.1.2.205 | 86400 | 0 | 1286888925 |
+——–+———–+—————–+——+————+——-+——+————-+
2 rows in set (0.78 sec)
mysql> select count(*) from records;
+———-+
| count(*) |
+———-+
| 1490502 |
+———-+
1 row in set (0.00 sec)
Test Query

sumber : http://impeza.wordpress.com/2011/03/02/block-content-porno-dengan-powerdns/


https://www.omwik.xyz/2012/10/block-web-site-porno-dengan-powerdns.html

https://www.mr-omwik.blogspot.com/2012/10/block-web-site-porno-dengan-powerdns.html



Post a Comment

1 Comments

  1. Nunggu setting interfacenya ya mas bro sambil ngadem di MPH

    ReplyDelete