Senin, 11 Januari 2016

DNS Server
A. Dasar Teori
DNS (Domain Name System) adalah sebuah sistem yang menyimpan informasi tentang nama host maupun nama domain dalam bentuk basis data tersebar (distributed database) di dalam jaringan komputer, misalkan: Internet.
        DNS menyediakan alamat IP untuk setiap nama host dan mendata setiap server transmisi surat (mail exchange server) yang menerima surat elektronik (email) untuk setiap domain.
DNS adalah (Domain Name System) yang juga memiliki arti untuk mengidentifikasi setiap komputer sebagai titik dalam suatu jaringan Internet yang menggunakan bantuan sistem protokol internet adress untuk menerjemahkan dari suatu nama domain ke IP dan begitu juga sebaliknya.
      Domain Name System ini merupakan sistem penamaan hirarkis yang nantinya didistribusikan untuk suatu komputer, jasa, atau sumber daya terhubung ke Internet maupun jaringan pribadi. DNS biasanya digunakan sebuah Layanan Nama Domain untuk menyelesaikan permintaan untuk nama-nama website menjadi alamat IP untuk tujuan menemukan layanan komputer serta perangkat di seluruh dunia. Sekedar informasi, Domain Name / nama domain adalah salah satu komponen penting dari fungsi Internet yang sering kita gunakan ini.
      Menurut Blogger Ecgalery, Sebelum dipergunakannya DNS, jaringan komputer menggunakan HOSTS files yang berisi informasi dari nama komputer dan IP address-nya. Di Internet, file ini dikelola secara terpusat dan di setiap loaksi harus di copy versi terbaru dari HOSTS files, dari sini bisa dibayangkan betapa repotnya jika ada penambahan satu komputer di jaringan, maka kita harus copy versi terbaru file ini ke setiap lokasi. Dengan makin meluasnya jaringan internet, hal ini makin merepotkan, akhirnya dibuatkan sebuah solusi dimana DNS di desain menggantikan fungsi HOSTS files, dengan kelebihan unlimited database size, dan performace yang baik. 
         DNS adalah sebuah aplikasi services di Internet yang menerjemahkan sebuah domain name ke IP address. Sebagai contoh, www untuk penggunaan di Internet, lalu diketikan nama domain, misalnya: yahoo.com maka akan di petakan ke sebuah IP mis 202.68.0.134. Jadi DNS dapat di analogikan pada pemakaian buku telepon, dimana orang yang kita kenal berdasarkan nama untuk menghubunginya kita harus memutar nomor telepon di pesawat telepon. Sama persis, host komputer mengirimkan queries berupa nama komputer dan domain name server ke DNS, lalu oleh DNS dipetakan ke IP address.
Prinsip Dasar DNS
Domain Name System (DNS) adalah distributed database system yang digunakan untuk pencarian nama komputer (name resolution) di jaringan yang mengunakan TCP/IP (Transmission Control Protocol/Internet Protocol). DNS biasa digunakan pada aplikasi yang terhubung ke Internet seperti web browser atau e-mail, dimana DNS membantu memetakan host name sebuah komputer ke IP address. Selain digunakan di Internet, DNS juga dapat di implementasikan ke private network atau intranet. DNS dapat disamakan fungsinya dengan buku telepon. Dimana setiap komputer di jaringan Internet memiliki host name (nama komputer) dan Internet Protocol (IP) address. Secara umum, setiap client yang akan mengkoneksikan komputer yang satu ke komputer yang lain, akan menggunakan host name. Lalu komputer anda akan menghubungi DNS server untuk mencek host name yang anda minta tersebut berapa IP address-nya. IP address ini yang digunakan untuk mengkoneksikan komputer anda dengan komputer lainnya.
B. TUGAS PENDAHULUAN
1. Jelaskan fungsi DNS
1.       Menerjemahkan nama-nama host (hostnames) menjadi nomor IP (IP address) ataupun sebaliknya, sehingga nama tersebut mudah diingat oleh pengguna internet.
2.       Memberikan suatu informasi tentang suatu host ke seluruh jaringan internet. DNS memiliki keunggulan seperti:
·         Mudah, DNS sangat mudah karena user tidak lagi direpotkan untuk mengingat IP address sebuah komputer cukup host name (nama Komputer).
·         Konsisten, IP address sebuah komputer boleh berubah tapi host name tidak berubah. Contoh:
-          unsri.ac.id mempunyai IP 222.124.194.11, kemudian terjadi perubahan menjadi 222.124.194.25, maka disisi client seolah-olah tidak pernah ada kejadian bahwa telah terjadi perubahan IP.
-          Simple, user hanya menggunakan satu nama domain untuk mencari baik di Internet maupun di Intranet.
2. Jelaskan cara installasi dan konfigurasi DNS di sisi client dan sisi server
- DNS client
Supaya Linux dapat mengenali nama-nama site di Internet seperti linux.or.id atau nama host di jaringan LAN harus ada suatu mekanisme untuk mengubah nama-nama tersebut kedalam bentuk yang dikenali oleh komputer yaitu alamat IP misalnya linux.or.id diubah menjadi 64.29.24.175 . Mekanisme ini disediakan oleh Name Resolver yang terdapat dalam standard library linux. Tentu saja agar mekanisme ini bekerja dengan baik diperlukan beberapa konfigurasi.
  /etc/hosts

