Thursday, September 26, 2013

Installasi Dan Konfigurasi DNS Di Linux (Bind)

Bonjour! Ketemu lagi di blog Tutorial Linux Berbahasa Indonesia. Sebelum postingan ini saya sudah menuliskan hal-hal yang perlu diingat sebelum menuju tahap installasi dan konfigurasi dns. Jika seandainya anda belum membaca penjelasan saya sebelumnya, saya sarankan untuk membacanya pada link dibawah ini :
Oke kita mulai. Aplikasi Server DNS yang cukup populer,  bahkan sudah menjadi aplikasi de facto untuk DNS adalah BIND. Pada saat ini ada 2 versi Bind yang biasanya secara default digunakan oleh distro utama, yaitu Bind versi 8 atau versi 9. Kita akan menggunakan versi Bind terakhir, yaitu Bind versi 9. Untuk melakukan Installasi Bind Versi 9, jalankan perintah dibawah ini :
root@ns: # apt-get update
root@ns: # apt-get install bind9
Dalam membuat konfigurasi untuk bind, ada 2 berkas yang harus selalu diingat yaitu berkas zona dan berkas konfigurasi bind sendiri yaitu named.conf, berkas zona adalah berkas yang berisikan daftar host maupun server DNS subdomain dari domain tertentu, sedangkan berkas named.conf adalah berkas utama konfigurasi bind. Pada Debian dan Ubuntu, berkas named.conf dipecah menjadi 3 berkas yaitu named.conf, named.conf.options, dan named.conf.local.

Dua berkas terakhir, yaitu named.conf dan named.conf.options dan named.conf.local dimasukkan ke dalam berkas konfigurasi utama named.conf melalui direktif include. Pemecahan berkas konfigurasi tersebut ditujukan untuk memudahkan dalam melakukan manajemen konfigurasi named.conf karena berkas tersebut dipecah sesuai dengan peruntukannya.

Secara default, berkas named.conf hanya berisikan direktif include yang akan memasukkan kedua berkas konfigurasi lainnya. Sedangkan berkas named.conf.options berisikan direktif options. Untuk konfigurasi standar, kedua berkas tersebut biasanya tidak perlu disunting dan dapat langsung digunakan. Hanya berkas konfigurasi yang terakhir, yaitu named.conf.local, yang merupakan berkas berisikan deklarasi zona yang perlu disunting. Berkas ini secara default tidak berisi konfigurasi apapun. Kita akan membahas konfigurasi umum bind dan konfigurasi yang terkait dengan zona.

Berkas named.conf berisikan beberapa direktif. Direktif ini mendefinisikan fungsi yang dimiliki oleh bind. Beberapa direktif yang sering digunakan adalah :

acl  : Mendefinisikan kontrol akses yang dapat digunakan di direktif lain.
control  : Mendefinisikan kontrol terhadap rndc
key  : Mendefinisikan kunci kriptografi yang dapat digunakan untuk mengamankan koneksi DNS seperti TSIG
logging  : Mendefinisikan konfigurasi untuk log
options  : Mendefinisikan konfigurasi global untuk bind
server  : Mendefinisikan konfigurasi untuk server
view     : Bertindak sebagai kontainer untuk direktif zone
zone  : Mendefinisikan konfigurasi untuk domain

ACCESS CONTROL LIST (ACL)
Direktif acl digunakan untuk mendefinisikan nama alias untuk sekelompok alamat IP atau jaringan. ACL lainnya, atau kunci. Nama alias tersebut kemudian digunakan di berkas konfigurasi bind untuk kontrol akses terhadap bind atau terhadap beberapa fungsi tertentu dari bind.

Ketika ACL digunakan di direktif lain, direktif tersebut akan mencocokkan apakah alamat yang melakukan permintaan tersebut cocok dengan alamat yang didefinisikan di ACL. Hal ini memungkinkan ACL digunakan untuk mengontrol siapa yang dapat mengakses fungsi dari direktif tersebut. Sebagai contoh, untuk membatasi hanya jaringan lokal yang dapat mengakses view lokal maka dibuat ACL lokal untuk mendefinisikan alamat IP jaringan lokal. ACL dideklarasikan dengan pernyataan acl sebagai berikut :

acl "lokal" {
            10.10.1.0/24;
            10.10.8.0/24;
};

Pernyataan diatas mendefinisikan ACL dengan nama "lokal" yang merupakan kumpulan alamat jaringan 10.10.1.0/24 dan 10.10.8.0/24. Untuk membuat negasi, dapat digunakan tanda ! (tanda seru). Sebagai contoh ACL dibawah akan cocok dengan seluruh alamat subnet 10.10.1.0/24 kecuali IP 10.10.1.1

