Thursday, September 13, 2007

----- named.conf ------
acl "xfer" {
202.202.202.2/32; // secondary ns domain misalnya
};

acl "trusted" {
// Disini anda tempatkan blok IP Address yang anda bolehkan
// melakukan recursive query
// tambah sesuai kebutuhan

202.202.202.0/24; // misalnya
192.168.0.0/24; // LAN
localhost; // Server ini
};

acl "bogon" {
// Hapus atau comment LAN anda dari acl bogon ini

0.0.0.0/8;
1.0.0.0/8;
2.0.0.0/8;
5.0.0.0/8;
7.0.0.0/8;
10.0.0.0/8;
23.0.0.0/8;
27.0.0.0/8;
31.0.0.0/8;
36.0.0.0/8;
37.0.0.0/8;
39.0.0.0/8;
42.0.0.0/8;
49.0.0.0/8;
50.0.0.0/8;
77.0.0.0/8;
78.0.0.0/8;
79.0.0.0/8;
92.0.0.0/8;
93.0.0.0/8;
94.0.0.0/8;
95.0.0.0/8;
96.0.0.0/8;
97.0.0.0/8;
98.0.0.0/8;
99.0.0.0/8;
100.0.0.0/8;
101.0.0.0/8;
102.0.0.0/8;
103.0.0.0/8;
104.0.0.0/8;
105.0.0.0/8;
106.0.0.0/8;
107.0.0.0/8;
108.0.0.0/8;
109.0.0.0/8;
110.0.0.0/8;
111.0.0.0/8;
112.0.0.0/8;
113.0.0.0/8;
114.0.0.0/8;
115.0.0.0/8;
116.0.0.0/8;
117.0.0.0/8;
118.0.0.0/8;
119.0.0.0/8;
120.0.0.0/8;
169.254.0.0/16;
172.16.0.0/12;
173.0.0.0/8;
174.0.0.0/8;
175.0.0.0/8;
176.0.0.0/8;
177.0.0.0/8;
178.0.0.0/8;
179.0.0.0/8;
180.0.0.0/8;
181.0.0.0/8;
182.0.0.0/8;
183.0.0.0/8;
184.0.0.0/8;
185.0.0.0/8;
186.0.0.0/8;
187.0.0.0/8;
192.0.2.0/24;
// LAN saya 192.168.0.0/16;
197.0.0.0/8;
223.0.0.0/8;
224.0.0.0/3;
};

logging {
channel default_syslog {
syslog local2;
severity debug;
};

channel audit_log {
file "/var/named/named_audit.log";
severity debug;
print-time yes;
};

category default { default_syslog; };
category general { default_syslog; };
category security { audit_log; default_syslog; };
category config { default_syslog; };
category resolver { audit_log; };
category xfer-in { audit_log; };
category xfer-out { audit_log; };
category notify { audit_log; };
category client { audit_log; };
category network { audit_log; };
category update { audit_log; };
category queries { audit_log; };
category lame-servers { audit_log; };
};

options {
directory "/etc/named";
pid-file "/var/named/named.pid";
statistics-file "/var/named/named.stats";
memstatistics-file "/var/named/named.memstats";
dump-file "/var/adm/named.dump";
zone-statistics yes;

// mengantisipasi serangan DoS dengan menciptakan
// bogus permintaan transfer zone
// dapat menyebabkan terjadinya kelambatan transfer zone
// antar authoritative server yang lain
notify no;

// efisiensi zone transfer
transfer-format many-answers;

// maksimum transfer zone dalam detik
// tambahkan jika berkas zone anda besar
// dan membutuhkan waktu transfer lebih dari 1 menit
max-transfer-time-in 60;

// tidak ada interface dynamic
interface-interval 0;

// hanya mengijinkan transfer zone dari IP address
// yang ada pada acl xfer
allow-transfer { xfer; };

// query hanya dapat dilakukan oleh acl trusted
// mencegah DNS server kita digunakan oleh umum
allow-query { trusted; };

// menolak semua yang berasal dari acl bogon
blackhole { bogon; };
};

view "internal-in" in {

// untuk recursion
// dapat diakses oleh client pada acl trusted
// tempatkan disini untuk domain internal atau uji coba

match-clients { trusted; };
recursion yes;
additional-from-auth yes;
additional-from-cache yes;

zone "." in {
type hint;
file "cache.db";
};

zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.db";
allow-query { any; };
allow-transfer { none; };
};

zone "kecoak.lab" in {
type master;
file "zone/kecoak.lab.db";
};

zone "0.168.192.in-addr.arpa" in {
type master;
file "zone/192.168.0.db";
allow-query { any; };
};
};

view "external-in" in {

// jika DNS server difungsikan juga sebagai authoritative
// tempatkan disini domain anda
// dapat diakses oleh semua
// namun tidak diijinkan recursion

match-clients { any; };
recursion no;
additional-from-auth no;
additional-from-cache no;

zone "." in {
type hint;
file "cache.db";
};

zone "contoh1.com" in {
type master;
file "zone/contoh1.com.db";
allow-query { any; };
};

zone "contoh2.com" in {
type master;
file "zone/contoh2.com.db";
allow-query { any; };
};

zone "202.202.202.in-addr.arpa" in {
type master;
file "zone/202.202.202.db";
allow-query { any; };
};
};

view "external-chaos" chaos {

// dapat dilihat oleh semua

match-clients { any; };
recursion no;

zone "." {
type hint;
file "/dev/null";
};

zone "bind" {
type master;
file "bind.db";

// ganti menjadi any jika anda bermaksud memperlihatkan versi BIND
// misalnya ketika dilihat oleh dnsreport.com
allow-query { trusted; };
allow-transfer { none; };
};
};
----- akhir named.conf -----

sekarang buat berkas bind.db pada /etc/named/
(sesuaikan dengan konfigurasi pada berkas named.conf diatas)
yang isinya :

----- bind.db -----
; thanks to Rob Thomas - robt_at_cymru.com
;
$TTL 1D
$ORIGIN bind.
@ 1D CHAOS SOA localhost. root.localhost. (
2006070407 ; serial
3H ; refresh
1H ; retry
1W ; expiry
1D ) ; minimum
CHAOS NS localhost.

version.bind. CHAOS TXT "Ini Bukan DNS server bapakmu!"
authors.bind. CHAOS TXT "seseorang yang lebih hebat dari saya!"
----- akhir bind.db -----

No comments: