This is default featured post 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Saturday, February 12, 2011

Fungsi dan Keandalan Dari Proxy

Sebagai istilah menyarankan, kata proxy itu sendiri artinya menjadi atas nama orang lain. Fungsi proxy juga dengan demikian sama. Mereka mengunjungi semua situs atas nama anda dan membuka jalan bagi spekulasi Anda. Semua proxy adalah substitusi untuk pengguna aktual dan server. Pengguna dan server disimpan anonim dan swasta. Semua proxy bertindak sebagai satu meter evaluasi untuk permintaan yang sedang dilakukan oleh klien dan server. Tujuan dari proxy adalah untuk membangun kembali semua permintaan dievaluasi di sisi outbound ke internet. Sebagai server dan pengguna merasa bahwa mereka berada di kontak, pada kenyataannya proxy adalah loop menghubungkan antara mereka.

Fungsi proxy dalam jaringan komputer adalah untuk menyediakan layanan sesuai permintaan klien atau surfer. Ada banyak jenis situs yang diblokir berdiri di jalan bagi non-intervensi. Namun setelah Anda membuat permintaan ke situs ini dapat memungkinkan anda untuk menjadi bagian dari itu. Tujuan dari proxy adalah untuk membuat ketersediaan ini tanpa mengungkapkan identitas Anda. Anda bisa sangat nyaman memiliki akses ke situs dan dapat memiliki informasi yang diperlukan untuk tujuan Anda.

Proxy adalah untuk menyediakan sumber daya untuk Anda dengan menghubungkan Anda ke server tertentu dan di sana dengan meminta layanan yang diperlukan atas nama peselancar, yang adalah Anda. Proxy opsional dapat mengubah permintaan atau tanggapan server untuk tujuan tersebut. Kadang-kadang ini sangat aktif dan melayani permintaan tanpa membuat kontak server tertentu. Jenis situasi ini mengarah pada 'cache' yang pertama mengirimkan permintaan ke server jauh untuk menyelamatkan semua informasi untuk kemudian kegunaan. Proxy yang baik akan membuat semua ini mudah aksesibilitas bagi Anda dan Anda akan mendapatkan layanan yang cepat dan handal dari mereka.

sumber : http://www.johns-company.com/index.php?lang=id&cat=395&month=2010-03&id=58816

Pengertian dan macam-macam protokol

Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras. Protocol digunakan untuk menentukan jenis layanan yang akan dilakukan pada internet.

  • HTTP (HyperText Transfer Protocol) adalah protokol yang dipergunakan untuk mentransfer dokumen dalam World Wide Web (WWW). Protokol ini adalah protokol ringan, tidak berstatus dan generik yang dapat dipergunakan berbagai macam tipe dokumen.
  • Gopher adalah aplikasi yang dapat mencari maklumat yang ada di Internet, tetapi hanya “text base” saja, atau berdasarkan teks.Untuk mendapatkan maklumat melalui Gopher, kita harus menghubungkan diri dengan Gopher server yang ada di Internet. Gopher merupakan protocol yang sudah lama dan saat ini sudah mulai di tinggalkan karena penggunaannya tidak sesedeharna HTTP.
  • FTP (File Transfer Protocol) adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan berkas (file) komputer antar mesin-mesin dalam sebuah internetwork. FTP merupakan salah satu protokol Internet yang paling awal dikembangkan, dan masih digunakan hingga saat ini untuk melakukan pengunduhan (download) dan penggugahan (upload) berkas-berkas komputer antara klien FTP dan server FTP. Pada umumnya browser-browser versi terbaru sudah mendukung FTP.
  • TCP/IP (Transmission Control Protocol/Internet Protocol) merupakan standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet.

Protokol Komunikasi

Pada TCP/IP terdapat beberapa protokol sub yang menangani masalah komunikasi antar komputer. TCP/IP merngimplemenasikan arsitektur berlapis yang terdiri atas empat lapis, diantaranya adalah :

  1. Protokol lapisan aplikasi : bertanggung jawab untuk menyediakan akses kepada aplikasi terhadap layanan jaringan TCP/IP. Protokol ini mencakup protokol Dynamic Host Configuration Protocol (DHCP), Domain Name System (DNS), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Telnet, Simple Mail Transfer Protocol (SMTP), Simple Network Management Protocol (SNMP), dan masih banyak protokol lainnya. Dalam beberapa implementasi stack protokol, seperti halnya Microsoft TCP/IP, protokol-protokol lapisan aplikasi berinteraksi dengan menggunakan antarmuka Windows Sockets (Winsock) atau NetBIOS over TCP/IP (NetBT).
  2. Protokol lapisan antar-host : berguna untuk membuat komunikasi menggunakan sesi koneksi yang bersifat connection-oriented atau broadcast yang bersifat connectionless. Protokol dalam lapisan ini adalah Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP).
  3. Protokol lapisan internetwork : bertanggung jawab untuk melakukan pemetaan (routing) dan enkapsulasi paket-paket data jaringan menjadi paket-paket IP. Protokol yang bekerja dalam lapisan ini adalah Internet Protocol (IP), Address Resolution Protocol (ARP), Internet Control Message Protocol (ICMP), dan Internet Group Management Protocol (IGMP).
  4. Protokol lapisan antarmuka jaringan : bertanggung jawab untuk meletakkan frame-frame jaringan di atas media jaringan yang digunakan. TCP/IP dapat bekerja dengan banyak teknologi transport, mulai dari teknologi transport dalam LAN (seperti halnya Ethernet dan Token Ring), MAN dan WAN (seperti halnya dial-up modem yang berjalan di atas Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), serta Asynchronous Transfer Mode (ATM)).

TIPS: 7 Langkah Untuk Mengamankan OpenSSH

Mengamankan OpenSSH dalam 7 langkah sederhana. Karena ssh adalah salah satu gerbang utama ke linux server Anda, jadi pastikan instalasi openssh Anda sudah aman.

Contoh-contoh yang diberikan dijalankan di linux Ubuntu.


Pilih dan gunakan password yang baik dan aman.

Password yang baik tidak selamanya harus rumit atau panjang sekali. Password yang terlalu rumit justru bisa-bisa membuat kita susah mengingatnya. Gunakanlah kombinasi angka, huruf dan sisipkan beberapa simbol pada password Anda.

Silahkan Anda kreasikan sendiri password yang baik dan aman untuk Anda. Ingat, jangan sekali-kali Anda membuat user: admin/admin, atau test/test (atau username/password lain yang sudah umum dan mudah ditebak) di server yang terhubung langsung ke Internet.

Larang user root untuk login melalui ssh.