acl "negasi" {
     ! 10.10.1.1, 10.10.1.0/24;
};

Oke teman-teman, karena seperinya saya ingin membagikan pengetahuan saya sebaik mungkin, maka penjelasan mengenai bind ini akan terpecah menjadi beberapa artikel, dikarenakan keterbatasan waktu dan tenaga saya :) Tapi jangan khawatir, saya akan segera melanjutkan mengenai installasi dan konfigurasi dns di linux (bind).

Salam penguin! :)

Monday, September 23, 2013

How to Configure Sudoer in Ubuntu 12.04

  
  Currently on my system I'm running on Ubuntu 12.04  codename (Precise Pangolin) those who don't know about Ubuntu can find it out here . The reason why I'm using Ubuntu is because of its agility and flexibility to move things round. Most importantly it is open source.What it mean to be open source is that  you can use it as how you want it to be .You can do what ever with the source code plus with all the free software you can download on their Software centre. I love the idea of "sharing is caring" :-) .

   In this post, I'll be sharing on  the most important thing you need to do after finish installing Ubuntu  that is  adding the "sudoer" . what is "sudoer" you might ask. Well since Ubuntu is running on linux kernel, They have  a different bit of architecture as compared to Windows. Ubuntu is running on a monolithic kernel .In short it mean that the "operating system is working on kernel space running on super user mode". I'll not be going to explain it in detail this time perhaps if there is request some other time.

To cut the long story short, I give the analogy of Sudoer  in Linux as below :

   Imagine you own a big house.  You don't want anybody to do anything to your house without your permission.You have the absolute control of your place . You have 3 son  each of your son have different interest and need. Your first son like to play with music, the second one love to draw and the third one love to clean the house. Each of your son is good in what they do and they have different need in respect to their passion. The first son want to have guitar,organ,drum etc. while second son want to have chalk,crayon,paint brush etc . Every time they  need something or want to get approval to do some change in the house, they will ask you to do it for them.Well some might say "thats alright" but  just imagine they will do that forever and ever!!!!.

   The best thing to do as a father in my opinion  is that you give them their responsibility and let them manage what they do best . Isn't this a great idea?? That is how the sudoer work in Linux. In the example above the father,son and house each represent a component in Linux .

Father=Root(or known as administrator in window)
House=Ubuntu/Linux distro
Son=sudoer (S.U = Super User ;DO =do )

   In a nutshell,Sudoer is the one who have authority to change or do something in the system with the permission of Root. Root will be able to keep track on what is done by the sudoer. This help especially when there is something bad happen to your system and before it took you 2 days to know what is wrong with the system,you can check who are the one doing it. 
 
  There are advantages and disadvantages in running the sudoer but it helps and motivate you to explore more linux without afraid of jeopardizing the system. :-)

Steps to configure "sudoer"

1. Log in as root
2. Open termimal, run below command


$sudo adduser shark_attack(your sudo user)
$sudo /usr/sbin/visudo

//edit the sudo file as below using vi or other text editor
//(This is needed to grant the user as sudo privillage )

# User privilege specification
root    ALL=(ALL:ALL) ALL
shark_attack    ALL=(ALL:ALL) ALL


press CTRL-X and Y to exit vi //

To know whether your sudoer is rightly configured, try to login using normal user account and try to run any sudo command. For more information and guideline please visit this site

Let me know how it goes. Enjoy watching the video and have fun trying it out .

Read Next :How to configure USER permanent PATH

How to change Youtube channel URL


 Below are the steps I took to configure my youtube url link. Please try it out and share if you face any problem .Do share any comment in the box below .

(NOTE: This trick might work with account that associate with the Google id.It will not work if you are using your old Youtube account id)

Steps

1) Get your youtube account verified.
1.1) Login to your account >channel setting>verify
verify your account

1.2) key in your phone number and details click "submit"
Fill in phone details to get account verify

1.3) Wait till you get a text message or voice call from google and key in the number

Fill in the text you receive from Google
NOTE: If you are having problem in getting the SMS, try to change your phone and request the code back.if you are using Iphone, try other brand like Samsung,LG,Nokia or anything else

1.4) Check back again on your channel setting make sure it show as  "VERIFIED"
Make sure your account is verified

2) Get your youtube URL
2.1) Go to main panel and click "youtube setting" to go to account setting
Youtube setting

2.2) Click "Advanced" and get your URL
Click advanced

2.3) Create/search for your link
Look for your link