File /etc/hosts berisi pemetaan nama host dengan alamat IPnya dengan format sebagai berikut:
IP nama.domain.lengkap alias
Perlu diperhatikan bahwa jumlah spasi atau tab antara masing-masing kolom tidak berpengaruh, yang penting ada pemisahnya baik spasi atau tab.
Contoh /etc/hosts
127.0.0.1                                              localhost.intra.aki     localhost
192.168.1.100                                     linux.intra.aki         linux
192.168.1.3                                         cctv.intra.aki          cctv

Setting /etc/hosts melalui Linuxconf
Selain mengedit secara langsung file /etc/hosts anda juga bisa mengeditnya melalui linuxconf.
1.      Jalankan linuxconf
2.      Pilih Config -> Networking -> Misc -> Information about other hosts
3.      Di dialog tersebut anda bisa menambah (Add) atau mengedit atau menghapus entry tertentu dengan menekan enter pada entry yang ingin diubah atau dihapus



Kelemahan /etc/hosts
Mekanisme /etc/hosts mempunyai beberapa kelemahan seperti:
-       Tidak scalable untuk jaringan yang mempunyai banyak host
-       Host yang berbeda bisa mempunyai isi /etc/hosts yang berbeda sehingga bisa tidak seragam dan menyulitkan peng-update-an
Karena itulah biasanya /etc/hosts hanya digunakan untuk mendaftarkan alamat IP lokal saja yaitu untuk alamat IP loopback (127.0.0.1) dan alamat IP ethernet card (jika ada).

/etc/resolv.conf

File /etc/resolv.conf adalah file konfigurasi utama bagi Name Resolver. Formatnya sederhana yaitu file text dengan satu keyword per baris. Ada tiga keyword yang biasa digunakan yaitu:
-       domain
menentukan nama domain lokal
-       search
menentukan daftar dari nama-nama domain yang digunakan untuk mencari nama host
-       namaserver
keyword ini yang bisa digunakan beberapa kali, menentukan alamat IP dari server DNS yang digunakan oleh Name Resolver

Contoh /etc/resolv.conf