Jika tidak ada keperluan khusus, set agar user root tidak bisa login melalui ssh.

Di Ubuntu, edit /etc/ssh/sshd_config, lalu cari baris PermitRootLogin yes (ini adalah konfigurasi default instalasi di Ubuntu), ubah menjadi seperti berikut:

PermitRootLogin no

Setelah itu, pastikan Anda restart service ssh.

sudo /etc/init.d/ssh restart

Batasi pengakses, hanya buka akses untuk IP atau network yang Anda percaya.

Anda bisa membatasi pengakses menggunakan tcpwrapper (hosts.allow, hosts.deny) atau menggunakan iptables.

Contoh penggunakan hosts.allow, hosts.deny untuk membatasi akses ssh hanya boleh dari ip 192.168.22.2 dan hanya untuk network 192.168.23.0/24.

Sunting berkas /etc/hosts.deny

sshd: all

Sunting berkas /etc/hosts.allow

sshd: 127.0.0.0/255.255.255.0
sshd: 192.168.22.2
sshd: 192.168.23.0/255.255.255.0

Untuk membuat rules serupa, menggunakan UFW di Ubuntu.

sudo ufw allow proto tcp from 127.0.0.0/24 to any port 22
sudo ufw allow proto tcp from 192.168.22.2 to any port 22
sudo ufw allow proto tcp from 192.168.23.0/24 to any port 22

Silakan Anda baca tulisan lain yang membahas lebih detail mengenai UFW.

Pasang DenyHosts.

Hampir dipastikan, setiap komputer yang terhubung ke Internet sekarang ini rentan terhadap serangan brute force. Jadi penyerang melakukan proses coba-coba login ke sistem dengan menebak username dan password. Si penyerang umumnya memiliki daftar kombinasi username dan password untuk dicobakan ke sistem yang akan diserang.

Dalam beberapa kasus proses coba-coba login ini bisa berhasil, terutama ketika dalam sistem itu ada user yang menerapkan password yang tidak aman (weak password).

Untuk mengurangi efek serangan brute force, Anda bisa menginstal aplikasi denyhosts. Di Ubuntu Anda bisa menginstalnya dari repositori main.

sudo apt-get install denyhosts

Anda mungkin ingin menyunting /etc/denyhosts.conf agar email notifikasi dikirim ke alamat email Anda. Caranya sunting file tersebut, lalu cari baris yang diawali dengan ADMIN_EMAIL, lalu ubah menjadi:

ADMIN_EMAIL = email.anda@domain.com

Konfigurasi lainnya Anda bisa tweak lagi, atau terima default saja (dalam kasus penulis, konfigurasi default sudah cukup baik).

Ganti default port.

Ini mungkin bukan konsep security yang benar-benar baik, tapi trik ini cukup efektif menghindari serangan dari script-script yang menscan ke port 22. Jadi jangan mengasumsikan instalasi openssh Anda sudah aman jika default port Anda ganti. Ini hanya trik untuk menghindari scan ataupun serangan dari cracker pemula.

Caranya, tinggal sunting berkas /etc/ssh/sshd_config, lalu cari baris Port 22, silahkan ganti ke port yang Anda inginkan. Misal,

Port 2222

Jangan lupa untuk merestart service ssh agar konfigurasi baru diterapkan ke sistem.

sudo /etc/init.d/ssh restart

Untuk selanjutnya, Anda bisa mengakses server via ssh ke port 2222. Jika menggunakan perintah ssh, kira-kira seperti berikut:

ssh 192.168.56.101 -l cecep -p 2222

Pasang sistem Port Knocking.

Mungkin dari sekian tips yang diberikan diartikel ini, memasang port knocking adalah tips yang paling rumit. Tapi tips ini cocok jika Anda memang benar-benar paranoid, tidak ingin membuka port 22 atau port lainnya untuk koneksi ssh, tapi Anda tetap ingin bisa mengakses server jika sewaktu-waktu Anda membutuhkan koneksi dari remote komputer.

Silahkan Anda pelajari seputar port knocking ini di website dokumentasi ubuntu.

Selalu update sistem Anda.

Sebetulnya ini adalah aspek pengamanan dasar. Setiap administrator baik di Linux, Windows atau OS lainnya harus rajin mengupdate sistemnya. Karena pada umumnya update terbaru bisa menutup dan memperbaiki celah keamanan yang sudah diketahui sebelumnya.

Di ubuntu, Anda bisa melakukannya dengan satu langkah mudah:

sudo apt-get update && sudo apt-get upgrade

OpenSSH Tunnel

Kali ini dalam seri tutorial openssh, kita akan belajar menggunakan tunnelling di openssh. Fungsi tunneling ini banyak, Anda bisa pakai misalnya untuk mem-by-pass firewall, atau akses server di remote LAN, mempercepat akses koneksi internet (dengan memanfaatkan bandwidth server remote), dan masih banyak lainnya.


Kita akan belajar menggunakan contoh-contoh saja. Biar bisa langsung mempraktekkannya dan sekaligus lebih mudah dalam menangkap idenya. Contoh-contoh dibawah dijalankan di desktop linux yang sudah terinstal openssh client.

Membuat SOCK Proxy

Caranya mudah, yang diperlukan adalah login dan password utk akses ssh di server remote, dan server remote memiliki akses internet (jadi kita bisa memanfaatkan koneksi internet tersebut). Caranya, buka terminal lalu Anda jalankan perintah berikut:

ssh -D 8080 cecep@222.111.123.123

Contoh di atas, kita membuat SOCK proxy di localhost pada port 8080, yang akan diforward via remote server 222.111.123.123.

Selanjutnya, adalah mengkonfigurasi firefox Anda agar menggunakan SOCK proxy yang baru saja dibuat.

Sock Proxy

Sekarang Anda bisa mengakses internet, melalui SOCK proxy dari openssh.

Mengakses Terminal Server Windows 2003 Server di Remote LAN

Misal, Anda memiliki Windows 2003 Server di Remote LAN. Server tersebut tidak bisa dikoneksi langsung dari internet. Tapi Anda bisa mengakses router di LAN tersebut via ssh.

IP router tersebut misalnya, 222.111.123.124, sedangkan IP Windows 2003 Server adalah 192.168.1.6, ok mari kita lihat bagaimana caranya. Seperti biasa buka terminal, dan jalankan perintah berikut:

ssh -L 3389:192.168.1.6:3389 cecep@222.111.123.124

Jadi formatnya adalah, ssh -L [port lokal]:[ip tujuan]:[port tujuan] [username]@[server perantara]. Setelah menjalankan perintah tersebut, kita bisa mengakses terminal server di remote LAN dengan mengakses terminal server di localhost (yang baru kita bua tadi tunnelnya).

