Rabu, 21 Oktober 2009 di 12.19 |  


sedikit kasih tutorial singkat bagaimana membuat DNS server menggunakan BIND (Berkeley Internet Name Domain)
sebelum kita membangunnya ada sedikit teori untuk mengenal lebih jauh tentang DNS. Ada pepatah mengatakan "tak kenal maka tak sayang" :D , sebelum kita mengerti "DNS poisoning" atau apapun namanya sudah pasti harus mengenal dulu apa itu DNS dan bagaimana dia bekerja. Saatnya sebentar kita pakai topi putih :mrgreen:

Komponen DNS
Kompnen DNS dibagi menjadi 4 bagian yaitu:
1. DNS server
Komputer yang bertugas menjalankan program dari server DNS, contoh BIND. BIND menampung database DNS berisi informasi struktur pohon atau pengartian nama dari sebuah permintaan DNS client.
2. DNS Zone
Merupakan penampung dari penamaan untuk server yang berhak atasnya. Contoh sebuah server DNS memiliki otoritas untuk university.ac.id dan university.edu dan setiap zone dapat disertakan satu atau lebih domain
3. DNS resolver
sebuah service yang menggunakan protocol DNS untuk meminta informasi dari DNS server
4. Resource record
arah masuknya database DNS yang digunakan untuk menjawab permintaan client.
Code:
DNS resource records types:
TYPE         Value and meaning                              Reference
-----------  ---------------------------------------------  ---------
A            1 a host address                               [RFC1035]
NS           2 an authoritative name server                 [RFC1035]
MD           3 a mail destination (Obsolete - use MX)       [RFC1035]
MF           4 a mail forwarder (Obsolete - use MX)         [RFC1035]
CNAME        5 the canonical name for an alias              [RFC1035]
SOA          6 marks the start of a zone of authority       [RFC1035]
MB           7 a mailbox domain name (EXPERIMENTAL)         [RFC1035]
MG           8 a mail group member (EXPERIMENTAL)           [RFC1035]
MR           9 a mail rename domain name (EXPERIMENTAL)     [RFC1035]
NULL         10 a null RR (EXPERIMENTAL)                    [RFC1035]
WKS          11 a well known service description            [RFC1035]
PTR          12 a domain name pointer                       [RFC1035]
HINFO        13 host information                            [RFC1035]
MINFO        14 mailbox or mail list information            [RFC1035]
MX           15 mail exchange                               [RFC1035]
TXT          16 text strings                                [RFC1035]
RP           17 for Responsible Person                      [RFC1183]
AFSDB        18 for AFS Data Base location                  [RFC1183]
X25          19 for X.25 PSDN address                       [RFC1183]
ISDN         20 for ISDN address                            [RFC1183]
RT           21 for Route Through                           [RFC1183]
NSAP         22 for NSAP address, NSAP style A record       [RFC1706]
NSAP-PTR     23 for domain name pointer, NSAP style         [RFC1348]
SIG          24 for security signature                      [RFC4034][RFC3755][RFC2535]
KEY          25 for security key                            [RFC4034][RFC3755][RFC2535]
PX           26 X.400 mail mapping information              [RFC2163]
GPOS         27 Geographical Position                       [RFC1712]
AAAA         28 IP6 Address                                 [RFC3596]
LOC          29 Location Information                        [RFC1876]
NXT          30 Next Domain - OBSOLETE                      [RFC3755][RFC2535]
EID          31 Endpoint Identifier                         [Patton]
NIMLOC       32 Nimrod Locator                              [Patton]
SRV          33 Server Selection                            [RFC2782]
ATMA         34 ATM Address                                 [ATMDOC]
NAPTR        35 Naming Authority Pointer                    [RFC2915][RFC2168]
KX           36 Key Exchanger                               [RFC2230]
CERT         37 CERT                                        [RFC4398]
A6           38 A6 (Experimental)                           [RFC3226][RFC2874]
DNAME        39 DNAME                                       [RFC2672]
SINK         40 SINK                                        [Eastlake]
OPT          41 OPT                                         [RFC2671]
APL          42 APL                                         [RFC3123]
DS           43 Delegation Signer                           [RFC4034][RFC3658]
SSHFP        44 SSH Key Fingerprint                         [RFC4255]
IPSECKEY     45 IPSECKEY                                    [RFC4025]
RRSIG        46 RRSIG                                       [RFC4034][RFC3755]
NSEC         47 NSEC                                        [RFC4034][RFC3755]
DNSKEY       48 DNSKEY                                      [RFC4034][RFC3755]
DHCID        49 DHCID                                       [RFC4701]
NSEC3        50 NSEC3                                       [RFC5155]
NSEC3PARAM   51 NSEC3PARAM                                  [RFC5155]
Unassigned   52-54
HIP          55 Host Identity Protocol                      [RFC5205]
NINFO        56 NINFO                                       [Reid]
RKEY         57 RKEY                                        [Reid]
Unassigned   58-98
SPF          99                                             [RFC4408]
UINFO        100                                            [IANA-Reserved]
UID          101                                            [IANA-Reserved]
GID          102                                            [IANA-Reserved]
UNSPEC       103                                            [IANA-Reserved]
Unassigned   104-248
TKEY         249 Transaction Key                            [RFC2930]
TSIG         250 Transaction Signature                      [RFC2845]
IXFR         251 incremental transfer                       [RFC1995]
AXFR         252 transfer of an entire zone                 [RFC1035]
MAILB        253 mailbox-related RRs (MB, MG or MR)         [RFC1035]
MAILA        254 mail agent RRs (Obsolete - see MX)         [RFC1035]
*            255 A request for all records                  [RFC1035]
Unassigned   256-32767
TA           32768   DNSSEC Trust Authorities               [Weiler]           2005-12-13
DLV          32769   DNSSEC Lookaside Validation            [RFC4431]
Unassigned   32770-65279 
Private use  65280-65534
Reserved     65535