domain intra.aki
search intra.aki cbn.net.id
nameserver 202.158.3.6
nameserver 202.158.3.7
Perlu diperhatikan bahwa semua domain yang terdapat dalam baris search akan dicari untuk setiap nama host yang di-resolve. Sehingga jika anda ingin telnet ke host cctv maka untuk mendapatkan alamat IP untuk host cctv dicari alamat IP untuk cctv.intra.aki pertama kali, lalu cctv.cbn.net.id dan terakhir cctv. Begitupun jika untuk linux.or.id maka akan dicoba dulu linux.or.id.intra.aki, lalu linux.or.id.cbn.net.id dan terakhir linux.or.id. Sebaiknya anda tidak menaruh terlalu banyak domain di dalam baris search karena akan memakan waktu untuk mencari domain-domain tersebut.
Biasanya yang diperlukan hanyalah keyword nameserver karena keyword domain mengambil default dari nama host dan keyword search defaultnya berisi isi dari keyword domain.
Setting /etc/resolv.conf melalui Linuxconf
Untuk mengedit /etc/resolv.conf menggunakan linuxconf jalankan langkah berikut :
1.        Jalankan linuxconf
2.        Pilih Config -> Networking -> Client tasks-> Name server specification (DNS)
3.        Di dialog tersebut anda bisa mengedit default domain, nameserver ke-1 s/d 3, search domain ke-1 s/d 6 dan apakah menggunakan DNS untuk operasi normal
/etc/host.conf
File ini mengatur cara kerja dari Name Resolver defaultnya adalah
order hosts,bind
multi on


Konfigurasi ini mengatur agar Name Resolver untuk mencari nama host di /etc/hosts dahulu sebelum bertanya ke nameserver dan mengembalikan semua alamat yang ditemukan di file /etc/hosts bukan cuma yang pertama saja.

Tool untuk Testing DNS
Untuk mengetes Setting DNS Client, anda bisa menggunakan perintah host dan nslookup. Misalnya:
[zakaria@linux zakaria]$ host cctv
cctv.intra.aki has address 192.168.1.3

[zakaria@linux zakaria]$ nslookup linux
Server:  localhost
Address:  127.0.0.1
Name:    linux.intra.aki
Address:  192.168.1.100
Untuk nslookup anda juga bisa melakukan test secara interaktif contohnya:

[zakaria@linux zakaria]$ nslookup
Default Server:  localhost
Address:  127.0.0.1
> linux.or.id
Server:  localhost
Address:  127.0.0.1
Non-authoritative answer:
Name:    linux.or.id
Address:  64.29.24.175
> yahoo.com
Server:  localhost
Address:  127.0.0.1



- DNS server
1.Installasi bind9
2. Masuk ke folder bind9 cd /etc/bind
3. Buka named.conf.local dengan perintah  nano named.conf.local
4. Isikan konfigurasi berikut
            

5. Copy kan db.local dan db.127 yang ada di defaultnya bind
cp db.local db.home
cp db.127 db.resolver



6. nano db.home ganti nama localhost dengan nama domain anda dan tambahkan beberapa peraturan berikut
7. Masuk ke db.resolver dengan cara nano db.resolver
ganti nama localhost dengan nama domain anda dan tambahkan beberapa peraturan berikut
8.  Restart bind9
3. Apa yang anda ketahui tentang master dan slave DNS
- Master DNS adalah dns server yang memegang daftar lengkap dari sebuah domain yang dikelolanya. Misalnya server admin.wordpress.com memegang otoritas penuh atas domain wordpress.com. 
- Slave DNS adalah backup dari primary server, apabila primary server crash atau untuk mempermudah pendelegasiannya. Secondary server juga memuat daftar lengkap dari sebuah domain, sama seperti primary (misalnya: mufari.wordpress.com)


C. Percobaan
Percobaan 1 : DNS Server
  1. lakukan login sebagai root pada terminal #su
Analisa : Masuk ke root terminal mengunakan user administrator. Untuk melakukan perintah yang berhubungan dengan sistem dll.
  1. lakukan installasi paket tersebut dengan perintah #apt-get install bind9
Analisa : Menginstall paket DNS yaitu bind9, paket ini yang digunakan sebagai konfigurasi untuk membuat DNS Server.
  1. setelah melakukan installasi terbentuk konfigurasi file yang ada di /etc/bind/ dan baca file named.conf, named.conf.local, dan named.conf.options. Berikut ini adalah isi file named.conf, tidak perlu merupakan perubahan terhadap file ini.