rdesktop localhost

Setelah menjalankan perintah tadi di linux Anda (atau gunakan remote desktop client lainnya), Anda akan mendapatkan akses ke terminal server di server remote LAN tadi.

Mengakses Remote Squid Proxy via OpenSSH Tunnel

Cara yang sama bisa diterapkan juga disini. Yang Anda perlukan akses remote server. Jika misalnya squid proxy dijalankan di remote server tersebut, maka Anda buka tunneling seperti berikut.

ssh -L 3128:localhost:3128 cecep@222.111.123.125

Lalu tinggal set browser agar diarahkan ke proxy localhost port 3128. Settingannya seperti settingan http proxy biasa (ingat ini bukan SOCK proxy).

Mempercepat Akses Internet

Biasanya kalau menggunakan akses dial up, atau akses internet via GPRS atau modem 3G akses internet kita menjadi sangat-sangat lambat. Kalau kita memiliki akses ke remote server, dan remote server tersebut memiliki akses internet yang bagus kita bisa memanfaatkannya.

Caranya adalah memanfaatkan sistem kompresi di ssh, dan menggabungkannya dengan ssh tunnelling. Menggunakan contoh di bagian pertama,

ssh -C -D 8080 cecep@222.111.123.123

Ya, bedanya kita hanya perlu menambahkan opsi -C saja. Konfigurasi selanjutnya sama dengan cara lainnya.

Mengenal OpenSSH

Pada tulisan ini akan diperkenalkan secara singkat apa itu ssh, cara instalasi openssh server. Selain itu Anda juga akan berkenalan dengan beberapa client yang bisa digunakan untuk mengakses server Anda via ssh.


SSH adalah protokol jaringan yang memungkinkan proses pertukaran data antara dua perangkat jaringan, bisa dilewatkan dalam satu jalur yang aman. SSH umumnya digunakan di linux atau os unix lainnya untuk bisa mengakses akun shell di komputer remote.

SSH adalah pengganti telnet dan aplikasi remote shell lainnya. Kelemahan telnet adalah dalam proses pertukaran datanya tidak menggunakan jalur yang aman. Misalnya password dikirim dalam format text biasa, sehingga memungkinkan pihak ketiga untuk mencuri data ditengah-tengan komunikasi itu (melakukan proses intercept). Sedangkan proses pengiriman data melalui ssh, dijamin lebih aman karena data yang dilewatkan ke jaringan sudah dienkripsi, sehingga bisa memberikan jaminan keamanan ataupun jaminan integritas data.

OpenSSH

OpenSSH adalah satu set aplikasi komputer yang bisa mendukung sesi komunikasi terenkripsi pada jaringan komputer menggunakan protokol ssh. Awalnya aplikasi ini dikembangkan sebagai aplikasi open source yang menjadi alternatif dari aplikasi serupa yang berbayar. OpenSSH dikembangkan dan merupakan bagian dari proyek OpenBSD.

Dalam perkembangan selanjutnya, OpenSSH tidak hanya memberikan aplikasi remote shell melalui ssh atau remote eksekusi program saja, tapi bisa digunakan untuk tunnelling atau setup vpn antara dua jaringan.

Instalasi OpenSSH server di ubuntu

Instalasi di Ubuntu sangatlah mudah, Anda bisa langsung menginstal paket openssh-server dari repository ubuntu.

sudo apt-get install openssh-server

Setelah terinstall Anda bisa menjalankan servernya menggunakan perintah berikut (harusnya sudah dijalankan secara otomatis saat selesai instalasi).

sudo /etc/init.d/ssh start

Client SSH/SCP/SFTP di Windows

Putty

Putty adalah aplikasi klien telnet dan ssh yang paling populer untuk pengguna Windows. Aplikasi ini bisa Anda gunakan secara cuma-cuma/gratis (free), dan bisa Anda unduh di website putty.

WinSCP

WinSCP adalah aplikasi open source klien SFTP, SCP ataupun FTP di Windows. Fungsi utamanya adalah menyediakan sarana pengiriman data yang aman antara komputer lokal dan komputer remote.

Anda bisa mengunduh aplikas ini dari website WinSCP.

Client SSH/SCP/SFTP di Linux

Pada prinsipnya semua aplikasi konsole atau terminal di linux bisa digunakan sebagai ssh client, syaratnya openssh client sudah terinstal di komputer linux tersebut. Anda bisa menjalankan perintah ssh, scp atau sftp dari command line di terminal/konsole di linux.

gFTP

gFTP adalah aplikasi berbasiskan gtk, yang sudah mendukung transfer data melalui sftp. Hampir semua distro linux populer sudah menyediakan paket untuk gFTP ini.

Di ubuntu sendiri, untuk menginstall aplikasi gFTP ini bisa dengan cara perintah berikut:

sudo apt-get install gftp

muCommander

muCommander adalah aplikasi manager berkas yang interfacenya mirip dengan Norton Commander. Aplikasi ini bisa dijalankan di OS apapun yang mendukung Java (Mac OSX, Windows, Linux dll). SCP dan SFTP adalah salah satu dari sekian banyak fitur yang didukung oleh aplikasi ini.

Silahkan Anda unduh dari website muCommander (tersedia paket .deb untuk Debian/Ubuntu).

Client SSH/SCP/SFTP di Mac OS X

Hampir sama dengan di Linux, di Mac OS X, Anda bisa menggunakan aplikasi terminal untuk menjalankan perintah ssh, scp atau sftp dari command line.

Cyberduck

Cyberduck adalah aplikasi open source klien FTP untuk Mac OSX yang sudah mendukung protokol sftp dan scp. Anda bisa mendrag and drop dari finder (manager berkas di mac os x), untuk mentransfer data dari dan ke remote komputer.

Anda bisa mengunduh aplikasinya dari website cyberduck.

Instalasi Zimbra 6.0 di Ubuntu Hardy

Zimbra Collaboration Suite versi 6.0 baru dirilis awal bulan september 2009. Tulisan ini akan menjelaskan bagaimana menginstal zimbra versi 6.0 di Ubuntu hardy Heron.


Pada prinsipnya instalasi di Zimbra 6.0 masih sama dengan Zimbra 5.0. Bahkan paket-paket yang diperlukan saat instalasi masih sama persis. Tapi saya coba tulis ulang disini step-by-step nya.

Sebelum Anda melanjutkan membaca tulisan ini, ada baiknya Anda tidak melewatkan seri tutorial DNS Server dengan Bind9 (1, 2 dan 3). Karena dalam instalasi zimbra, Anda harus memahami bagaimana cara membuat sebuah hostname bisa di resolve dengan baik dan bagaimana membuat entri mx record.