Sunday, September 22, 2013

Tutorial DNS Di Linux - Part 3 - DELEGASI

Baiklah teman-teman, kita berada diakhir penjelasan mengenai DNS. Postingan ini akan mengakhiri mengenai elemen-elemen yang ada pada DNS. Namun jika anda belum membaca penjelasan sebelumnya bisa klik "Tutorial DNS Di Linux - Part 1" dan "Tutorial DNS Di Linux - Part 2". Saya ingatkan kembali ada baiknya anda mengerti terlebih dahulu mengenai penjelasan-penjelasan sebelumnya sebelum anda memasuki konfigurasi DNS di Linux. Setelah postingan ini saya akan lanjutkan dengan tutorial konfigurasi DNS di Linux.

Seperti yang disebutkan sebelumnya, DNS merupakan sistem yang terdistribusi dengan setiap server DNS hanya bertanggung jawab terhadap domain yang diwakilinya. Lalu pertanyaan berikutnya muncul, siapa yang bertanggung jawab untuk menyatukan semua server DNS sehingga server DNS tersebut mengetahui keberadaan server lainnya? Bagaimana server DNS tersebut dapat menghubungi server yang tepat untuk meminta jawaban atas host tertentu? Jawabannya terletak di sistem pendelegasian yang dipakai oleh DNS.

Semua server DNS mengetahui server root. Server root bertanggung jawab terhadap domain level puncak (top level domain/TLD) atau zona . (titik) dan menyimpan catatan alamat server yang bertanggung jawab terhadap domain com, edu, org, de, jp, id dan semua server TLD. Server TLD ini kemudian bertanggung jawab terhadap domain TLD-nya masing-masing, dan menyimpan catatan untuk semua server yang bertanggung jawab terhadap TLD level kedua dan begitu seterusnya sampai domain level terbawah.

Sebagai contoh, server DNS TLD id akan menyimpan semua catatan server yang bertanggung jawab terhadap domain level kedua, yaitu go.id, co.id, or.id atau web.id dan semua host yang ada di domain id. Server DNS go.id kemudian menyimpan semua catatan server yang bertanggung jawab terhadap domain level ketiga seperti bppt.go.id.

Server DNS bppt.go.id kemudian menyimpan semua catatan host yang berada dibawah domain bppt.go.id ataupun semua server DNS yang merupakan subdomain dari bppt.go.id. Pada prinsipnya setiap domain dapat mendelegasikan subdomainnya kepada server lain dan server tersebutpun dapat mendelegasikan sub-domainnya kepada server lain. Sistem pendelegasian inilah yang menyatukan semua server DNS ke dalam sistem yang saling terkait.

Sebagai contoh misalkan host ns1.bppt.go.id ingin mengetahui alamat IP dari host mail.admin.web.id. Host ns1.bppt.go.id tidak mengetahui apapun tentang admin.web.id, maka ns1 akan mengirimkan permintaan ke server root. Server root kemudian akan memberikan alamat dari server DNS com dan mempersilahkan ns2.bppt.go.id untuk bertanya langsung kepada server com.

Host ns1.bppt.go.id kemudian menanyakan alamat mail.admin.web.id kepada server DNS .com. Jika server DNS com ini tidak bersifat otoritatif terhadap domain admin.web.id, maka server DNS com akan memberikan alamat dan server DNS yang bertanggung jawab terhadap admin.web.id

Host ns1.bppt.go.id kemudian kembali bertanya alamat host mail.admin.web.id kepada server DNS admin.web.id. Namun kali ini pertanyaan tersebut akan memberikan jawaban alamat dari host mail.admin.web.id karena server DNS admin.web.id merupakan server yang bertanggung jawab terhadap domain admin.web.id dan memiliki catatan dari host mail.admin.web.id. Server ns.admin.web.id kemudian memberikan alamat dari mail.admin.web.id kepada host ns1.bppt.go.id.

Tentu saja selama melakukan pertanyaan berjenjang tersebut kepada server DNS lainnya. host ns1.bppt.go.id yang juga merupakan server DNS yang bertanggung jawab terhadap domain bppt.go.id menyimpan jawaban dari semua jenjang alamat server tersebut dan tentu saja alamat dari host yang pernah ditanyakan kedalam cachenya. Hal ini untuk mempersingkat proses permintaan selanjutnya. Sehingga tidak perlu melakukan permintaan dari server root berjenjang ke server DNS dibawahnya.

Semoga Bermanfaat,
Salam penguin! :)

Saturday, September 21, 2013

Friday, September 20, 2013