Analisa : Membuka file yang digunakan sebagai konfigurasi pada DNS.
Analisa : Menambahkan named.conf.options, named.conf.local, sebagai acuan / include pada named.conf.
Selanjutnya terdapat file named.conf.local, awalnya isi file ini masih kosong, isi dengan zona domain yang akan kita buat serta reverse domain sbb (dalam hal ini kita akan membuat domain kelompok3.com) :
Analisa : Menambahkan zona domain yaitu kelompok3.com sebagai domain name. setelah intu menambahkan pula alamat DNS server dengan mode arpa.
file named.conf.options berisi option tambahan pada domain kita, tambahkan DNS utama kita disini sehingga memungkinkan client bisa koneksi ke internet:
Analisa : Menambahkan IP yang digunakan sebagai forwarders. Yang digunakan sebagai jembatan atau penghubung dari DNS Server.
selanjutnya siapkan dua file sesuai isi file yang ada pada file named.conf.local yaitu /cache/bind/db.kelompok3 dan /var/cache/bind/db.reverse. Pindah ke direktori /var/cache/bind dan buat 2 file: db.kelompok3.com dan db.reverse, sesuaikan contoh dibawah dengan konfigurasi no_ip komputer anda dan nama domain yang anda buat.
Isikan file db.kelompok3 sbb:
Analisa : Menambahkan konfigurasi dari db.kelompok3 yang akan diproses oleh named.conf, konfigurasi ini berupa konfigurasi untuk localhost. Dan juga menambahkan alamat untuk web, email, file server, dan juga proxy server.
 Isikan file db.reverse sbb:
Analisa : Menambahkan konfigurasi db.reverse (reverse mode) .
selanjutnya edit file /etc/resolv.conf ubah sesuai dengan konfigurasi komputer anda
Analisa : Menambahkan / mengganti dari domain name server dari DNS Server. Hal ini dilakukan agar saat user mencari DNS Server maka akan dapat diketahui / dikenali.
lakukan restart pada komputer anda      #/etc/init.d/bind9 restart               

Analisa : Dilakukan restart untuk memulai DNS Server ulang dari proses pertama setelah konfigurasi selesai dilakukan.
  1. Lakukan testing hasil percobaan installasi dan konfigurasi paket yang sudah dilakukan dengan command berikut ini. Jika tidak ada error berarti berhasil.
#nslookup
Analisa : Nslookup dilakukan untuk mencari Server dan alamatnya dengan menggunakan domain name. terlihat bahwa DNS Server dari kelompok3.com dapat dikenali / ditemukan dengan nama : kelompok3.com dan alamat : 10.252.133.140




Percobaan 2 : Membangun dua atau lebih domain pada sebuah DNS Server
1. Melakukan edit pada file named.conf.local
Ket: mengikutsertakan file virtualdomain.conf
2.  Membuat file virtualdomain.conf
3. Isikan nama domain yang akan dibuat misalnya admin.info dan jarkom.info
4. Membuat dua file domain tersebut  dengan menyalin dari file domain yang sudah ada misalnya db.kukuh dan melakukan restart bind9
5.         Lakukan testing dengan ping ke domain baru

Percobaan 3 : DNS Slave
DNS slave sebagai DNS cadangan jika DNS utama kita terjadi kerusakan, akan terjadi saling transfer informasi antara DNS utama dan DNS slave. Langkah-langkah membangun DNS slave adalah sebagai berikut:
1.    Menyiapkan server DNS baru, DNS server lama tetap jalan. Konfigurasi DNS slave. Lakukan installasi DNS seperti langkah-langkah yang sama seperti DNS server. Kita harus menginstall bind9 terlebih dahulu baru kemudian dilakukan konfigurasi DNS Slave.
2.    Edit dan tambahkan konfigurasi untuk forward dan reverse pada file named.conf.local pada server DNS baru
3.    Restart daemon bind9 pada server DNS baru
4.    Pada DNS master sebaiknya di reboot setelah DNS slave selesai di setting