Saat tulisan ini dibuat, rilis terbaru zimbra untuk versi 6.0, adalah 6.0.1. Dan untuk tutorial kali ini, kita akan menggunakan Ubuntu 8.04 (Hardy Heron). Instalasi ubuntu diasumsikan menggunakan instalasi default ubuntu 8.04 server edition.

Mengkonfigurasi berkas /etc/hosts

Zimbra mensyaratkan hostname bisa diresolve dengan baik, sekarang coba Anda sunting berkas /etc/hosts.

Dari asalnya,

1
2
3
4
5
6
7
8
9
10
127.0.0.1 localhost
127.0.1.1 zimbra

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Menjadi

1
2
3
4
5
6
7
8
9
10
127.0.0.1 localhost
172.16.10.131 zibra.ngadimin.com zimbra

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Disini diasumsikan IP server adalah 172.16.10.131, dan hostnamenya adalah zimbra.ngadimin.com.

Contoh konfigurasi DNS

Hostname & Alamat IP

  • hostname: zimbra.ngadimin.com
  • ip: 172.16.10.131

Kita akan buatkan alias, dibuatkan hostname yang mencerminkan fungsi dari service/layanan yang diberikan.

  • imap.ngadimin.com, untuk akses imap
  • pop.ngadimin.com, untuk akses pop3
  • smtp.ngadimin.com, untuk akses smtp (mengirim email)
  • webmail.ngadimin.com, untuk akses webmail
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$TTL 7200       ; 2 hours
@ IN SOA ns1.ngadimin.com. hostmaster.ngadimin.com. (
2009101000 ; serial
7200 ; refresh (2 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10800 ; minimum (3 hours)
)
NS ns1.ngadimin.com.
MX 10 zimbra.ngadimin.com.

ns1 A 172.16.10.131
zimbra A 172.16.10.131

imap CNAME zimbra
pop CNAME zimbra
smtp CNAME zimbra
webmail CNAME zimbra

Paket-paket yang dibutuhkan untuk instalasi zimbra

Instal paket-paket berikut.

sudo apt-get install libidn11 libpcre3 libgmp3c2 libexpat1 libstdc++6 libstdc++5 sysstat

Untuk memudahkan, kita akan uninstall apparmor (Anda boleh tidak setuju dengan cara ini, tapi ini demi memudahkan instalasi).

sudo dpkg --purge apparmor apparmor-utils

Anda juga harus memastikan tidak ada yg listen di port 25, 80, 110, 143. Untuk memeriksanya, jalankan perintah berikut. Lihat port yang listen di server Anda.

sudo lsof -i -n -P

Instalasi Zimbra

Download source instalasi dari website zimbra. http://www.zimbra.com/community/downloads.html. Pilih paket yang sesuai dengan arsitektur prosesor Anda. Misal, yang saya gunakan Ubuntu 8.04 LTS 32 bit.

wget http://h.yimg.com/lo/downloads/6.0.1_GA/zcs-6.0.1_GA_1816.UBUNTU8.20090911174852.tgz

Ekstrak,

tar zxvf zcs-6.0.1_GA_1816.UBUNTU8.20090911174852.tgz

Lalu jalankan skrip instalasi.

cd zcs-6.0.1_GA_1816.UBUNTU8.20090911174852
sudo ./install.sh

Post Pic Instalasi Zimbra 6.0 di Ubuntu Hardy

Zimbra Collaboration Suite versi 6.0 baru dirilis awal bulan september 2009. Tulisan ini akan menjelaskan bagaimana menginstal zimbra versi 6.0 di Ubuntu hardy Heron.


Pada prinsipnya instalasi di Zimbra 6.0 masih sama dengan Zimbra 5.0. Bahkan paket-paket yang diperlukan saat instalasi masih sama persis. Tapi saya coba tulis ulang disini step-by-step nya.

Sebelum Anda melanjutkan membaca tulisan ini, ada baiknya Anda tidak melewatkan seri tutorial DNS Server dengan Bind9 (1, 2 dan 3). Karena dalam instalasi zimbra, Anda harus memahami bagaimana cara membuat sebuah hostname bisa di resolve dengan baik dan bagaimana membuat entri mx record.

Saat tulisan ini dibuat, rilis terbaru zimbra untuk versi 6.0, adalah 6.0.1. Dan untuk tutorial kali ini, kita akan menggunakan Ubuntu 8.04 (Hardy Heron). Instalasi ubuntu diasumsikan menggunakan instalasi default ubuntu 8.04 server edition.

Mengkonfigurasi berkas /etc/hosts

Zimbra mensyaratkan hostname bisa diresolve dengan baik, sekarang coba Anda sunting berkas /etc/hosts.

Dari asalnya,

1
2
3
4
5
6
7
8
9
10
127.0.0.1 localhost
127.0.1.1 zimbra

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Menjadi

1
2
3
4
5
6
7
8
9
10
127.0.0.1 localhost
172.16.10.131 zibra.ngadimin.com zimbra

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Disini diasumsikan IP server adalah 172.16.10.131, dan hostnamenya adalah zimbra.ngadimin.com.

Contoh konfigurasi DNS

Hostname & Alamat IP

  • hostname: zimbra.ngadimin.com
  • ip: 172.16.10.131

Kita akan buatkan alias, dibuatkan hostname yang mencerminkan fungsi dari service/layanan yang diberikan.

  • imap.ngadimin.com, untuk akses imap
  • pop.ngadimin.com, untuk akses pop3
  • smtp.ngadimin.com, untuk akses smtp (mengirim email)
  • webmail.ngadimin.com, untuk akses webmail
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$TTL 7200       ; 2 hours
@ IN SOA ns1.ngadimin.com. hostmaster.ngadimin.com. (
2009101000 ; serial
7200 ; refresh (2 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10800 ; minimum (3 hours)
)
NS ns1.ngadimin.com.
MX 10 zimbra.ngadimin.com.

ns1 A 172.16.10.131
zimbra A 172.16.10.131

imap CNAME zimbra
pop CNAME zimbra
smtp CNAME zimbra
webmail CNAME zimbra

Paket-paket yang dibutuhkan untuk instalasi zimbra

Instal paket-paket berikut.

sudo apt-get install libidn11 libpcre3 libgmp3c2 libexpat1 libstdc++6 libstdc++5 sysstat

Untuk memudahkan, kita akan uninstall apparmor (Anda boleh tidak setuju dengan cara ini, tapi ini demi memudahkan instalasi).

sudo dpkg --purge apparmor apparmor-utils

Anda juga harus memastikan tidak ada yg listen di port 25, 80, 110, 143. Untuk memeriksanya, jalankan perintah berikut. Lihat port yang listen di server Anda.

sudo lsof -i -n -P

Instalasi Zimbra

Download source instalasi dari website zimbra. http://www.zimbra.com/community/downloads.html. Pilih paket yang sesuai dengan arsitektur prosesor Anda. Misal, yang saya gunakan Ubuntu 8.04 LTS 32 bit.

wget http://h.yimg.com/lo/downloads/6.0.1_GA/zcs-6.0.1_GA_1816.UBUNTU8.20090911174852.tgz

Ekstrak,

tar zxvf zcs-6.0.1_GA_1816.UBUNTU8.20090911174852.tgz

Lalu jalankan skrip instalasi.

cd zcs-6.0.1_GA_1816.UBUNTU8.20090911174852
sudo ./install.sh

Membuka Submission Port di Zimbra

Cara mengaktifkan submission port di zimbra. Submission port dijelaskan di RFC2476 dan RFC4409.


Caranya mudah, sunting berkas /opt/zimbra/postfix/conf/master.cf, tambahkan baris berikut:

1
2
3
4
submission inet n      -       -       -       -       smtpd
-o smtpd_etrn_restrictions=reject
-o smtpd_enforce_tls=yes
-o smtpd_sasl_auth_enable=yes

Setelah itu, restart postfix zimbra.

sudo /opt/zimbra/postfix/sbin/postfix reload

Lalu periksa, seharusnya sekarang submission port sudah siap melayani.

sudo lsof -i -n -P |grep 587
...
master 6034 root 109u IPv4 203735864 TCP *:587 (LISTEN)

Monitoring Traffik Email di Zimbra dengan Mailgraph


Monitoring traffik email keluar masuk dari zimbra menggunakan mailgraph. Selain traffik email keluar masuk, Anda juga bisa melihat traffik spam dan virus yang berhasil di tangani oleh zimbra.

Instal paket mailgraph dan thttpd (web server ringan, bisa juga diganti dengan apache jika Anda mau).

sudo apt-get install mailgraph thttpd

Mengkonfigurasi thttpd

Sunting berkas /etc/thttpd/thttpd.conf

# /etc/thttpd/thttpd.conf: thttpd configuration file

port=8888
dir=/var/www
nochroot

user=www-data
cgipat=/cgi-bin/*

throttles=/etc/thttpd/throttle.conf
logfile=/var/log/thttpd.log

Bisa Anda lihat di konfigurasi berkas di atas, port diganti ke port 8888, karena port 80 seharusnya sudah digunakan oleh webmail zimbra. Setelah itu, Anda restart thttpd.

sudo /etc/init.d/thttpd restart

Mengkonfigurasi Mailgraph

Sunting berkas /etc/default/mailgraph, pastikan isinya seperti yang saya tulis di bawah.

BOOT_START=
MAIL_LOG=/var/log/zimbra.log
IGNORE_LOCALHOST=true

Setelah itu, jangan lupa untuk merestart mailgraph.

sudo /etc/init.d/mailgraph restart

Langkah selanjutnya, saya tinggal menyalin berkas mailgraph.cgi ke lokasi cgi-bin di thttpd.

sudo mkdir /var/www/cgi-bin
sudo cp /usr/lib/cgi-bin/mailgraph.cgi /var/www/cgi-bin/

Sekarang Anda bisa melihat hasil monitoring di web, melalui alamat.

http://nama.atau.ip.server.zimbra.anda:8888/cgi-bin/mailgraph.cgi
mailgraph_mx1

Contoh tampilan mailgraph.

Membuat Server Email di Ubuntu menggunakan Zimbra

Membuat server email di Ubuntu sekarang menjadi lebih mudah dengan adanya zimbra. Zimbra sendiri sudah memiliki fitur yang sangat lengkap, mulai dari MTA (mail transfer agent) yang dilengkapi dengan fitur anti spam dan anti virus, IMAP/POP3, webmail dan fitur kolaborasi lainnya. Di tulisan ini, kita akan belajar instalasi awal zimbra di Ubuntu.


Sebelum Anda melanjutkan membaca tulisan ini, ada baiknya Anda tidak melewatkan seri tutorial DNS Server dengan Bind9 (1, 2 dan 3). Karena dalam instalasi zimbra, Anda harus memahami bagaimana cara membuat sebuah hostname bisa di resolve dengan baik dan bagaimana membuat entri mx record.

Saat tulisan ini dibuat, rilis terbaru zimbra untuk versi 5, adalah 5.0.18, dan untuk versi ini zimbra hanya menyediakan installer untuk distro RHEL 4/5, Fedora 7, Debian 4, MacOS 10.4/10.5, openSUSE 10.2, SLES 10, Ubuntu 6.06/8.04 LTS.

Dan untuk tutorial kali ini, kita akan menggunakan Ubuntu 8.04 (Hardy Heron). Instalasi ubuntu diasumsikan menggunakan instalasi default ubuntu 8.04 server edition.

Mengkonfigurasi berkas /etc/hosts

Zimbra mensyaratkan hostname bisa diresolve dengan baik, sekarang coba Anda sunting berkas /etc/hosts.

Dari asalnya,

127.0.0.1 localhost
127.0.1.1 zimbra

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Menjadi

127.0.0.1 localhost
192.168.56.113 zimbra.perusahaan.com zimbra

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Disini diasumsikan IP server adalah 192.168.56.113, dan hostnamenya adalah zimbra.perusahaan.com.

Paket-paket yang dibutuhkan untuk instalasi zimbra

Instal paket-paket berikut.

sudo apt-get install libidn11 libpcre3 libgmp3c2 libexpat1 libstdc++6 libstdc++5 libltdl3

Untuk memudahkan, kita akan uninstall apparmor (Anda boleh tidak setuju dengan cara ini, tapi ini demi memudahkan instalasi).

sudo dpkg --purge apparmor apparmor-utils

Anda juga harus memastikan tidak ada yg listen di port 25, 80, 110, 143. Untuk memeriksanya, jalankan perintah berikut. Lihat port yang listen di server Anda.

sudo lsof -i -n -P

Contoh konfigurasi DNS

Hostname & Alamat IP

  • hostname: zimbra.perusahaan.com
  • ip: 192.168.56.113

Kita akan buatkan alias, dibuatkan hostname yang mencerminkan fungsi dari service/layanan yang diberikan.

  • imap.perusahaan.com, untuk akses imap
  • pop.perusahaan.com, untuk akses pop3
  • smtp.perusahaan.com, untuk akses smtp (mengirim email)
  • webmail.perusahaan.com, untuk akses webmail
$TTL 7200       ; 2 hours
@ IN SOA ns1.perusahaan.com. hostmaster.perusahaan.com. (
2009060708 ; serial
7200 ; refresh (2 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10800 ; minimum (3 hours)
)
NS ns1.perusahaan.com.
MX 10 zimbra.perusahaan.com.

ns1 A 192.168.56.113
zimbra A 192.168.56.113

imap CNAME zimbra
pop CNAME zimbra
smtp CNAME zimbra
webmail CNAME zimbra

Instalasi Zimbra

Pertama, ambil dulu berkas sumber dari halaman unduh zimbra. Ambil sesuai dengan arsitektur komputer Anda (32 bit atau 64 bit).

Contoh, untuk versi yang saya gunakan.

wget http://h.yimg.com/lo/downloads/5.0.18_GA/zcs-5.0.18_GA_3011.UBUNTU8.20090708092550.tgz

Ekstrak,

tar zxvf zcs-5.0.18_GA_3011.UBUNTU8.20090708092550.tgz

Lalu jalankan skrip instalasi.

cd zcs-5.0.18_GA_3011.UBUNTU8.20090708092550
sudo ./install.sh

Proses Instalasi

Harusnya Anda tinggal enter-enter saja, dan menjawab beberapa pertanyaan. Tapi jika penasasaran, Anda bisa lihat urutan proses instalasinya. Mudah-mudahan bisa membuat Anda lebih paham.

Operations logged to /tmp/install.log.12383
Checking for existing installation...
zimbra-ldap...NOT FOUND
zimbra-logger...NOT FOUND
zimbra-mta...NOT FOUND
zimbra-snmp...NOT FOUND
zimbra-store...NOT FOUND
zimbra-apache...NOT FOUND
zimbra-spell...NOT FOUND
zimbra-proxy...NOT FOUND
zimbra-archiving...NOT FOUND
zimbra-convertd...NOT FOUND
zimbra-cluster...NOT FOUND
zimbra-core...NOT FOUND


PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THE SOFTWARE.
ZIMBRA, INC. ("ZIMBRA") WILL ONLY LICENSE THIS SOFTWARE TO YOU IF YOU
FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY DOWNLOADING OR INSTALLING
THE SOFTWARE, OR USING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY
THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS
AGREEMENT, THEN DO NOT DOWNLOAD, INSTALL OR USE THE PRODUCT.

License Terms for the Zimbra Collaboration Suite:
http://www.zimbra.com/license/zimbra_public_eula_2.1.html


Press Return to continue

Silakan Anda tekan enter disitu.

Checking for prerequisites...
FOUND: NPTL
FOUND: sudo-1.6.9p10-1ubuntu3.4
FOUND: libidn11-1.1-1
FOUND: libpcre3-7.4-1ubuntu2.1
FOUND: libgmp3c2-2:4.2.2+dfsg-1ubuntu2
FOUND: libexpat1-2.0.1-0ubuntu1
FOUND: libstdc++6-4.2.4-1ubuntu4
FOUND: libstdc++5-1:3.3.6-15ubuntu6
FOUND: libltdl3-1.5.26-1ubuntu1
Checking for suggested prerequisites...
FOUND: perl-5.8.8
Prerequisite check complete.

Checking for installable packages

Found zimbra-core
Found zimbra-ldap
Found zimbra-logger
Found zimbra-mta
Found zimbra-snmp
Found zimbra-store
Found zimbra-apache
Found zimbra-spell
Found zimbra-proxy


Select the packages to install

Install zimbra-ldap [Y] --tekan enter--

Install zimbra-logger [Y] --tekan enter--

Install zimbra-mta [Y] --tekan enter--

Install zimbra-snmp [Y] --tekan enter--

Install zimbra-store [Y] --tekan enter--

Install zimbra-apache [Y] --tekan enter--

Install zimbra-spell [Y] --tekan enter--

Install zimbra-proxy [N] --tekan enter--
Checking required space for zimbra-core
checking space for zimbra-store

Installing:
zimbra-core
zimbra-ldap
zimbra-logger
zimbra-mta
zimbra-snmp
zimbra-store
zimbra-apache
zimbra-spell

The system will be modified. Continue? [N] --ketik Y disini--

Lalu zimbra akan melanjutkan dengan menginstal paket-paket yang diperlukan.

Removing /opt/zimbra
Removing zimbra crontab entry...done.
done.
Cleaning up zimbra init scripts...done.
Cleaning up /etc/ld.so.conf...done.
Cleaning up /etc/security/limits.conf...done.

Finished removing Zimbra Collaboration Suite.

Finished removing Zimbra Collaboration Suite.

Installing packages

zimbra-core......zimbra-core_5.0.18_GA_3011.UBUNTU8_i386.deb...done
zimbra-ldap......zimbra-ldap_5.0.18_GA_3011.UBUNTU8_i386.deb...done
zimbra-logger......zimbra-logger_5.0.18_GA_3011.UBUNTU8_i386.deb...done
zimbra-mta......zimbra-mta_5.0.18_GA_3011.UBUNTU8_i386.deb...done
zimbra-snmp......zimbra-snmp_5.0.18_GA_3011.UBUNTU8_i386.deb...done
zimbra-store......zimbra-store_5.0.18_GA_3011.UBUNTU8_i386.deb...done
zimbra-apache......zimbra-apache_5.0.18_GA_3011.UBUNTU8_i386.deb...done
zimbra-spell......zimbra-spell_5.0.18_GA_3011.UBUNTU8_i386.deb...done
Operations logged to /tmp/zmsetup.07152009-091904.log
Setting defaults...

Setelah ini akan muncul pesan seperti di bawah. Kita menggunakan hostname zimbra.perusahaan.com, dan yang kita set record mx adalah domain perusahaan.com, karena kita memang inginnya zimbra menghosting domain perusahaan.com.

NS ERROR resolving MX for zimbra.perusahaan.com
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes] --tekan enter--
Create Domain: [zimbra.perusahaan.com] --ketik perusahaan.com disini---
MX: zimbra.perusahaan.com (192.168.56.113)

Interface: 10.0.2.15
Interface: 192.168.56.113
Interface: 127.0.0.1
done.
Checking for port conflicts
Port conflict detected: 80 (zimbra-store)
Port conflicts detected! - Any key to continue

Disini terlihat salah satu contoh error. Ada port conflict di port 80. Saya cek dengan perintah

sudo lsof -i -n -P

Ternyata ada thttpd yg listen di port 80 (padahal ini untuk tutorial berikutnya hehe). Setelah service thttpd saya matikan, instalasi jalan kembali.

Main menu

1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: admin@perusahaan.com
******* +Admin Password UNSET
+Enable automated spam training: yes
+Spam training user: spam.tdp4n_la5h@perusahaan.com
+Non-spam(Ham) training user: ham.owo5zfr2q@perusahaan.com
+Global Documents Account: wiki@perusahaan.com
+SMTP host: zimbra.perusahaan.com
+Web server HTTP port: 80
+Web server HTTPS port: 443
+Web server mode: http
+IMAP server port: 143
+IMAP server SSL port: 993
+POP server port: 110
+POP server SSL port: 995
+Use spell check server: yes
+Spell server URL: http://zimbra.perusahaan.com:7780/aspell.php
+Configure store for use with reverse mail proxy: FALSE
+Configure store for use with reverse web proxy: FALSE

4) zimbra-mta: Enabled
5) zimbra-snmp: Enabled
6) zimbra-logger: Enabled
7) zimbra-spell: Enabled
8) Default Class of Service Configuration:
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit

Address unconfigured (**) items (? - help)

Sekarang Anda dihadapkan dengan menu di atas. Perhatikan di bagian yang diberi tanda bintang (*******) itu ada di menu nomor tiga. Jadi Anda pilih atau ketik 3, kemudian tekan enter.

Store configuration

1) Status: Enabled
2) Create Admin User: yes
3) Admin user to create: admin@perusahaan.com
** 4) Admin Password UNSET
5) Enable automated spam training: yes
6) Spam training user: spam.tdp4n_la5h@perusahaan.com
7) Non-spam(Ham) training user: ham.owo5zfr2q@perusahaan.com
8) Global Documents Account: wiki@perusahaan.com
9) SMTP host: zimbra.perusahaan.com
10) Web server HTTP port: 80
11) Web server HTTPS port: 443
12) Web server mode: http
13) IMAP server port: 143
14) IMAP server SSL port: 993
15) POP server port: 110
16) POP server SSL port: 995
17) Use spell check server: yes
18) Spell server URL: http://zimbra.perusahaan.com:7780/aspell.php
19) Configure store for use with reverse mail proxy: FALSE
20) Configure store for use with reverse web proxy: FALSE

Select, or 'r' for previous menu [r]

Sekarang Anda dihadapkan dengan menu berikutnya. Sama seperti tadi, perhatikan bagian yang diberi tanda bintang (**), itu ada di menu nomor 4. Jadi Anda ketik 4, lalu tekan enter.

Password for admin@perusahaan.com (min 6 characters): [hINYHBUe5]

Sekarang Anda diminta menuliskan password untuk user Admin. Jika Anda tekan enter, default passwordnya adalah yang ada di dalam kurung kotak. Silakan Anda ketik password yang Anda ingin set.

Store configuration

1) Status: Enabled
2) Create Admin User: yes
3) Admin user to create: admin@perusahaan.com
4) Admin Password set
5) Enable automated spam training: yes
6) Spam training user: spam.tdp4n_la5h@perusahaan.com
7) Non-spam(Ham) training user: ham.owo5zfr2q@perusahaan.com
8) Global Documents Account: wiki@perusahaan.com
9) SMTP host: zimbra.perusahaan.com
10) Web server HTTP port: 80
11) Web server HTTPS port: 443
12) Web server mode: http
13) IMAP server port: 143
14) IMAP server SSL port: 993
15) POP server port: 110
16) POP server SSL port: 995
17) Use spell check server: yes
18) Spell server URL: http://zimbra.perusahaan.com:7780/aspell.php
19) Configure store for use with reverse mail proxy: FALSE
20) Configure store for use with reverse web proxy: FALSE

Select, or 'r' for previous menu [r]

Sekarang semua sudah diset dengan baik. Anda tikan tekan r,

Main menu

1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
4) zimbra-mta: Enabled
5) zimbra-snmp: Enabled
6) zimbra-logger: Enabled
7) zimbra-spell: Enabled
8) Default Class of Service Configuration:
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit

*** CONFIGURATION COMPLETE - press 'a' to apply
Select from menu, or press 'a' to apply config (? - help) --ketik a disini, lalu enter--
Save configuration data to a file? [Yes] --tekan enter--
Save config in file: [/opt/zimbra/config.17874]
Saving config in /opt/zimbra/config.17874...done.
The system will be modified - continue? [No] --ketik Yes disini, lalu enter--

Dan tunggu zimbra mengkonfigurasi sistem Anda sampai selesai. Agak lama prosesnya, jadi Anda harus sedikit bersabar.

Setelah semuanya selesai, Anda bisa mengakses halaman web adminnya di

https://zimbra.perusahaan.com:7071

Ingat, pakai https bukan http. Loginnya admin, password seperti yang sudah Anda set sebelumnya.

Dan untuk webmail (akses untuk membaca email dari web, untuk user).

http://webmail.perusahaan.com

Seperti yang sudah kita set di DNS sebelumnya.

Kesimpulan

Sebetulnya instalasi zimbra tidak rumit, tulisan ini panjang karena semua yang ditampilkan saat instalasi saya copy-paste ke tulisan ini. Pada prinsipnya Anda tinggal membaca apa yang ditanyakan oleh skrip instalasi, dan menjawabnya dengan benar :D

Seperti biasa, jika Ada pertanyaan atau komentar, silakan tinggalkan di bagian komentar.

Post Pic Instalasi DNS Server di Ubuntu menggunakan Bind9

Instalasi Bind dalam sistem chroot

Mengapa instalasi nya dalam chroot? Karena bind ini memiliki sejarah yang panjang dalam urusan lubang keamanan (sering ditemukan celah, yang menyebabkan sistem Anda bisa dicrack melalui bind), maka kita lakukan instalasi dalam lingkungan yang terbatas/chroot.

Instalasi paket

sudo apt-get install bind9

Stop dulu, sebelum kita lanjutkan ke tahapan chroot

sudo /etc/init.d/bind9 stop

Konfigurasi chroot

sudo mkdir -p /var/lib/named/etc
sudo mkdir /var/lib/named/dev
sudo mkdir -p /var/lib/named/var/cache/bind
sudo mkdir -p /var/lib/named/var/run/bind/run
sudo mv /etc/bind /var/lib/named/etc
sudo ln -s /var/lib/named/etc/bind /etc/bind
sudo mknod /var/lib/named/dev/null c 1 3
sudo mknod /var/lib/named/dev/random c 1 8
sudo chmod 666 /var/lib/named/dev/*
sudo chown -R bind:bind /var/lib/named/var/*
sudo chown -R bind:bind /var/lib/named/etc/bind

Sunting Berkas /etc/default/bind9, cari baris seperti di bawah ini,

OPTIONS="-u bind"

Lalu ganti menjadi,

OPTIONS="-u bind -t /var/lib/named"

Setelah itu, start kembali bind,

sudo /etc/init.d/bind9 start

Sekarang instalasi chroot dns sudah selesai. Kita lanjutkan ke tahapan berikutnya.



Format Penulisan berkas Domain di Bind

Ini adalah bagian yang paling rumit tapi juga penting. Dengan memahami cara penulisan record domain di bind, Anda dijamin bisa mengelola domain dengan baik.

Misal, Anda ingin membuat domain baru, perusahaan.com. Maka langkah pertama yang perlu Anda lakukan adalah membuat berkas baru yang isinya kira-kira seperti di bawah ini.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$TTL 7200       ; 2 hours
@ IN SOA ns1.perusahaan.com. hostmaster.perusahaan.com. (
2009060708 ; serial
7200 ; refresh (2 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10800 ; minimum (3 hours)
)
NS ns1.perusahaan.com.
NS ns2.perusahaan.com.
A 192.168.1.2
MX 10 mail1.perusahaan.com.
MX 20 mail2.perusahaan.com.

mail1 A 192.168.1.11
mail2 A 192.168.1.12

ns1 A 192.168.1.3
ns2 A 192.168.2.3

pop CNAME mail1
smtp CNAME mail1
webmail CNAME mail1

www A 192.168.1.2

Mari kita pelajari beberapa record yang ada di berkas tersebut.

SOA record

@       IN SOA  ns1.perusahaan.com. hostmaster.perusahaan.com.

SOA (Start of Authority) adalah catatan dimana berkas zona/domain tersebut pertama kali dibuat. Ini juga bisa diartikan sebagai master DNS.

Sedangkan kolom berikutnya adalah kontak email, hanya saja @ disini digantikan dengan titik. Jadi dari baris di atas bisa kita simpulkan kontak emailnya adalah hostmaster@perusahaan.com.

NS record

NS (Name Server) adalah catatan yang menentukan server mana yang akan menjawab atau melayani informasi seputar DNS untuk sebuah domain.

Sebuah domain bisa memiliki banyak NS record. Semakin banyak NS server yang Anda definisikan, berarti semakin banyak pula yang bisa melayani (tentunya harus di setup juga proses master/slave utk proses propagasi data). Disarankan lokasi NS yang satu dan lainnya, ada di jaringan yang berbeda. Jadi kalau ada satu network yang terputus, NS server di jaringan yang lain masih bisa memberikan layanan.

MX record

MX (Mail Exchange) adalah catatan yang menentukan kemana sebuah email akan dikirim. Dalam record MX ini, ada variabel tambahan yaitu priotity.

Priority ini adalah angka yang menunjukkan skala prioritas, yang bisa Anda isi dari mulai 0 s.d 65536. Semakin kecil angkanya, semakin tinggi prioritasnya.

Jadi kalau Anda lihat di contoh di atas, maka mail1.perusahaan.com adalah tujuan pertama email akan dikirim, jika server mail1 ini tidak bisa diakses, maka email akan dikirim ke mail2.

A record

A (atau biasa disebut sebagai host record) merupakan inti dari DNS. A record adalah pemetaan dari nama ke alamat ip. Pemetaan ini tidak harus satu ke satu, beberapa nama yang berbeda bisa Anda petakan ke satu buah alamat IP yang sama.

Misal,

cecep     A     192.168.1.13
mahbub A 192.168.1.13

Lihat juga record CNAME.

CNAME record

CNAME (Canonical Name) adalah alias. Jadi jika pada contoh di atas saya tulis, pop CNAME mail1, maka pop adalah nama lain untuk host mail1.

Dalam beberapa kasus, CNAME tidak disarankan. Misal mengisi alamat MX record dengan sebuah record CNAME. Karena akan menambah satu proses query ke DNS, dan itu tidak efisien.

Untuk informasi dasar seputar DNS ini silahkan Anda baca Basic Guide to DNS sebuah tulisan dari google.

Membuat Zona Baru

Karena kita sedang berbicara instalasi bind9 di Ubuntu, maka kita pakai cara ubuntu saja, dan kalau menggunakan distro lain tentunya harus menyesuaikan.

Tadi kita sudah buat berkas baru yang berisikan record-record utk domain yang akan kita kelola. Sekarang kita simpan berkas tersebut dengan nama db_perusahaan.com, simpan di /etc/bind/.

Pastikan hak akses dan kepemilikannya sudah betul

sudo chmod 644 /etc/bind/db_perusahaan.com
sudo chown bind:bind /etc/bind/db_perusahaan.com

Lalu sekarang kita sunting berkas /etc/bind/named.conf.local, buat baris baru seperti berikut,

1
2
3
4
zone "perusahaan.com" {
type master;
file "/etc/bind/db_perusahaan.com";
};

Setelah itu, konfigure ulang bindnya.

sudo rndc reload

Cek dan ricek menggunakan dig

Untuk mengecek SOA record, termasuk didalamnya adalah serial dari zona yang baru kita buat, jalankan perintah berikut,

dig @localhost soa perusahaan.com

Untuk mengecek MX record, gunakan perintah berikut,

dig @localhost mx perusahaan.com

Untuk mengecek A record atau CNAME record, kita tinggal query hostnamenya saja. Misal, cek www.perusahaan.com,

dig @localhost www.perusahaan.com

Pemecahan Masalah

Kalau ada masalah, jangan buru-buru menyerah, atau bertanya ke google. Biasanya solusinya ada didekat-dekat kita juga. Mari kita lihat.

Lihat Log

Di Ubuntu, log yang harus diperiksa adalah /var/log/daemon.log, lihat disitu seharusnya ada clue buat Anda.

Kurang Titik!

Masalah yang sering terjadi dalam mengkonfigurasi DNS adalah kurang teliti dalam membuat zona domain. Kurang titik bisa membuat zona yang kita buat salah. Perhatikan gambar di bawah ini, lalu teliti kembali berkas db_perusahaan.com yang sudah Anda buat tadi.

perhatikan_titik

Masalah AppArmor

Di Ubuntu server defaultnya sudah terinstall aplikasi apparmor, yang kalau di fedora padanannya tuh SELinux. Sama-sama berfungsi untuk menambahkan layer security, tapi kadang bikin mumet proses konfigurasi.

Untuk proses troubleshoot, coba matikan dulu apparmor

sudo /etc/init.d/apparmor stop

Jika ingin membuang paketnya,

sudo dpkg --purge apparmor apparmor-utils

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More