<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gesang_[at]_localbox &#187; Opensource</title>
	<atom:link href="http://gesang.postnix.org/category/opensource/feed/" rel="self" type="application/rss+xml" />
	<link>http://gesang.postnix.org</link>
	<description>Just my point of view</description>
	<lastBuildDate>Tue, 27 Jul 2010 15:17:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=5146</generator>
		<item>
		<title>Jbchroot, Menjalankan aplikasi dengan chroot sebagai user bukan root</title>
		<link>http://gesang.postnix.org/2008/11/jbchroot-menjalankan-apliasi-dengan-chroot-sebagai-user-bukan-root/</link>
		<comments>http://gesang.postnix.org/2008/11/jbchroot-menjalankan-apliasi-dengan-chroot-sebagai-user-bukan-root/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 08:45:22 +0000</pubDate>
		<dc:creator>Pamadi Gesang</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://gesang.postnix.org/?p=55</guid>
		<description><![CDATA[Menjalankan aplikasi atau service dengan chroot sebagai user bukan root di linux akan menemui kendala tidak seperti di platform *BSD, tapi kadang kita menemui kondisi dimana kita harus me-jail suatu servis/aplikasi di direktori tertentu dan dijalankan sebagai user selain root dengan alasan keamanan. Seperti saya pernah menemui kesulitan untuk menjalankan WebGoat yang sengaja di install [...]]]></description>
			<content:encoded><![CDATA[<p>Menjalankan aplikasi atau service dengan <a title="Chroot" href="http://en.wikipedia.org/wiki/Chroot" target="_blank">chroot</a> sebagai user bukan root di linux akan menemui kendala  tidak seperti di platform *BSD, tapi kadang kita menemui kondisi dimana kita harus me-jail suatu servis/aplikasi di direktori tertentu dan dijalankan sebagai user selain root dengan alasan keamanan. Seperti saya pernah menemui kesulitan untuk menjalankan <a title="WebGoat" href="http://www.owasp.org/index.php/Category:OWASP_WebGoat_Project" target="_blank">WebGoat</a> yang sengaja di install untuk demo hacking aplikasi web. Karena <a title="WebGoat" href="http://www.owasp.org/index.php/Category:OWASP_WebGoat_Project" target="_blank">WebGoat</a> di buat sedemikian vulnerable maka akan sangat riskan menjalankan WebGoat yag bisa diakses ke publik atau peserta  hacking aplikasi  web.<span id="more-55"></span></p>
<p>WebGoat sendiri berjalan di atas <a title="Tomcat" href="http://tomcat.apache.org/" target="_blank">Tomcat</a>, maka untuk meminimalkan resiko saya putuskan untuk men-jail tomcat dan menjalankan sebagai user bukan root. Karena OS yang di gunakan kebetulan linux maka saya berusaha mencari cara untuk melakukan hal tersebut diatas, setelah beberapa lama akhirnya menemukan aplikasi kecil yang bernama <strong>jbcroot</strong> yang mempunyai kemampuan seperti yang dimaksud diatas. Sourcecode jbchroot dapat di download <a title="Sourcecode Jbchroot" href="http://gesang.postnix.org/wp-content/uploads/2008/11/jbchoot.c">disini</a>.</p>
<p>Untuk meng-compile sourcecode jbchroot bisa dengan menjalankan perintah sebagai berikut:</p>
<p># gcc -O jbchroot.c -o jbchroot</p>
<p>Jika berhasil sebaiknya di copy ke direktory /usr/bin/</p>
<p># cp jbchroot /usr/bin</p>
<p># chmod ug+x /usr/bin/jbchroot</p>
<p>Untuk menggunakannya jbchroot berikut ini sintax-nya</p>
<p># jbchroot [-g/G group-yg-dipakai] [-u/U user-yg-dipakai] [newroot-directory] [command]</p>
<p>misal:</p>
<p># jbchroot -U tomcat /chroot/tomcat /apache-tomcat/bin/startup.sh</p>
<p>Perhatian:</p>
<ul>
<li> Sebelum menggunakan jbchroot/chroot harus di buat dulu environment yang dibutuhkan untuk aplikasi yang akan dijalankan.</li>
<li> Untuk menjalankan service/aplikasi yg menggunakan port dibawah 1024 harus menggunakan root privilege, maka gunakan port diatas 1024 jika user selain root.</li>
</ul>
<p>Just my 0,002 cents</p>
]]></content:encoded>
			<wfw:commentRss>http://gesang.postnix.org/2008/11/jbchroot-menjalankan-apliasi-dengan-chroot-sebagai-user-bukan-root/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Killall di debian</title>
		<link>http://gesang.postnix.org/2008/10/killall-di-debian/</link>
		<comments>http://gesang.postnix.org/2008/10/killall-di-debian/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 16:28:09 +0000</pubDate>
		<dc:creator>Pamadi Gesang</dc:creator>
				<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[Linux command]]></category>

		<guid isPermaLink="false">http://gesang.postnix.org/?p=46</guid>
		<description><![CDATA[Secara default di debian program killall tidak terinstal, tapi tidak perlu bingung untuk menginstallnya cukup jalankan perintah sebagai berikut: apt-get install psmisc]]></description>
			<content:encoded><![CDATA[<p>Secara default di debian program <a title="killall" href="http://en.wikipedia.org/wiki/Killall">killall</a> tidak terinstal, tapi tidak perlu bingung untuk menginstallnya cukup jalankan perintah sebagai berikut:</p>
<p>apt-get install psmisc</p>
]]></content:encoded>
			<wfw:commentRss>http://gesang.postnix.org/2008/10/killall-di-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reverse SSH tunnel</title>
		<link>http://gesang.postnix.org/2008/09/reverse-ssh-tunnel/</link>
		<comments>http://gesang.postnix.org/2008/09/reverse-ssh-tunnel/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 23:10:29 +0000</pubDate>
		<dc:creator>Pamadi Gesang</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tunnel]]></category>

		<guid isPermaLink="false">http://gesang.postnix.org/?p=41</guid>
		<description><![CDATA[Beberapa waktu lalu saya mendapatkan tugas untuk mengadministrasi server linux, tapi berhubung jam kerja sudah habis saya putuskan untuk dikerjakan dari rumah. Tapi ada sedikit halangan yaitu server linux tersebut(Linux B) berada di LAN dan terhubung ke internet melalui modem yang tidak bisa port forwarding, tetapi untungnya gateway di rumah menggunakan linux jadi bisa port [...]]]></description>
			<content:encoded><![CDATA[<p>Beberapa waktu lalu saya mendapatkan tugas untuk mengadministrasi server linux, tapi berhubung jam kerja sudah habis saya putuskan untuk dikerjakan dari rumah. Tapi ada sedikit halangan yaitu server linux tersebut(Linux B) berada di LAN dan terhubung ke internet melalui modem yang tidak bisa port forwarding, tetapi untungnya gateway di rumah menggunakan linux jadi bisa port forwarding. Dengan kondisi ini maka saya putuskan untuk menggunakan reverse SSH tunnel agar saya bisa mengakses server linux(linux B) dari rumah melalui ssh. Maka sebelum pulang kerumah ada beberapa hal yang harus saya lakukan untuk melakukan hal tersebut. Untuk lebih jelasnya berikut ini network map-nya.<span id="more-41"></span></p>
<p><img class="aligncenter" title="Network map" src="http://i273.photobucket.com/albums/jj217/pamadigesang/net-map.png" alt="" width="296" height="293" /><br />
Untuk melakukan reverse SSH tunnel berdasarkan skenario yang ada di gambar diatas sebaiknya autentikasi ssh-nya menggunakan key agar kita tidak repot memasukan password dan bisa dijalankan memalui crontab. Berikut langkah-langkah yang harus dilakukan untuk menjalankan ssh dengan autentikasi key.</p>
<p>di server linux(Linux B) kita generate ssh-key dengan perintah sebagai berikut:</p>
<p># ssh-keygen<br />
Generating public/private rsa key pair.<br />
Enter file in which to save the key (/root/.ssh/id_rsa): &lt;-- enter<br />
Created directory '/root/.ssh'.<br />
Enter passphrase (empty for no passphrase): &lt;-- tekan enter, tanpa passphare<br />
Enter same passphrase again:<br />
Your identification has been saved in /root/.ssh/id_rsa.<br />
Your public key has been saved in /root/.ssh/id_rsa.pub.<br />
The key fingerprint is: &lt;-- tekan enter, tanpa passphare<br />
f4:58:8a:43:5b:73:2d:89:25:6c:7b:76:25:91:be:3e root@localhost</p>
<p>dari output diatas terdapat 2 key yang sersimpan di direktori /[user-home]/.ssh yaitu id_rsa sebagi private key dan id_rsa.pub sebagai public key.</p>
<p>Selanjutnya kita harus mengkopi public key (id_rsa.pub) ke Workstation linux(10.10.0.5), hal ini bisa dilakukan dengan USB disk atau melalui scp, pada kasus ini jika menggunakan scp berati kita terlebih dahulu harus mengatifkan port forwarding di gateway linux(Linux A) agar bisa melakukan scp ke Workstation linux(10.10.0.5). Untuk kita harus login ke Gateway linux(123.123.123.123) dan jalankan perintah berikut:</p>
<p># iptables -t nat -I PREROUTING -p tcp -i ppp0 --dport 42222 -j DNAT --to 10.10.0.5:22<br />
# iptables -A FORWARD -i ppp0 -o eth0 -p tcp --dport 22 -j ACCEPT</p>
<p>Setelah port forwarding aktif selajutnya kita login ke Linux B dan untuk melakukan scp dengan perintah sebagai berikut:</p>
<p># cd /[home user]/.ssh<br />
# scp -P 42222 id_rsa.pub user@123.123.123.123:/home/user</p>
<p>selanjutnya login ke Workstation linux secara langsung atau melalui ssh dari Linux B dengan perintah sebagai berikut:</p>
<p># ssh user@123.123.123.123 -p 42222</p>
<p>setelah masuk ke Workstation linux baik secara langsung atau melalui ssh maka jalankan perintah berikut:</p>
<p>$ cd /home/user<br />
$ cat id_rsa.pub &gt;&gt; .ssh/authorized_keys<br />
$ rm id_rsa.pub</p>
<p>Kemudian pastikan pada file konfigurasi (/etc/ssh/sshd_config) SSH server dari Workstation linux untuk baris berikut ada dan jika tidak ada maka masukan baris berikut ini:</p>
<p>RSAAuthentication yes<br />
PubkeyAuthentication yes<br />
AuthorizedKeysFile    %h/.ssh/authorized_keys</p>
<p>Kemudian restart SSH server-nya, misal untuk ubuntu atau debian dengan perintah(sebagai root):</p>
<p># /etc/init.d/ssh restart</p>
<p>Selanjutnya kita mengaktifkan port forwarding di gateway linux menggunakan iptables, karena sebelumnya diatas sudah di buat dan menggunakan port yang sama maka bisa dilanjutkan ke langkah berikutnya.</p>
<p>Masuk lagi ke Linux B dan buatlah script dengan nama /usr/sbin/tunnel.sh isi sebagai berikut</p>
<p>#!/bin/sh<br />
REMOTE_HOST="123.123.123.123" # ip address dari gateway<br />
LISTEN_PORT=22022 # listening port pada Workstation linux</p>
<p>COMMAND="ssh -p 42222 -N -f -R ${LISTEN_PORT}:localhost:22 user@$REMOTE_HOST"<br />
pgrep -f "$COMMAND" &gt; /dev/null 2&gt;&amp;1 || $COMMAND</p>
<p># end of file</p>
<p>Keterangan</p>
<ul>
<li> -p 42222 merupakan port yang di forward oleh gateway, hal ini menyesesuaikan skenario yg ada, jika mesin tujuan tidak di belakang gateway dan port ssh nya tidak dirubah maka opsi ini bisa di hilangkan.</li>
<li> ${LISTEN_PORT} merupakan listening port mesin tujuan yang pada kasus ini adalah Workstation linux</li>
<li> localhost:22 port yang di tunnel dari server linux(Linux B), pada kasus ini adalah ssh server.</li>
<li> user@$REMOTE_HOST user yang di gunakan untuk ssh dan ip address/host dari mesin tujuan.</li>
<li> pgrep -f "$COMMAND" &gt; /dev/null 2&gt;&amp;1 || $COMMAND, jika COMMAND tersebut masih aktif maka batalkan dan jika tidak aktif maka di jalankan.</li>
</ul>
<p>Ubah file permission-nya agar bisa dieksekusi</p>
<p># chmod +x /usr/sbin/tunnel.sh</p>
<p>Nah, sampai sini reverse ssh tunnel sudah bisa di jalankan</p>
<p># /usr/sbin/tunnel.sh</p>
<p>Sekarang kita bisa melakukan ssh ke Linux B dari Workstation linux dengan perintah:</p>
<p>$ ssh root@localhost -p 22022</p>
<p>Agar koneksi reverse ssh tunnel bisa lancar dan otomatis melakukan koneksi jika down maka masukanlah ke crontab. Misal kita set agar setiap 5 menit melakukan koneksi, maka di Linux B jalankan perintah:</p>
<p># crontab -e</p>
<p>dan masukan baris berikut ini</p>
<p>0-59/5 * * * * /usr/sbin/tunnel.sh</p>
<p>Untuk kasus lain misal kita ingin memforward port 80(web server) dari remote host melalui reverse ssh tunnel ke port 8088 host/komputer lokal yang melewati port 808 gateway linux berarti tinggal merubah scriptnya dan port forwarding pada gateway, misal sebagai berikut</p>
<p>#!/bin/sh<br />
REMOTE_HOST="123.123.123.123" # ip address dari gateway<br />
LISTEN_PORT=8808 # listening port pada Workstation linux</p>
<p>COMMAND="ssh -p 808 -N -f -R ${LISTEN_PORT}:localhost:80 user@$REMOTE_HOST"<br />
pgrep -f "$COMMAND" &gt; /dev/null 2&gt;&amp;1 || $COMMAND</p>
<p># end of file</p>
<p>Dan iptables di gateway linux:</p>
<p># iptables -t nat -I PREROUTING -p tcp -i ppp0 --dport 808 -j DNAT --to 10.10.0.5:22<br />
# iptables -A FORWARD -i ppp0 -o eth0 -p tcp --dport 22 -j ACCEPT</p>
<p>Maka kita dapat mengakses web server dari remote host di komputer lokal kita dengan url sebagai berikut:</p>
<p>http://localhost:8808</p>
<p>Nah, demikian tulisan kali ini dan semoga bermanfaat.</p>
<p>thx.</p>
]]></content:encoded>
			<wfw:commentRss>http://gesang.postnix.org/2008/09/reverse-ssh-tunnel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>M0n0wall, embedded firewall yang ringan, hemat biaya dan mudah</title>
		<link>http://gesang.postnix.org/2007/11/m0n0wall-embedded-firewall-yang-ringan-hemat-biaya-dan-mudah/</link>
		<comments>http://gesang.postnix.org/2007/11/m0n0wall-embedded-firewall-yang-ringan-hemat-biaya-dan-mudah/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 05:26:00 +0000</pubDate>
		<dc:creator>Pamadi Gesang</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[firewall]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[M0n0wall merupakan embedded firewall berbasiskan freeBSD yang ringan dan mudah penggunaannya. Bisa dikatakan ringan karena untuk menjalankannya tidak memerlukan spesifikasi hardware yang tinggi atau dapat dijalankan di pc lawas(PII/PIII), hal ini akan sangat membantu mengurangi biaya yang dikeluarkan untuk membangun firewall. Meskipun demikian m0n0wall sudah cukup untuk memenuhi kebutuhan firewall untuk jaringan skala menengah ke [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://upload.wikimedia.org/wikipedia/commons/thumb/9/95/M0n0wall.gif/300px-M0n0wall.gif" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/95/M0n0wall.gif/300px-M0n0wall.gif" border="0" alt="" /></a></p>
<div><a href="http://m0n0.ch/wall/">M0n0wall</a> merupakan <a href="http://id.wikipedia.org/wiki/Sistem_benam">embedded</a> <a href="http://id.wikipedia.org/wiki/Firewall">firewall</a> berbasiskan <a href="http://www.freebsd.org/">freeBSD</a> yang ringan dan mudah penggunaannya. Bisa dikatakan ringan karena untuk menjalankannya tidak memerlukan spesifikasi hardware yang tinggi atau dapat dijalankan di pc lawas(PII/PIII), hal ini akan sangat membantu mengurangi biaya yang dikeluarkan untuk membangun firewall. Meskipun demikian m0n0wall sudah cukup untuk memenuhi kebutuhan firewall untuk jaringan skala menengah ke bawah. <span id="more-11"></span>Untuk konfigurasi dan administrasinya tidaklah terlalu menyulitkan karena bisa dilakukan melalui web(webGUI, support SSL) jadi tidak perlu berurusan dengan <a href="http://id.wikipedia.org/wiki/Shell_(komputer)">shell</a> kecuali ketika pertama kali booting untuk mengatur interface atau IP Addressnya, reset password ataupun untuk reset konfgurasi.<span class="fullpost"><br />
<strong><br />
Hardware requirement</strong></p>
<div>Memori yang dibutuhkan cukup 64 MB atau lebih dan bisa kurang tetapi akan sangat membahayakan karena m0n0wall tidak menggunakan <a href="http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-2/ch02s02.html">swap</a> space. Storage yang diperlukanpun tidak besar, bisa dijalankan melalui cdrom atau floppy. Jika menggunakan CF(<a href="http://en.wikipedia.org/wiki/Compact_Flash">Compact Flash</a>) maka cukup 8 MB atau lebih, jika menggunakan Hardisk juga tidak memerlukan kapasitas yang besar( 512 Mb bisa kurang atau lebih). Pada dasarnya kebutuhan hardware untuk menjalankan m0n0wall tidaklah menyulitkan atau bisa berjalan di genericPC(PC standar), karena merupakan turunan freeBSD maka hampir semua hardware yang bisa dijalankan di <a href="http://www.freebsd.org/releases/4.11R/hardware-i386.html">freeBSD/i368</a> bisa di dijalankan di m0n0wall.</div>
<p><strong>Fitur</strong></p>
<div>Fitur yang ditawarkan cukup lengkap dan sudah memenuhi kebutuhan untuk dioperasikan sebagai firewall ataupun router untuk internet connection sharing.</div>
<p>Fitur-fitur m0n0wall antaralain:</p>
<ul>
<li>web interface (supports SSL) untuk konfigurasi</li>
<li>serial console interface for recovery</li>
<li>set LAN IP address</li>
<li>reset password</li>
<li>restore factory defaults</li>
<li>reboot system</li>
<li>wireless support (access point with PRISM-II/2.5/3 cards, BSS/IBSS with other cards including Cisco)</li>
<li>captive portal(http://en.wikipedia.org/wiki/Captive_portal), untuk mengatur authentifikasi client yang akan mengakses internet/jaringan lain.</li>
<li>802.1Q VLAN support</li>
<li>stateful packet filtering</li>
<li>block/pass rules</li>
<li>logging</li>
<li><a href="http://id.wikipedia.org/wiki/NAT">NAT</a>/PAT (including 1:1)</li>
<li>DHCP client, PPPoE, PPTP and Telstra BigPond Cable support on the WAN interface</li>
<li>IPsec VPN tunnels (IKE; with support for hardware crypto cards, mobile clients and certificates)</li>
<li>PPTP VPN (with RADIUS server support)</li>
<li>static routes</li>
<li>DHCP server and relay</li>
<li>caching DNS forwarder</li>
<li>DynDNS client and RFC 2136 DNS updater</li>
<li>SNMP agent</li>
<li>traffic shaper</li>
<li>SVG-based traffic grapher</li>
<li>firmware upgrade through the web browser</li>
<li>Wake on LAN client</li>
<li>configuration backup/restore</li>
<li>host/network aliases</li>
</ul>
<div>Dengan fitur yang sedemikian lengkap m0n0wall dapat menjadi solusi yang cepat untuk membangun firewall karena proses instalasinya yang tidak memakan waktu lama, menghemat biaya dan relatif aman(default).</div>
<p>M0n0wall menyediakan beberapa image binary yang bisa didapatkan secara gratis di:</p>
<p><a href="http://m0n0.ch/wall/downloads.php">http://m0n0.ch/wall/downloads.php<br />
</a><br />
paket image binary tersebut antara lain :</p>
<ul>
<li>Generic PC/ standard PC untuk di install ke CF atau hardisk:<br />
<a href="http://m0n0.ch/wall/download.php?file=generic-pc-1.231.img">generic-pc-1.231.img</a> versi terakhir(saat ini)</li>
<li>CD-ROM (ISO) image untuk standar PC: <a href="http://m0n0.ch/wall/download.php?file=cdrom-1.231.iso">cdrom-1.231.iso</a></li>
<li>dan lain-lain</li>
</ul>
<p>untuk dokumentasi dan tutorialnya bisa di lihat di:<br />
- <a href="http://doc.m0n0.ch/handbook/">http://doc.m0n0.ch/handbook/</a></p>
<p>Referensi:<br />
- <a href="http://m0n0.ch/wall/">http://m0n0.ch/wall/</a><br />
- <a href="http://wikipedia.org/">http://wikipedia.org</a></p>
<p></span></div>
]]></content:encoded>
			<wfw:commentRss>http://gesang.postnix.org/2007/11/m0n0wall-embedded-firewall-yang-ringan-hemat-biaya-dan-mudah/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Synbak, cara mudah untuk backup</title>
		<link>http://gesang.postnix.org/2007/11/synbak-cara-mudah-untuk-backup/</link>
		<comments>http://gesang.postnix.org/2007/11/synbak-cara-mudah-untuk-backup/#comments</comments>
		<pubDate>Tue, 06 Nov 2007 18:22:00 +0000</pubDate>
		<dc:creator>Pamadi Gesang</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[synback]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Dengan synbak kita dapat mem-backup file atau database dengan mudah baik backup lokal dan remote. Konfigurasinya sederhana sehingga memudahkan kita untuk menggunakan synbak sesuai kebutuhan, dimana synbak menngunakan satu file konfigurasi untuk masing-masing metode yang digunakan. Synbak menggunakan beberapa metode untuk menjalankan backup, antara lain: - RSync over ssh, rsync daemon, smb dan cifs protocols [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: left;">Dengan <a href="http://www.initzero.it/products/opensource/synbak/">synbak</a> kita dapat mem-backup file atau database dengan mudah baik backup lokal dan remote. Konfigurasinya sederhana sehingga memudahkan kita untuk menggunakan synbak sesuai kebutuhan, dimana synbak menngunakan satu file konfigurasi untuk masing-masing metode yang digunakan.</div>
<p><span id="more-12"></span><br />
<span class="fullpost">Synbak menggunakan beberapa metode untuk menjalankan backup, antara lain:<br />
- RSync over ssh, rsync daemon, smb dan cifs protocols<br />
- Tar archives (tar, tar.gz dan tar.bz2)<br />
- Tape devices<br />
- LDAP databases<br />
- MySQL databases<br />
- Oracle databases<br />
- CD-RW/DVD-RW</span></p>
<p>Kehebatan lainnya, setelah mem-backup synbak akan menghasilkan report berupa :<br />
- email<br />
- html<br />
- RSS feeds</p>
<div style="text-align: left;">Dengan report tersebut memudahkan kita untuk memonitoring backup sehingga jika ada kegagalan dalam proses backup kita dapat segera mengetahuinya.<br />
Proses instalasi synbak juga mudah dan tidak memakan waktu yang lama. Berikut ini akan saya contohkan instalsi synbak dan konfigurasinya.</div>
<p><span style="font-weight: bold;">Instalasi synbak</span><br />
Sebelumnya kita harus mengunduh source synbak di : <a href="http://www.initzero.it/portal/en/products/opensource/synbak/download">http://www.initzero.it/portal/en/products/opensource/synbak/download</a></p>
<p>masuklah ke direktori hasil download source synbak dan jangan lupa untuk login sebagai root. berikut ini perintah yang dijalankan di konsole :</p>
<p># tar zxvf synbak-1.0.11.tar.gz -C /usr/src/</p>
<p>masuklah ke direktori hasil extrak synbak dan kemudian di install</p>
<p># cd /usr/src/synbak-1.0.11/<br />
# ./configure<br />
# make<br />
# make install</p>
<div style="text-align: left;">Seperti saya katakan diatas bahwa synbak memerlukan satu file konfigurasi untuk masing-masing metode(laserdisc, ldap, mysql, oracle, rsync, tape, tar) backupnya, misal kita menjalankan synbak sebagi user admin(home direktorinya /home/admin) untuk membackup sistem/komputer dengan nama webserver menggunakan metode tar maka synbak akan memabaca file konfigurasi :</div>
<p>/home/admin/.synbak/tar/webserver.conf</p>
<p>jika dengan metode rsync :</p>
<p>/home/admin/.synbak/rsync/webserver.conf</p>
<p>jika dengan metode mysql( untuk backup database MySQL) :</p>
<p>/home/admin/.synbak/mysql/webserver.conf</p>
<div style="text-align: left;">Jika kita menjalankannya sebagai user root dengan metode rsync untuk membackup sistem/komputer dengan nama www maka synbak akan menggunkana file konfigurasi:</div>
<p>/root/.synbak/rsync/www.conf</p>
<div style="text-align: left;">Pada saat instalasi synbak tidak membuat file konfigurasi dan direktori untuk masing metode, kita bisa membuatnya secara manual atau dengan menjalankan synbak untuk memacingnya karena ketika dijalankan synbak akan memeriksa apakah direktori dan file konfigurasi sudah ada jika tidak ada maka synbak akan membuatkan direktori tersebut berserta file konfigurasi contoh(~/.synbak/example.conf).</div>
<p>Berikut saya contohkan untuk backup serderhana menggunkan beberapa metode baik untuk baukup lokal maupun remote backup.</p>
<div style="text-align: left;">Sebagai contoh disini kita login sebagi user root, sebagai persiapannya kita terlebih dahulu membuat direktori yang diperlukan untuk tempat file konfigurasi.</div>
<p># cd ~<br />
# mkdir .synbak<br />
# cd .synbak<br />
# pwd<br />
/root/.synbak<br />
# mkdir tar mysql rsync</p>
<div style="text-align: left;"><span style="font-weight: bold;">Menggunakan metode tar</span></div>
<p>sistem/komputer lokal yang akan kita backup di beri nama : lok_etc_squid<br />
dengan direktori yang akan dibackup : /etc/squid<br />
direktori penampung hasil backup : /backup/squid-conf<br />
metode : tar<br />
report : html</p>
<div style="text-align: left;">maka harus dibuat file configurasi lok_etc_squid.conf di direktori /root/.synbak/tar/, agar lebih mempermudah kita dapat menggunakan contoh file konfigurasi bawaan synbak sebagai acuan ([direktori-hasil-ekstrak-synbak]/examples/example.conf).</div>
<p># mkdir -p /backup/squid-conf   <span style="font-style: italic;">&lt;-- membuat direktori untuk menampung hasil backup</span><br />
# cd ~/.synbak/tar<br />
# cp /usr/src/synbak-1.0.11/examples/example.conf lok_etc_squid.conf<br />
# pico lok_etc_squid.conf</p>
<p>kemudian editlah file tersebut dan sesuaikan seperti pada baris-baris di bawah ini:</p>
<p><span style="font-family: courier new;">#@@ mandatory backup fields</span><br />
<span style="font-family: courier new;">backup_source        = /etc/squid</span><br />
<span style="font-family: courier new;">backup_destination    = /backup/squid</span></p>
<p><span style="font-family: courier new;">#@@ email output reporting</span><br />
<span style="font-family: courier new;">#report_email        = no </span><br />
<span style="font-family: courier new;">#report_email_on_errors  = yes </span><br />
<span style="font-family: courier new;">#report_email_rcpt    = support@initzero.it </span></p>
<p><span style="font-family: courier new;">#@@ html/rss output reporting</span><br />
<span style="font-family: courier new;">report_html    = yes </span><br />
<span style="font-family: courier new;">report_html_on_errors   = yes </span><br />
<span style="font-family: courier new;">report_html_destination = /var/www/html/admin/log/backup </span><br />
<span style="font-family: courier new;">report_html_uri    = http://localhost/admin/log/backup </span><br />
<span style="font-family: courier new;">report_html_logo    = yes </span><br />
<span style="font-family: courier new;">report_html_logo_image    = </span><br />
<span style="font-family: courier new;">report_html_logo_link    = http://www.initzero.it </span></p>
<p><span style="font-style: italic;">Perhatian:</span><br />
pastikan direktori untuk report_html_destination(/var/www/html/admin/log/backup) ada dan user yang menjalankan synbak mempunyai akses untuk menulis ke direktori tersebut.</p>
<p>setelah disimpan kita sudah bisa melakukan backup dengan perintah :</p>
<p># synbak -s lok_etc_squid -m tar -M gz</p>
<p><span style="font-style: italic;">Catatan:</span></p>
<div style="text-align: left;">maksud perintah diatas adalah memrintahkan synbak untuk membackup sistem yang bernama lok_etc_squid(-slok_etc_squid) dengan metode tar(-m tar) dan dengan hasil backup yang di kompres(-M gz) dimana hasil dari backup akan berupa file dengan ekstensi tar.gz. Jika kita ingin hasil dari backup berupa file kompresi bz2 maka bisa menggunkan opsi -M bz2. Untuk metode tar terdapat 3 opsi yaitu tar, gz dan bz2.</div>
<p>Ketika dalam proses backup synbak juga menghasilkan report yang ditampilkan pada layar sehingga jika ada error/kegagalan dapat diketahui.</p>
<p><span style="font-weight: bold;">Menggunakan metode rsync untuk remote backup via ssh</span></p>
<div style="text-align: left;">Misal kita ingin membackup direktori /var/www/htdoc di komputer lain dengan IP Address 192.168.10.7 dan sistem/komputer tersebut kita beri nama www, file hasil backup akan ditempatkan di direktory /backup/www pada komputer kita.<br />
Karena metode yang digunakan rsync via ssh maka kita harus konfigure ssh server  dan client agar autentifikasinya menggunakan key dan pastikan user yang digunakan mempunyai hak akses terhadap data yang akan di backup. Disini tidak akan dijelaskan bagaimana mengkonfigur autentifikasinya ssh dengan key, tutorial untuk membuat autentifikasi ssh dengan key dapat anda lihat <a href="http://blog.unixlore.net/2006/04/five-minutes-to-more-secure-ssh.html">di sini</a>.</div>
<p>Setelah konfigurasi ssh dengan autentifikasi key sudah dibuat selanjutnya membuat file konfigurasinya, berikut langkah-langkahnya :</p>
<p># mkdir /backup/www<br />
# cd ~/.synbak/rsync<br />
# cp /usr/src/synbak-1.0.11/examples/example.conf www.conf</p>
<p>kemudian editlah file tersebut dan sesuaikan seperti pada baris-baris di bawah ini:</p>
<p><span style="font-family: courier new;">#@@ mandatory backup fields</span><br />
<span style="font-family: courier new;">backup_source        = /var/www/htdocs</span><br />
<span style="font-family: courier new;">backup_destination    = /backup/www</span></p>
<p><span style="font-family: courier new;">#@@ remote backup</span><br />
<span style="font-family: courier new;">backup_remote_uri    = ssh://root@192.168.10.7 </span></p>
<p><span style="font-family: courier new;">#@@ email output reporting</span><br />
<span style="font-family: courier new;">#report_email        = no </span><br />
<span style="font-family: courier new;">#report_email_on_errors  = yes </span><br />
<span style="font-family: courier new;">#report_email_rcpt    = support@initzero.it </span></p>
<p><span style="font-family: courier new;">#@@ html/rss output reporting</span><br />
<span style="font-family: courier new;">report_html        = yes </span><br />
<span style="font-family: courier new;">report_html_on_errors   = yes </span><br />
<span style="font-family: courier new;">report_html_destination = /var/www/html/admin/log/backup </span><br />
<span style="font-family: courier new;">report_html_uri         = http://localhost/admin/log/backup </span><br />
<span style="font-family: courier new;">report_html_logo    = yes </span><br />
<span style="font-family: courier new;">report_html_logo_image    = </span><br />
<span style="font-family: courier new;">report_html_logo_link    = http://www.initzero.it</span></p>
<p>setelah disimpan kita sudah bisa melakukan backup dengan perintah :</p>
<p># synbak -s www -m rsync</p>
<p><span style="font-weight: bold;">Membackup database MySQL</span></p>
<div style="text-align: left;">Synbak bisa digunakan untuk membackup database lokal maupun database di mesin lain, tetapi jika dilakukan untuk membackup database secara remote tentunya akan membahayakan apalagi jika koneksinya melalui jaringan publik(internet) karena ada kemungkinan di sadap.<br />
Berikut contoh backup database MySQL dengan menggunakan metode mysql, misal database yang akan di backup berada di mesin lokal yang diberi nama lok_mysql dan hasil backup di tempatkan di direktori /backup/mysql.</div>
<p># mkdir /backup/mysql<br />
# cd ~/.synbak/mysql<br />
# cp /usr/src/synbak-1.0.11/examples/example.conf lok_mysql.conf</p>
<p>kemudian editlah file tersebut dan sesuaikan seperti pada baris-baris di bawah ini:</p>
<p><span style="font-family: courier new;">#@@ mandatory backup fields</span><br />
<span style="font-family: courier new;">#backup_source        = /</span><br />
<span style="font-family: courier new;">backup_destination    = /backup/mysql</span></p>
<p><span style="font-family: courier new;">#@@ remote backup</span><br />
<span style="font-family: courier new;">backup_remote_uri    = mysql://user:password@localhost </span></p>
<p><span style="font-family: courier new;">#@@ email output reporting</span><br />
<span style="font-family: courier new;">#report_email        = no </span><br />
<span style="font-family: courier new;">#report_email_on_errors  = yes </span><br />
<span style="font-family: courier new;">#report_email_rcpt    = support@initzero.it </span></p>
<p><span style="font-family: courier new;">#@@ html/rss output reporting</span><br />
<span style="font-family: courier new;">report_html        = yes </span><br />
<span style="font-family: courier new;">report_html_on_errors   = yes </span><br />
<span style="font-family: courier new;">report_html_destination = /var/www/html/admin/log/backup </span><br />
<span style="font-family: courier new;">report_html_uri         = http://localhost/admin/log/backup </span><br />
<span style="font-family: courier new;">report_html_logo    = yes </span><br />
<span style="font-family: courier new;">report_html_logo_image    = </span><br />
<span style="font-family: courier new;">report_html_logo_link    = http://www.initzero.it</span></p>
<p><span style="font-style: italic;">Perhatian:</span><br />
pada baris backup_remote_uri = mysql://user:password@localhost, sesuaikan dengan user dan password database MySQL.</p>
<p>setelah disimpan kita sudah bisa melakukan backup dengan perintah :</p>
<p># synbak -s lok_mysql -m mysql</p>
<p>Hasil backup dengan metode diatas berupa mysql dump yang dikompress dengan format bzip2.</p>
<p>Penjadwalan backup<br />
Jika ingin menjalankan backup secara berkala kita dapat menggunakan cron sehingga kita tidak perlu report menjalankan setiap peride tertentu. Untuk melakukan penjadwalan dengan cron dapat anda lihat di sini. http://www.scrounge.org/linux/cron.html</p>
<p>Referensi</p>
<p>http://www.initzero.it/products/opensource/synbak/</p>
<p>http://www.linux.com/feature/120062</p>
]]></content:encoded>
			<wfw:commentRss>http://gesang.postnix.org/2007/11/synbak-cara-mudah-untuk-backup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DNS server menggunakan BIND chroot dengan kontrol rndc key</title>
		<link>http://gesang.postnix.org/2007/11/dns-server-menggunakan-bind-chroot-dengan-kontrol-rndc-key/</link>
		<comments>http://gesang.postnix.org/2007/11/dns-server-menggunakan-bind-chroot-dengan-kontrol-rndc-key/#comments</comments>
		<pubDate>Thu, 01 Nov 2007 12:05:00 +0000</pubDate>
		<dc:creator>Pamadi Gesang</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[DNS]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[BIND(Berkeley Internet Name Domain project) adalah aplikasi DNS server opensource yang sudah terkenal dan stabil. Mengenai sekilas tentang DNS bisa di lihat di postingan saya sebelumnya di sini. Pada tutorial ini kita akan membuat DNS server sederhana menggunakan BIND chroot dan di kontrol dengan rndc key dengan alasan keamanan. Dengan chroot kita dapat membatasi ruang [...]]]></description>
			<content:encoded><![CDATA[<p>BIND(Berkeley Internet Name Domain project) adalah aplikasi DNS server opensource yang sudah terkenal dan stabil. Mengenai sekilas tentang DNS bisa di lihat di postingan saya sebelumnya di sini. Pada tutorial ini kita akan membuat DNS server sederhana menggunakan BIND chroot dan di kontrol dengan rndc key dengan alasan keamanan.<span id="more-13"></span></p>
<p>Dengan chroot kita dapat membatasi ruang lingkup(direktori) user/daemon atau di penjarakan, ini dilakukan untuk memperkuat keamanan sistem. Jika suatu user/daemon yang di chroot maka dia tidak akan bisa keluar dari direktori(home directory) yang telah di tetapkan, hal ini sangat bermanfaat misal user/daemon yang di jail(chroot) telah diambil alih oleh penyusup maka dia tidak akan bisa keluar dari direktory tersebut dan akan mengurangi resiko pencurian data, tidak akan menggangu user lain atau kinerja sistem secara keseluruhan tapi hanya sebagian saja. Oleh karena itu untuk melakukan chroot harus menetukan environment dan permission yang tepat untuk user/daemon yang akan di jail.<br />
Rndc(remote name daemon control) merupakan utility dari bind untuk mengontrol akses daemon, dengan menggunakan rndc bisa mencegah akses user ilegal(unauthorized) dari sistem lain untuk mengontrol BIND di server kita.</p>
<p>Perhatian:<br />
pada tutorial ini sebagai contoh digunakan nama domain feedyourmind.org<br />
nameserver :<br />
192.168.10.1 –&gt; gw.feedyourmind.org<br />
client :<br />
192.168.10.3 –&gt; ubs.feedyourmind.org<br />
192.168.10.4 –&gt; dp.feedyourmind.org</p>
<p>Selanjutnya adalah langkah-langkah untuk menginstalasi bind yang di jail dan menggunkana rndc.</p>
<p>Instalasi BIND<br />
Untuk mendapatkan bind versi terbaru bisa di download di http://www.isc.org/products/BIND/. Pada tutorial ini saya menggunakan bind-9.4.1.tar.gz, setelah di download loginlah sebagai root kemudian pindahkan file tersebut ke direktori /usr/src. Jalankan perintah-perintah berikut:</p>
<p># cd /usr/src<br />
# tar zxvf bind-9.4.1.tar.gz</p>
<p>selanjutnya di konfigur</p>
<p># cd bind-9.4.1<br />
# ./configure –prefix=/usr/local</p>
<p>dengan menggunakan –prefix=/usr/local maka file hasil istalasi akan di tempatkan dibawah direktori /usr/local. Jika tidak ada error lanjutkan dengan make dan make install</p>
<p># make<br />
# make install</p>
<p>Membuat user, group dan direktori untuk chroot BIND<br />
Setelah instalasi selesai tanpa error berikutnya membuat group dan user named untuk menjalankan bind(daemon).</p>
<p># groupadd named<br />
# useradd -g named -g /chroot/named -s /bin/true named</p>
<p>kemudian kunci user named</p>
<p># passwd -l named</p>
<p>membuat direktori untuk memenjarakan user named</p>
<p># mkdir -p /chroot/named</p>
<p>opsi -p digunakan agar sekaligus membuat parent direktorinya(/chroot), kemudian masuk ke direktori yang baru dibuat</p>
<p>membuat direktori yang diperlukan dibawah direktori /chroot/named</p>
<p># cd /chroot/named<br />
# mkdir dev<br />
# mkdir etc<br />
# mkdir -p var/run<br />
# mkdir conf/secondaries</p>
<p>membuat device yang diperlukan dan mengkopi file timezone</p>
<p># cd /chroot/named<br />
# mknod dev/null c 1 3<br />
# mknod dev/zero c 1 5<br />
# mknod dev/random c 1 8<br />
# cp /etc/localtime etc</p>
<p>Konfigurasi named<br />
setelah direktori untuk men-jail sudah siap selanjutnya membuat file configurasi /chroot/named/etc/named.conf dengan menggunakan teks editor vi, pico atau yang lain.</p>
<p># pico /chroot/named/etc/named.conf</p>
<p>isi dari file /chroot/named/etc/named.conf sebagai berikut :</p>
<p>#<br />
# /chroot/named/etc/named.conf<br />
#</p>
<p>options {<br />
directory “/conf”;<br />
# direktori letak data file zona<br />
pid-file “/var/run/named.pid”;<br />
statistics-file “/var/run/named.stats”;<br />
dump-file “/var/run/named.db”;</p>
<p># direktori /conf dan /var/run disini bukanlah terletak di bawah<br />
# direktori root(/) tetapi terletak di bawah direktori<br />
# /chroot/named, hal ini dikarenakan user/daemon named di chroot<br />
# sehingga root direktori dari named adalah /chroot/named.</p>
<p># hide our “real” version number<br />
version “[secured]“;</p>
<p>// query-source address * port 53;<br />
};</p>
<p>zone “.” IN {<br />
type hint;<br />
file “db.rootcache”;<br />
# file yang memuat record root server<br />
};</p>
<p>zone “localhost” IN {<br />
type master;<br />
file “db.localhost”;<br />
};</p>
<p>zone “0.0.127.in-addr.arpa” IN {<br />
type master;<br />
file “db.127.0.0.”;<br />
notify no;<br />
};</p>
<p>zone “feedyourmind.org” IN {<br />
type master;<br />
file “db.feedyourmind.org”;<br />
};<br />
# pada baris diatas didefinisikan sebuah zona yaitu feedyourmind.org<br />
# dengan nama datafile zonanya db.feedyourmind.org yang terletak di<br />
# direktori /chroot/named/conf</p>
<p>zone “10.168.192.in-addr.arpa” IN {<br />
type master;<br />
file “db.192.168.10″;<br />
};<br />
# pada baris diatas didefinisikan sebuah zona untuk reverse lookup<br />
# yaitu 10.168.192.in-addr.arpa dengan nama datafile zonanya<br />
# db.192.168.10 yang terletak di direktori /chroot/named/conf</p>
<p>setelah disimpan buatlah link dari file named.conf</p>
<p># ln -s /chroot/named/etc/named.conf /etc/named.conf</p>
<p>Konfigurasi rndc<br />
setelah selesai dengan named.conf selanjutnya mengkonfigurasi rndc dengan men-generate rndc key dengan dnssec-keygen.</p>
<p># cd /chroot/named/etc<br />
# /usr/local/sbin/dnssec-keygen -a HMAC-MD5 -b 256 -n HOST rndc</p>
<p>jika sukses akan terdapat dua file baru yaitu</p>
<p># ls -alh /chroot/named/etc<br />
…<br />
-rw——- 1 root root 112 2007-10-30 14:46 Krndc.+157+26911.private<br />
-rw——- 1 root root 68 2007-10-30 14:46 Krndc.+157+26911.key<br />
…</p>
<p>kemudian membuat file configurasi rndc yaitu /chroot/named/etc/rndc.conf</p>
<p># pico /chroot/named/etc/rndc.conf</p>
<p>isi file rndc.conf sebagai berikut</p>
<p>#<br />
# /chroot/named/etc/rndc.conf<br />
#</p>
<p>options {<br />
default-server 127.0.0.1;<br />
default-key “rndc-key”;<br />
};</p>
<p>server 127.0.0.1 {<br />
key “rndc-key”;<br />
};</p>
<p>key “rndc-key” {<br />
algorithm “hmac-md5″;<br />
secret “secret key;<br />
};</p>
<p>PERHATIAN…!<br />
editlah file rndc.conf diatas pada bagian:</p>
<p>key “rndc-key” {<br />
algorithm “hmac-md5″;<br />
secret “secret key;<br />
};</p>
<p>gantilah “secret key” dengan key pada file Krndc.+157+26911.private yang merupakan hasil generate menggunakan dnssec-keygen. misal:</p>
<p># cd /chroot/named/etc<br />
# cat Krndc.+157+26911.private<br />
Private-key-format: v1.2<br />
Algorithm: 157 (HMAC_MD5)<br />
Key: 13Ms0r2NEoJ+ngxsa/fg9×8ed6X5LrvAklZmuUquJ8E= &lt;– secret key<br />
Bits: AAA=</p>
<p>sehingga file rndc.conf pada bagian tersebut menjadi seperti berikut</p>
<p>key “rndc-key” {<br />
algorithm “hmac-md5″;<br />
secret “13Ms0r2NEoJ+ngxsa/fg9×8ed6X5LrvAklZmuUquJ8E=;<br />
};</p>
<p>yang perlu diperhatikan disini bahwa key hasil generate dnssec-keygen selalu berbeda-beda, jadi isilah secret key dengan key hasil generate dnssec-keygen yang outputnya berupa file berekstensi .private. buatlah link dari /chroot/named/etc/rndc.conf</p>
<p># ln -s /chroot/named/etc/rndc.conf /usr/local/etc/rndc.conf<br />
# ln -s /chroot/named/etc/rndc.conf /etc/rndc.conf</p>
<p>selanjutnya dengan editlah file named.conf, tambahkan beberapa baris di bagian awal sehingga menjadi seperti di bawah ini:</p>
<p>#<br />
# /chroot/named/etc/named.conf<br />
#</p>
<p># awal tambahan<br />
controls {<br />
inet 127.0.0.1 allow { 127.0.0.1; } keys { rndc-key; };<br />
};</p>
<p>key “rndc-key” {<br />
algorithm “hmac-md5″;<br />
secret “13Ms0r2NEoJ+ngxsa/fg9×8ed6X5LrvAklZmuUquJ8E=;<br />
# pada baris di atas harus sama dengan secret key<br />
# pada /chroot/named/etc/rndc.conf<br />
};<br />
# akhir tambahan</p>
<p>options {<br />
directory “/conf”;<br />
# baris diatas menyatakan direktori letak data file zona pid-file “/var/run/named.pid”; statistics-file “/var/run/named.stats”;<br />
dump-file “/var/run/named.db”;<br />
# direktori /conf dan /var/run disini bukanlah terletak di bawah<br />
# direktori root(/) tetapi terletak di bawah direktori<br />
# /chroot/named, hal ini dikarenakan user/daemon named di chroot<br />
# sehingga root direktori dari named adalah /chroot/named.<br />
# hide our “real” version number<br />
version “[secured]“;<br />
// query-source address * port 53;<br />
};</p>
<p>zone “.” IN {<br />
type hint;<br />
file “db.rootcache”;<br />
# file yang memuat record root server<br />
};</p>
<p>zone “localhost” IN {<br />
type master;<br />
file “db.localhost”;<br />
};</p>
<p>zone “0.0.127.in-addr.arpa” IN {<br />
type master;<br />
file “db.127.0.0.”;<br />
notify no;<br />
};</p>
<p>zone “feedyourmind.org” IN {<br />
type master;<br />
file “db.feedyourmind.org”;<br />
};<br />
# pada baris diatas didefinisikan sebuah zona yaitu feedyourmind.org<br />
# dengan nama datafile zonanya db.feedyourmind.org yang terletak di<br />
# direktori /chroot/named/conf</p>
<p>zone “10.168.192.in-addr.arpa” IN {<br />
type master;<br />
file “db.192.168.10″;<br />
};<br />
# pada baris diatas didefinisikan sebuah zona untuk reverse lookup<br />
# yaitu 10.168.192.in-addr.arpa dengan nama datafile zonanya<br />
# db.192.168.10 yang terletak di direktori /chroot/named/conf</p>
<p>selanjutnya hapuslah file hasil generate dnssec-keygen yang berekstensi .private</p>
<p># cd /chroot/named/etc<br />
# rm -rf Krndc.+157+26911.private</p>
<p>Konfigurasi zona<br />
Setelah file konfigurasi named dan rndc selesai selanjutnya membuat db.rootcache yang berisi daftar alamat server root, untuk membuatnya bisa dengan menjalankan perintah seperti berikut:</p>
<p># dig @a.root-servers.net . ns &gt; /chroot/named/conf/db.rootcache</p>
<p>buatlah file zone untuk localhost dengan nama db.localhost.</p>
<p># pico /chroot/named/conf/db.localhost</p>
<p>berikut isi dari file tersebut:</p>
<p>;<br />
; db.localhost<br />
;<br />
$TTL 86400</p>
<p>@ IN SOA @ root (<br />
1001 ; serial<br />
3H ; refresh<br />
15M ; retry<br />
1W ; expiry<br />
1D ) ; minimum</p>
<p>IN NS @<br />
IN A 127.0.0.1</p>
<p>buatlah file zone untuk 0.0.127.in-addr.arpa dengan nama db.localhost.</p>
<p># pico /chroot/named/conf/db.127.0.0</p>
<p>berikut isi dari file tersebut:</p>
<p>;<br />
; db.127.0.0<br />
;<br />
$TTL 86400<br />
@ IN SOA localhost. root.localhost. (<br />
1 ; Serial<br />
28800 ; Refresh<br />
14400 ; Retry<br />
3600000 ; Expire<br />
86400 ) ; Minimum<br />
IN NS localhost.<br />
1 IN PTR localhost.</p>
<p>Selanjutnya, kriteria zona yang akan dibuat adalah sebagai berikut:</p>
<p>domain :<br />
feedyourmind.org<br />
nameserver :<br />
192.168.10.1 –&gt; gw.feedyourmind.org<br />
client :<br />
192.168.10.7 –&gt; ubs.feedyourmind.org<br />
192.168.10.8 –&gt; dp.feedyourmind.org<br />
maka buatlah dua buah file zona feedyourmind.org untuk forward-mapping (memetakan nama ke IP Address) dengan nama db.feedyourmind.org dan file zona untuk reverse-mapping (memetakan IP Address ke nama) dengan nama db.192.168.10 (sesuai nama file yang telah didefinisikan di named.conf).</p>
<p># pico /chroot/named/conf/db.feedyourmind.org</p>
<p>berikut ini isi dari file tersebut:</p>
<p>$ORIGIN feedyourmind.org.<br />
$ttl 86400<br />
@ IN SOA gw.feedyourmind.org. root.gw.feedyourmind.org. (<br />
1001 ; serial<br />
3H ; refresh 3 jam<br />
15M ; retry 15 menit<br />
1W ; expiry 1 minggu<br />
1D ) ; minimum 1 hari<br />
IN NS gw<br />
IN MX 10 gw<br />
gw IN A 192.168.10.1<br />
ubs IN A 192.168.10.7<br />
dp IN A 192.168.10.8<br />
www IN CNAME dp</p>
<p>Keterangan:</p>
<p>@ IN SOA gw.feedyourmind.org. root.gw.feedyourmind.org.<br />
Maksud baris diatas adalah gw.feedyourmind.org.(penulisan host diakhiri dengan tanda titik) sebagai host yang diberi otoritas dan root.gw.feedyourmind.org. personal(mail) yang bertanggungjawab.</p>
<p>1001 ;serial<br />
Merupaka penomoran terhadap perubahan pada file zona tersebut, ketika kita melakukan perubahan terhadap file zona tersebut maka serial tersebut juga harus dinaikan agar slave(secondary) name server mengenalinya dan melakukan update/backup(zona transfer).</p>
<p>3H ; refresh 3 jam<br />
Agar slave(secondary) mengecek untuk update setiap 3 jam.</p>
<p>15M ; retry 15 menit<br />
Jika master DNS server gagal menjawab request dari slave maka baris diatas memberitahukan jangka waktu untuk mencoba update lagi bagi slave.</p>
<p>1W ; expiry 1 minggu<br />
Jika DNS master tidak berfungsi dalan jangka waktu tertentu, maka baris diatas akan menjadi acuan bagi slave untuk meneruskan menggunakan data yang telah ada sampai expired.</p>
<p>1D ) ; minimum 1 hari<br />
Negatif-caching TTL</p>
<p>IN NS gw<br />
NS nameserver zona feedyourmind.org (gw.feedyourmind.org)</p>
<p>IN MX 10 gw<br />
Prioritas mail exchanger(MX) pada domain, jika mempunyai lebih dari satu mail server pada domain tersebut maka prioritasnya berdasarkan angka terkecil.</p>
<p>gw IN A 192.168.10.1<br />
ubs IN A 192.168.10.7<br />
dp IN A 192.168.10.8<br />
memetakan nama ke IP Address, misal host dp(dp.feedyourmind.org) IP Addressnya 192.168.10.8</p>
<p>www IN CNAME dp<br />
CNAME (canonical name) atau nama alias dari A record, jadi baris diatas menyatakan bahwa www(www.feedyourmind.org) merupakan nama alias dari dp(dp.postix.org). Satu A record bisa mempunyai beberapa nama alias(canonical name).</p>
<p># pico /chroot/named/conf/db.192.168.10</p>
<p>berikut ini isi dari file tersebut :</p>
<p>$ORIGIN 10.168.192.in-addr.arpa.<br />
$ttl 86400<br />
@ IN SOA gw.feedyourmind.org. root.gw.feedyourmind.org. (<br />
20060706<br />
21600<br />
3600<br />
604800<br />
21600 )</p>
<p>IN NS gw.feedyourmind.org.<br />
1 IN PTR gw.feedyourmind.org.<br />
7 IN PTR ubs.feedyourmind.org.<br />
8 IN PTR dp.feedyourmind.org.</p>
<p>Keterangan:</p>
<p>1 IN PTR gw.feedyourmind.org.<br />
baris(record) diatas menyatakan bahwa IP Address 1(192.168.10.1) bernama gw.feedyourmind.org.</p>
<p>kemudian jangan lupa untuk mengedit file /etc/resolv.conf dengan memasukan IP Address dari nameserver.</p>
<p># pico /etc/resolv.conf</p>
<p>berikut isi dari file tersebut</p>
<p>#<br />
# /etc/resolv.conf<br />
#<br />
nameserver 192.168.10.1</p>
<p>Seting file permission dan membuat script untuk mejalankan BIND<br />
Mengatur file permission untuk linkungan tempat named di jail</p>
<p># cd /chroot/named<br />
# chown root:root var/<br />
# chmod u=rwx,og=x var/<br />
# chown root:named var/run/<br />
# chmod u=rwx,og=x var/run/</p>
<p># chown -R root:named etc/<br />
# chmod u=rw,og=r etc/localtime<br />
# chmod u=rw,og=r etc/*.key<br />
# chmod u=rw,g=r,o= etc/*.conf</p>
<p># chown root:named conf/<br />
# chown root:named conf/secondaries/<br />
# chmod ug=rwx,o= conf/secondaries/</p>
<p>Untuk mempermudah menjalankan daemon named yang di chroot maka buatlah script dengan nama named.sh di direktori /chroot/.</p>
<p># pico /chroot/named.sh</p>
<p>berikut isi file tersebut</p>
<p>#!/bin/sh<br />
# Start/Stop/Restart the BIND<br />
# /chroot/named.sh<br />
PIDWD=/chroot/named/var/run</p>
<p>named_start() {<br />
/usr/local/sbin/named -t /chroot/named -u named -c /etc/named.conf<br />
}</p>
<p>named_stop() {<br />
killall named<br />
}</p>
<p>named_restart() {<br />
if [ -r $PIDWD/named.pid ]; then<br />
named_stop<br />
fi<br />
named_start<br />
}</p>
<p>case “$1″ in<br />
’start’)<br />
echo “Starting: BIND”<br />
named_start<br />
;;<br />
’stop’)<br />
echo “Stopping: BIND”<br />
named_stop<br />
;;<br />
‘restart’)<br />
echo “Restarting: BIND”<br />
named_restart<br />
;;<br />
*)<br />
echo “cara menggunakan # $0 start|stop|restart”<br />
esac</p>
<p>untuk menggunakan cukup dengan perintah</p>
<p># /chroot/named.sh start<br />
untuk menjalankan service BIND</p>
<p># chroot/named.sh stop<br />
untuk menghentikan service BIND</p>
<p># chroot/named.sh restart<br />
untuk merestart service BIND</p>
<p>Sampai pada tahap ini BIND sudah dapat berfungsi dan bisa di ujicoba, untuk mengujinya bisa menggunakan utility dig seperti contoh dibawah ini:</p>
<p># /chroot/named.sh start<br />
Starting: BIND<br />
# dig www.feedyourmind.org</p>
<p>; &lt;&lt;&gt;&gt; DiG 9.4.1 &lt;&lt;&gt;&gt; www.feedyourmind.org<br />
;; global options: printcmd<br />
;; Got answer:<br />
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 63041<br />
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1</p>
<p>;; QUESTION SECTION:<br />
;www.feedyourmind.org. IN A</p>
<p>;; ANSWER SECTION:<br />
www.feedyourmind.org. 86400 IN CNAME dp.feedyourmind.org.<br />
dp.feedyourmind.org. 86400 IN A 192.168.10.8</p>
<p>;; AUTHORITY SECTION:<br />
feedyourmind.org. 86400 IN NS gw.feedyourmind.org.</p>
<p>;; ADDITIONAL SECTION:<br />
gw.feedyourmind.org. 86400 IN A 192.168.10.1</p>
<p>;; Query time: 5 msec<br />
;; SERVER: 192.168.10.1#53(192.168.10.1)<br />
;; WHEN: Thu Nov 1 18:48:09 2007<br />
;; MSG SIZE rcvd: 99<br />
Seperti contoh diatas, jika BIND berfungsi dengan baik maka akan memberi jawaban terhadap query kita untuk host www.feedyourmind.org bahwa host tersebut merupakan CNAME (canonical name) dari dp.feedyourmind.org dengan IP Address 192.168.10.8 seperti tertera pada ANSWER SECTION diatas.</p>
<p>CMIIW</p>
<p>referensi</p>
<p>http://id.wikipedia.org/wiki/DNS</p>
<p>http://www.unixwiz.net/</p>
]]></content:encoded>
			<wfw:commentRss>http://gesang.postnix.org/2007/11/dns-server-menggunakan-bind-chroot-dengan-kontrol-rndc-key/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