D. Daftar Pertanyaan
- Berikan kesimpulan praktikum yang anda lakukan
Kesimpulan
Konfigurasi file forward yang digunakan untuk menerjemahkan dari dns ke ip address itu sangat wajib dibuat. Walaupun konfigurasi file reverse yang digunakan untuk konversi ip address ke dns itu bersifat optional tetapi alangkah baiknya kita mengkonfigurasi file tersebut. DNS slave berfungsi untuk menjadi cadangan  ketika DNS master rusak.

- Jelaskan apa manfaat pada DNS Master dan DNS Slave
Manfaat dns master adalah memegang daftar lengkap dari sebuah domain yang dikelolanya sedangkan dns slave adalah sebagai backup dari primary server, apabila primary server crash atau untuk mempermudah pendelegasiannya.





by : Muhammad Robihul Mufid 2110131003
       Johan Zakaria                       2110131005
       Silvia Rulia Candra              2110131021

Lecturer : Fery Astika Saputra, S.T


Proxy Server

Dasar Teori
Anda ingin membuat user-user anda dapat mengakses Internet. Sayangnya, anda hanya mempunyai 1 komputer saja yang terhubung dengan Internet menggunakan modem. Salah satu solusinya, anda harus membuat sebuah Server Proxy yang dapat mengatur koneksi Internet dari setiap komputer dalam jaringan anda. Dengan Squid, anda dapat mengatur user mana saja yang berhak menggunakan fasilitas internet sehingga jalur Internet tidak menjadi padat. Jika cara tersebut dianggap keras, cara tersebut juga dapat diperlonggar dengan pengaturan hari dan jam-jam tertentu untuk kelompok user yang berbeda.
Transparan cache dinamai demikian karena alat tersebut bekerjanya dengan menggunakan jalur jaringan secara transparan ke browser. Dalam model ini ,sirkit pendek cache, proses retrieval, apaka h file yang dikehendaki ada dalam cache. Transparan cache berguna khususnya untuk ISPs karena mereka tak memerlukan modifikasi browser set up. Trasparan cache juga merupakan cara yang termudah untuk menggunakan sebuah cache secara internal pada sebuah jar ingan , karena trasparan cache tak menggunakan koordinasi yang terperinci dengan cache lainnya.

Apakah trasparan cache itu ?

Penjelasan istilah trasparan cache dan trasparan proxy tergantung pada contohnya, tapi kami mengasumsikan konteks disini yaitu HTTP Proxy/cache dengan trasparan hijacking dari port 80 yang mana merupakan jalur HTTP yang gagal di internet. Perbedaannya yaitu bahwa cache memasukkan cache, tapi proxy hanya proxy-proxy tanpa caching .Trasparan Overload mempunyai arti yang berbeda-beda tergantung situasinya . Kata tersebut dapat diartikan setup yang membajak jalur port 80 dimana klientnya mencoba untuk pergi ke server yang lain, juga bisa diartikan sebuah trasparan proxy yang tak dapat mengubah arti / isi permintaan . tak ada alat seperti trasparan proxy , hanya semi trasparan dan tak ada alat seperti trasnparan cache. Squid dapat dikonfigurasikan untuk bertindak secara trasparan. Dalam mode ini klient tak disyaratkan untuk mengkonfigurasikan browser mereka untuk mengakses cache tapi squid akan menjemput paket yang tepat danpermintaan cache secara transparan. Hal yang bisa memecahkan masalah terbesar dengan menggunakan caching : menganjurkan para pemakai untuk menggunakan cache server.

Apakah squid itu ?

Squid adalah sebuah penampilan yang bagus bagi dari server cacking proxy untuk klient web, pendukung FTP, gopher dan obyek data HTTP. Tak seperti software cacking tradisional , squid menangani semua permintaan dalam bentuk singgle , non bloking , proses I/O driven. Squit menyimpan data meta dan khususnya obyek panas yang tersembunyi dalam RAM, menyembunyikan DNS lookups, mendukung DNS lookups yang tak memihak, dan cacking negatif dari permintaan yang digagalkan . Squid mendukung SSL,kontrol akses yang extensif dan loging permintaan penuh. Dengan menggunakan ukuran berat internet cache protokol, squid dapat disusun dalam sebuah hirarki untuk pengamanan bandwidth extra squid terdiri dari sebuah squid program main server, sebuah dnsserver program lookups Domain Name Systim, beberapa program untuk menulis kembali permintaan-permintaan dan keoutentikan penampilan , dan beberapa menegemen dan alat-alat klient.

