memandangkan mengawal akses ke host2 yg mempunyai lebih dari 1 IP. contoh seperti AKAMAI yg ada lebih dari 4000 IP. amatlah sukar. Akamai adalah caching service yg digemari oleh ramai content provider besar2 seperti youtube dan facebook untuk memberikan kelajuan akses pada user serantau. jadi server2 akamai cache ni berada di merata2 tempat . maka sekiranya anda akses ke youtube.com anda akan dilunjurkan ke cache akamai yg berhampiran atau load yg paling optimum. bergantung pada algo DNS system mereka.
namun sekiranya anda adalah seorang security engineer yg ditugaskan untuk mengawal akses ke website2 sebegini. amatlah sukar untuk memblock sesetengah user dan kemudian membenarkan sesetengah user yg lain di firewall. ini kerana IP akamai cache akan berubah2 seperti yg diterangkan di atas.
disinilah kita mengunakan DNS Hijacking untuk memastikan host yg kita mahu hanya akan di resolve kepada 1 IP saja setiap masa.
mula2 add di dalam named.conf
zone "youtube.com" IN {
type master;
file "COMMON/db.youtube.com";
};
dan zone files /var/named/COMMON/db.youtube.com pula
$TTL 86400 ; 24 hours could have been written as 24h or 1d
; $TTL used for all RRs without explicit TTL value
$ORIGIN youtube.com.
@ 1D IN SOA ns1.youtube.com. hostmaster.youtube.com. (
200203 ; serial
3H ; refresh
15 ; retry
1w ; expire
3h ; minimum
)
IN NS ns1.youtube.com. ; in the domain
; server host definitions
ns1 IN A 127.0.0.1 ;name server definition
www IN A 74.125.135.91 ;web server definition
dah restart named. check log. sama ada ada error atau tidak. pastikan serial numbers tak sama untuk setiap zone files yer.
lepas tu kita test dulu
# dig @127.0.0.1 www.youtube.com
; <<>> DiG 9.9.4-P1-RedHat-9.9.4-r4 <<>> @127.0.0.1 www.youtube.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- 46803="" br="" id:="" noerror="" opcode:="" query="" status:="">;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.youtube.com. IN A
;; ANSWER SECTION:
www.youtube.com. 86400 IN A 74.125.135.91
;; AUTHORITY SECTION:
youtube.com. 86400 IN NS ns1.youtube.com.
;; ADDITIONAL SECTION:
ns1.youtube.com. 86400 IN A 127.0.0.1
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Dec 01 12:15:04 MYT 2014
;; MSG SIZE rcvd: 94->
lepastu kita kena redirect dns request dari LAN ke named dalam firewall sendiri.
[ tembokapi root@tembokapi ~]# iptables -L LAN-NET -v
7367 490K REDIRECT udp -- eth1 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
sekarang anda dapat block atau allow user ke port 443 youtube.com dengan mudah.
namun bagi penguna android. didapati user smartphone mengunakan dns lain untuk mencapai ke youtube apabila mengunakan aplikasi youtube.
so kita tambah lagi dalam zone file kita
cat /etc/named.conf
zone "googlevideo.com" IN {
type master;
file "COMMON/db.googlevideo.com";
};
dan zone files /var/named/COMMON/db.googlevideo.com pula
# more /var/named/COMMON/db.googlevideo.com
$TTL 86400 ; 24 hours could have been written as 24h or 1d
; $TTL used for all RRs without explicit TTL value
$ORIGIN googlevideo.com.
@ 1D IN SOA ns1.google.com. hostmaster.googlevideo.com. (
200203 ; serial
3H ; refresh
15 ; retry
1w ; expire
3h ; minimum
)
IN NS ns1.google.com. ; in the domain
; server host definitions
ns1 IN A 127.0.0.1 ;name server definition
* IN A 74.125.135.91 ;web server definition
kita mengunakan * sebagai wildcard. supaya semua url yg