Informasi yang dikirim client ke DNS server:
- Nama domain DNS dengan status sebagai FQDN (Full Quallified Domain Name) to untuk menghasilkan FQDN apabila tidak disediakan oleh program client>
- Tipe permintaan yang spesifik ke sebuah sumber daya record berdasarkan tipe atau spesialisasi tipe operasi permintaan
- spesifik kelas untuk nama domain DNS

Resolusi DNS
secara skenario mendasar DNS client menghubungi DNS server untuk melakukan process terhadap database dari sumber daya record.
Proses permintaan DNS
Permintaan terhadap DNS server dibagi 2 proses:
1. Name request yang dimulai dari komp client kemudian dilewatkan ke DNS client untuk resolusi.
2. ketika request tidak dapat diartikan secara lokal, DNS Server dapat melakukan proses untuk mengartikan nama DNS

Instalasi DNS server pada mesin RedHat 9
umumnya setiap distro linux menggunakan paket aplikasi BIND untuk mengaktifkan DNS server nya. Biasanya tersedia di dalam CD distribusinya, disini saya menggunakan bind-9.2.1-16.i386.rpm
ada baiknya kita cek dulu paket tersebut sudah tersedia di dalam sistem kita atau belum
Code:
$ rpm -qa | grep bind

jika belum tersedia silahkan instal BIND melalui paket rpm nya
Code:
$ rpm -Uvh bind-9.2.1-16.i386.rpm

jika sudah terinstall kita akan masuk ke tahap konfigurasi, berikut saya asumsikan contoh kasusnya:
Code:
sistem                 IP addr                  interface                default IP gateway
============= ============================== ====================== ==========================
router            202.154.20.2 (public)            eth0                    202.154.20.1(public)
                  192.168.2.1 (private)            eth1

DNS server        202.154.20.3 (public)            eth0                    202.154.20.1(public)

client-client         192.168.2.2-254         net adapter win32            192.168.2.1(private)


step 1
edit file /etc/named.conf
tambahkan baris untuk melakukan penambahan domain terpilih:
Code:
zone "domainku.or.id" in {
        type master;
        file "domainku.or.id.zone";
};

zone "20.154.202.in-addr.arpa"  {
        type master;
        file "202.154.20.rev";
};

step2
setelah dibentuk nama file zone untuk domain,yang dalam kondisi default diletakkan di direktori /var/named, maka berikutnya file /var/named/domainku.or.id.zone dan /var/named/202.154.20.rev perlu dibuat.
namefile </var/named/domainku.or.id.zone>
Code:
; Domains defined in this file:
; domainku.or.id.zone
;
$TTL     86400
$ORIGIN domainku.or.id.
@  IN  SOA   domainku.or.id.  hostmaster.domainku.or.id. (
                                       2006042500  ; serial
                                       28800       ; refresh
                                       7200        ; retry
                                       604800      ; expire
                                       86400       ; minimum
)
            IN   A            202.154.20.3
            IN   NS         domainku.or.id.
            IN   MX    10   domainku.or.id.
;
localhost   IN    A       127.0.0.1

gw       IN   A    202.154.20.1
gw       IN   A    192.168.2.1
router   IN   A    202.154.20.2
host     IN   A    202.154.20.3

www    IN    CNAME     host.domainku.or.id.
ftp    IN    CNAME     host.domainku.or.id.
pop    IN    CNAME     host.domainku.or.id.
smtp   IN    CNAME     host.domainku.or.id.

step3
namefile </var/named/202.154.20.rev>
Code:
; Domains defined in this file:
; 202.154.20.rev
;
$ORIGIN 20.154.202.in-addr.arpa.
@  IN  SOA   domainku.or.id.  hostmaster.domainku.or.id. (
                                       2006042500  ; serial
                                       28800       ; refresh
                                       7200        ; retry
                                       604800      ; expire
                                       86400       ; minimum
)
            IN   NS         domainku.or.id.

1    IN    PTR     gw.domainku.or.id.
2    IN    PTR     router.domainku.or.id.
3    IN    PTR     host.domainku.or.id.


resolver pada client
semua aplikasi yang membutuhkan DNS memakai resolver.
proses resolving:
1. mengajukan permintaan terhadap name server
2. menginterpretasikan permintaan (resolve), dan memberikan response
3. mengembalikan informasi kepada program yang memintanya

resolver akan menjawab dengan 2 cara yaitu:
1. melihat isi dari cache yang pernah ditanyakan sebelumnya
2. menanyakan kepada DNS server untuk mendapatkan hasilnya
resolver yang biasa dipergunakan untuk mencari informasi tentang DNS adalah nslookup
untuk mengaktifkan fungsi resolver pada OS Linux adalah dengan melakukan konfigurasi pada file /etc/resolv.conf
namefile </etc/resolv.conf>
Code:
# /etc/resolv.conf - DNS setup file
#
domain domainku.or.id
search domainku.or.id
nameserver 202.154.20.2
# antisipasi jika domain dalam terjadi masalah maka akan diteruskan ke DNS public misal ISP
#
nameserver 202.154.1.2     # ns1.rad.net.id
nameserver 202.154.3.2     # ns2.rad.net.id


thanks for:5yn_4ck
Diposting oleh * Label: , , , ,

0 komentar:


Chat Widget
Visit the Site
...........::::::::Wellcome DI BLOG-X =#=#= Gwe Meonkzt =#=#= | Enjoy it:::::::::...........