Tutorial DNS Di Linux - Part 2 - SERVER CACHE VS OTORITATIF

Halo teman-teman, ketemu lagi di blog Tutorial Linux Ubuntu Berbahasa Indonesia. Sebelumnya saya sudah membahas mengenai pengenalan DNS Server di Linux pada postingan ini. Pada postingan ini saya akan melanjutkan mengenai pembahasan tentang Tutorial DNS Server Di Linux. Seperti yang saya bicarakan di postingan sebelumnya, bahwa sebelum anda mempelajari konfigurasi DNS Server Di linux, saya sarankan anda untuk memahami dulu setiap element yang ada pada service ini. Baiklah kita mulai pembahasannya. 

Server cache VS Otoritatif
Server DNS memiliki 2 fungsi utama, yaitu sebagai server nama otoritatif dan sebagai resolver / cache. DNS yang berfungsi sebagai serer nama berarti server DNS tersebut akan menjawab pertanyaan mengenai domain yang diwakilinya. Sebagai contoh, server DNS admin.web.id hanya bertanggung jawab atas penerjemahan nama host ke alamat IP dari host yang berada dibawah domain admin.web.id weperti abc.admin.web.id, mail.admin.web.id dan sebagainya.

Server DNS ini bersifat otoritatif terhadap domain admin.web.id dalam arti akan menjawab pertanyaan untuk domain admin.web.id dan juga pada saat yang sama bersifat non-rekursif berarti server tidak akan menjawab permintaan yang ditujukan bukan untuk domain yang diwakilinya.

Fungsi server DNS yang kedua adalah sebagai resolver/cache. Server DNS jenis ini hanya akan meneruskan permintaan ke server DNS yang lain dan menyimpan jawaban atas permintaan ke server DNS yang lain dan menyimpan jawaban atas permintaan tersebut di cachenya. Berlawanan dengan server otoritatif yang bersifat non-rekursif, server jenis ini bersifat rekursif yang akan menjawab permintaan  atas domain apapun.

Yang perlu diperhatikan dalam mendesain server DNS adalah, hendaknya kita memisahkan antara server DNS yang berfungsi sebagai server otoritatif dan server cache. kebanyakan server DNS berfungsi baik sebagai server nama otoritatif dan juga sebagai server cache. Lalu mengapa kita perlu memisahkan kedua fungsi tersebut kedalam 2 server DNS yang berbeda?

Ada 2 keuntungan jika kita memisahkan kedua fungsi tersebut dan keduanya berhubungan dengan masalah keamanan. Pertama adalah membuat server DNS anda lebih dapat diandalkan dari perspektif ketersediaan layanan, Jika anda menggabungkan kedua fungsi server tersebut maka jika misalkan terjadi serangan DoS terhadap server DNS anda, maka anda akan mengalami kegagalan atas kedua fungsi tersebut. Server DNS anda akan gagal menjadi server otoritatif terhadap domain anda dan juga gagal melayani permintaan untuk meresolusi domain lain dari klien anda.

Kedua, pemisahan fungsi akan membuat hacker yang berhasil menguasai server DNS anda hanya menguasai salah satu fungsi tersebut, tetapi tidak keduanya. Sehingga memisahkan kedua fungsi tersebut dapat membatasi kemungkinan kedua fungsi server DNS anda dapat dikuasai dengan satu serangan saja.

Dalam membuat server DNS kita juga harus memperhatikan dimana akan kita letakkan server DNS yang berfungsi sebagai server otoritatif dan server cache. Server nama otoritatif hendaknya kita letakkan di dalam DMZ dan melayani langsung permintaan dari internet, tetapi server cache hendaknya diletakkan didalam jaringan lokal, atau DMZ dan tidak terekspos secara langsung dari internet. Hal ini dilakukan agar server cache terlindung dari akses langsung internet.

Baiklah teman-teman, saya cukupkan sampai disini dulu supaya anda bisa memahami betul mengenai kedua fungsi server tersebut. Topik selanjutnya adalah mengenai Delegasi yang akan saya lanjutkan di postingan yang berbeda. Mengapa demikan? saya pikir, jika artikel itu terlalu panjang akan sulit dicerna dan dipahami. Jadi saya akan menerapkan metode tutorial yang sedikit-sedikit namun memberikan inti dari materi supaya lebih dipahami.

Semoga bermanfaat,
Salam penguin! :)

search result


Friday, September 13, 2013

Tutorial DNS Di Linux - Part 1