Tugas Pendahuluan (ndak pake)
Laporan sistem authentikasi pada proxy menggunakan metode basic, digest dan ntlm

Hasil Percobaan dan Analisa Hasil Percobaan
1.      Installasi proxy (squid)
Sebelum melakukan percobaan, sebaiknya lakukan pengecekan terhadap sistem operasi yang kita gunakan
-          Cek versi dari sistem operasi

-          Installasi squid

2.      Konfigurasi dan ujicoba proxy (ACL = Access Control List)
-          Edit konfigurasi squid

-          Kemudian cari baris yang bertuliskan :

-          Kemudian tambahkan script berikut setelah baris tersebut

-          Kemudian simpan lalu restart daemon squid


-          Kemudian ujicoba pada browser
3.      Konfigurasi dan ujicoba proxy (auth – htpasswd)
-          Membuat file password

Karena file pertama kali dibuat maka pada perintah htpasswd akan diberikan opsi –c tetapi jika file password sudah ada maka opsi –c tidak diperlukan lagi
-          Edit file squid.conf

-          Cari Baris yang bertuliskan dibawah ini
-          Kemudian tambahkan script berikut setelah tulisan tadi
-          Kemudian restart daemon squid
-          Kemudian ujicoba pada browser, tetapi sebelumnya konfigurasi browser terlebih dahulu untuk menggunakan proxy server yang telah dibuat.
-          Pada saat kita akan mengakses sebuah site, maka akan muncul authentikasi seperti gambar berikut
Daftar Pertanyaan
1.        Bagaimana struktur penyimpanan object pada squid? Pada direktori mana dan strukturnya seperti apa?
Buka direktori berikut:
/var/spool/squid
Pada direktori tersebut, Ada direktori-direktori yang dibuat untuk menyimpan, yang berjumlah 16 yang digunakan untuk menyipan.
Pada tiap-tiap direktori tersebut, terdapat direktori lagi yang digunakan untuk menyimpan, dengan jumlah 256.
Dimana pada tiap direktori tersebut mengandung file-file yang digunakan untuk menyimpan objek yang sudah ditampung megguakan cache.

Di dalam setiap file terdapat:
2.      Bagaimana menentukan objek dapat di-cache refresh atau tidak?
Ada beberapa hal penting dalam HTTP Proxy Caching yang dapat menunjukan fresh / barunya suatu data (update), yaitu :
-          Cek Expires  atau max-age header
-          Cek Last-Modified/ Date header
-          Cek “absolute freshness limit
-          Cek validasi pada “cache.config_ file
Contohnya :
A.                  Tampilan pada folder var/spool/squid 00 00

B.                  Setelah itu dibuka website yang telah dipilih
C.                  Lihat /var/spool/squid 00 00 lagi
D.                 Contoh isi log file
E.  Coba Buka website lagi

F. Lihat List log lagi
Analisa :
Log data / cache pada HTTP Proxy dapat muncul atau terbuat saat website diakses, isi / content pada website tersebut disimpan sesuai dengan peraturan – peraturan yang telah ditentukan oleh Proxy sendiri.. untuk mengecek cache tersebut bisa dilihat pada cache_dir yang secara default terdapat pada /var/spool/squid

Kesimpulan

Proxy Server digunakan untuk menjadi sebagai wali dari website yang akan diakses, website yang akan diakses biasanya difilter sesuai dengan peraturan – peraturan yang telah dibuat pada setting proxy.. lebih jauhnya lagi Proxy dapat digunakan sebagai transparent proxy agar filter dari proxy dapat digunakan lebih aman  rahasia.




by : Muhammad Robihul Mufid 2110131003
       Johan Zakaria                       2110131005
       Silvia Rulia Candra              2110131021
Lecturer : Fery Astika Saputra, S.T