Halo teman-teman, lama sekali rasanya tidak bertemu di blog Tutorial Linux Ubuntu Berbahasa Indonesia. Blog ini mulai berkarat jika saya lihat, karena belakangan ini saya sangat sibuk dengan pekerjaan-pekerjaan saya. Saya sampai lupa untuk berbagi pengalaman dengan anda-anda disini :D
Melihat antusias dari statistik pengunjung ke blog ini, saya melihat ternyata cukup banyak yang berkunjung. Jadi sebisa mungkin saya akan mulai intens lagi menulis di blog ini disela-sela waktu luang saya. Cukup disayangkan bukan jika saya tidak melanjutkannya :D
Baiklah, diartikel ini saya akan membahas DNS. Sebenarnya sudah sejak lama saya ingin menulis mengenai DNS, tapi pembahasan mengenai DNS ini tidak akan cukup untuk satu kali postingan. Karena saya harap anda bisa mengerti benar tentang cara kerja DNS sebelum memasuki fase tutorial-nya nanti.

DNS dapat dianalogikan sebagai buku telepon namun didalam jaringan internet dan jaringan intranet. DNS berfungsi sebagai peta untuk nama host ke alamat IP dan sebaliknya. DNS menyediakan layanan untuk aplikasi dan host untuk mencari alamat IP dari suatu nama host yang ingin dihubunginya. Sederhananya anda bisa membayangkan buku telepon di ponsel anda, bagaimana kita memperoleh nomor seseorang dan anda memberikan nama untuk nomor tersebut supaya mempermudah ketika anda akan menghubungi orang tersebut tanpa harus menghapal nomor. Begitu juga dengan DNS, DNS menyimpan berbagai macam nama host dan alamat IP nya. Jika salah satu elemen tersebut tidak ada pada DNS maka fungsi DNS tidak akan berjalan sebagaimana mestinya. Ketika seseorang mengakses sebuah website dengan nama domain www.sebuahweb.com sebenarnya dia tidak secara langsung terhubung kepada website tersebut, tanpa sepengetahuan mereka sebenarnya trafik tersebut akan mampir terlebih dahulu kepada DNS, lalu DNS yang menyimpan alamat IP website tersebut langsung mengarahkan trafik tersebut kepada alamat IP nya.

Di Indonesia, PANDI (Pengelola Nama Domain Di Indonesia) adalah server DNS pusat yang menyimpan data host diseluruh Indonesia. Simpel-nya, misalnya ketika anda akan mengakses website sebuah perusahaan besar, misalnya www.provider.com, sebenarnya trafik anda akan diarahkan kepada PANDI terlebih dahulu. Lalu PANDI akan mencari alamat IP untuk domain provider.com tersebut, setelah PANDI menemukan alamat IP website tersebut maka trafik anda akan secara otomatis diarahkan ke alamatnya. Banyak dari Nama domain mempunyai sub domain, secara global PANDI hanyalah menyimpan data nama domain dengan alamat IP nya tetapi tidak menyimpan alamat sub domain. Sub domain akan tersimpan pada server DNS kita provider.com tadi, mereka tentunya memiliki banyak server yang memiliki nama host yang berbeda-beda seperti misalnya www.provider.com, pelayanan.provider.com, marketing.provider.com,dll.

Ketika trafik anda terarah kepada pelayanan.provider.com, DNS di PANDI hanya akan mencari nama domain yaitu provider.com, jika ditemukan maka trafik akan diarahkan kealamatnya. Selanjutnya adalah DNS provider.com mencari nama host "pelayanan" di dalam database mereka. Dalam waktu yang sangat singkat maka anda akan melihat halaman pelayanan.provider.com

Sebelum memasuki tutorial konfigurasi DNS di linux yang akan saya berikan pastikan anda mengerti cara kerja DNS terlebih dahulu, supaya anda tidak mempelajarinya dengan tanggung. Dalam DNS ada beberapa istilah dan konsep yang pelu dimengerti sebelum kita membahas secara rinci konfigurasi DNS seperti otoritatif, rekusif dan delegasi.

Nah sampai disini dulu ya, akan saya lanjut secepatnya. Karena sebentar lagi saya harus bertemu seseorang :D (bukan kencan loh) :p
Saya sarankan jika anda ingin mengikuti perkembangan blog ini, sebaiknya anda berlanganan saja. Supaya jika saya melanjutkan tulisan saya, maka anda akan diberitahu via email. Itu akan memudahkan anda untuk belajar bersama saya. Tapi tidak memaksa sih, semuanya saya kembalikan lagi kepada anda :D
Baiklah, saya mohon pamit dulu. 

Salam Penguin! :)