<?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; Security</title>
	<atom:link href="http://gesang.postnix.org/tag/security/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=2327</generator>
		<item>
		<title>Blok windows shortcut exploit</title>
		<link>http://gesang.postnix.org/2010/07/blok-windows-shortcut-exploit/</link>
		<comments>http://gesang.postnix.org/2010/07/blok-windows-shortcut-exploit/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 15:17:57 +0000</pubDate>
		<dc:creator>Pamadi Gesang</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[free tools]]></category>
		<category><![CDATA[malware]]></category>

		<guid isPermaLink="false">http://gesang.postnix.org/2010/07/blok-windows-shortcut-exploit/</guid>
		<description><![CDATA[Malware terbaru yang mengexploitasi kelemaham pada windows shorcut yang dikenal dengan nama CPLINK, dimana sampai saat ini(tanggal posting) belum ada update dari microsoft cukup merepotkan. Malware tersebut menyebar melalui usb walaupun autorun dalam kondisi disable dan menginfeksi di windows xp/vista/7. Untuk mencegah atau membersihkanya bisa menggunakan tool gratis dari Sophos yang bisa di dowload pada [...]]]></description>
			<content:encoded><![CDATA[<p>Malware terbaru yang mengexploitasi kelemaham pada windows shorcut yang dikenal dengan nama CPLINK, dimana sampai saat ini(tanggal posting) belum ada update dari microsoft cukup merepotkan.</p>
<p>Malware tersebut menyebar melalui usb walaupun autorun dalam kondisi disable dan menginfeksi di windows xp/vista/7.</p>
<p>Untuk mencegah atau membersihkanya bisa menggunakan tool gratis dari Sophos yang bisa di dowload pada link berikut:</p>
<p>http://www.sophos.com/products/free-tools/sophos-windows-shortcut-exploit-protection-tool.html</p>
]]></content:encoded>
			<wfw:commentRss>http://gesang.postnix.org/2010/07/blok-windows-shortcut-exploit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>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>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>
		<item>
		<title>Point Penting Keamanan Linux</title>
		<link>http://gesang.postnix.org/2007/08/point-penting-keamanan-linux/</link>
		<comments>http://gesang.postnix.org/2007/08/point-penting-keamanan-linux/#comments</comments>
		<pubDate>Sat, 18 Aug 2007 18:17:00 +0000</pubDate>
		<dc:creator>Pamadi Gesang</dc:creator>
				<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Semakin kita merasa aman akan semakin kurang perhatian kita terhadap keamanan itu sendiri yang seharusnya kita selalu waspada. Apalagi jika di komputer terdapat data-data yang sangat rahasia dan merupakan aset penting perusahaan tentunya diperlukan pengamanan ekstra ketat jangan sampai hilang atau bocor ke tangan yang tidak dikehendaki. Disamping itu kita juga harus selalu mengikuti perkembangan [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: left;">Semakin kita merasa aman akan semakin kurang perhatian kita terhadap keamanan itu sendiri yang seharusnya kita selalu waspada. Apalagi jika di komputer terdapat data-data yang sangat rahasia dan merupakan aset penting perusahaan tentunya diperlukan pengamanan ekstra ketat jangan sampai hilang atau bocor ke tangan yang tidak dikehendaki.<span id="more-17"></span></div>
<div style="text-align: left;">Disamping itu kita juga harus selalu mengikuti perkembangan karena setiap saat muncul tehnik baru untuk menjebol/menyusup atau merusak komputer. Alasan untuk selalu waspada karena tehnik menyusup atau merusak selangkah di depan dibanding tehnik mengamankan, seperti halnya virus akan muncul lebih dulu dan vaksinnya baru dibuat setelah virus itu ada.<br />
Hal yang mungkin bisa kita lakukan adalah meminimalisir celah-celah keamanan yang ada pada komputer kita serta selalu waspada karena kunci keamanan sebenarnya ada pada kita sendiri.<br />
Jika ada yang mangatakan bahwa Linux adalah OS yang aman maka hal ini perlu di kaji lagi dan mungkin terlalu percaya diri. Para master security mengatakan bahwa tidak ada OS yang seratus persen aman. Memang linux atau keluarga Unix lebih aman terhadap serangan virus dibanding Microsoft, maaf bukanya mau membanding-bandingkan tetapi ini kenyataan dan tentunya masing-masing punya kelebihan yang tak dipunyai pihak lainnya. Untuk Distro Linux secara default memang sudah disertakan tool untuk mengamankan system dan file permission yang ketat, tinggal bagaimana kita mengkonfigurasinya.</div>
<p>Berikut poin-poin penting untuk mengamankan Linux.</p>
<ul>
<li style="text-align: left;">- <span style="font-weight: bold;">Kontrol akses fisik</span>. Menempatkan komputer di dalam ruangan yang terkunci atau membatasi orang yang boleh masuk keruangan tersebut, hal ini khususnya untuk komputer yang menyimpan data-data penting. Membatasi akses fisik terhadap komputer tersebut dengan memberi password pada BIOS, GRUB atau LILO boot loader.</li>
<li style="text-align: left;">- <span style="font-weight: bold;">Add users dan passwords</span>. Membuat user berdasarkan keperluan dan hanya memberikan akses terbatas sesuai kepentingan. Selain itu user harus menggunakan password yang baik seperti minimal 6 karakter dan terdiri dari kombinasi huruf, angka dan karakter lain serta mengganti password secara berkala. Memasukan user ke dalam group yang sudah ditentukan hak aksesnya dalam group.</li>
<li style="text-align: left;">- <span style="font-weight: bold;">Pengaturan ijin read, write dan execute</span>. Di Linux, masing-masing item(file, direktory, aplikasi dan peralatan) dapat dibatasi penggunaannya berdasarkan read(baca), write(tulis) dan execute(eksekusi) terhadap user atau group. Maka kita harus berhati-hati dalam menetukan file permission kepada siapa saja dan group mana yang boleh mengases dan yang tidak, terutama file atau aplikasi untuk administrasi sistem dan data-data rahasia. Misal pada user A yang masuk dalam group akunting diperbolehkan menulis dan membaca data-data group akunting yang dibuat oleh user lain yang masih dalam satu group akunting, tetapi user A tidak boleh mengakses data dari group HRD.</li>
<li style="text-align: left;">- <span style="font-weight: bold;">Melindungi user root</span>. Karena user root merupakan user yang mempunyai akses penuh terhadap system tentunya akan sangat membahayakan jika sampai jatuh ke pihak yang tidak dikehendaki. Jangan menggunakan user root jika tidak diperlukan dan berpikirlah sebelum mengetik, menjalankan perintah atau menangani file/data(modifikasi, tulis dsb). Gunakanlah user biasa untuk login ke mode grafik/desktop dan menggunakan sudo untuk menjalankan perintah administrasi akan mengurangi resiko serangan terhadap user root.</li>
<li style="text-align: left;">- <span style="font-weight: bold;">Gunakan software yang terpercaya</span>. Sebagian besar piranti lunak opensource tanpa disertai garansi dari pembuatnya oleh karena itu sebaiknya menggunakan software yang sudah mapan atau stabil dan terpercaya demikian juga untuk update dan add-onnya. Dengan menggunakan Kunci GPG publik yang valid akan membantu untuk meyakinkan bahwa software yang kita install berasal dari vendor yang valid. Jika kita mendownload distribusi full ISO image maka harus di periksa intergritasnya dengan checksum MD5 atau SHA1 yang disedian oleh pembuatnya.</li>
<li style="text-align: left;">- <span style="font-weight: bold;">Selalu mengupdate software</span>. Celah keamanan dan bug sering ditemukan dalam paket software, setiap pembuat distro Linux besar(Debian, Suse, Redhat, Gentoo, Ubuntu dsb) selalu menyediakan tool untuk update, maka pastikan untuk selalu mengupdate khususnya linux yang diajalankan sebagai server.</li>
<li style="text-align: left;">- <span style="font-weight: bold;">Menggunakan aplikasi yang aman</span>. Meskipun suatu aplikasi berjalan stabil dan valid tetapi kita juga harus memilih menggunakan software yang mempunyai tingkat keamanan lebih baik. Misal jika kita ingin login secara remote melalui jaringan publik(internet) sebaiknya menggunakan Secure Shell Service(SSH) daripada menggunakan rlogin dan telnet(mengirimkan passwordnya clear text). Jika kita menjalankan service untuk file sharing(samba atau NFS) sebaiknya jangan dibuka akses untuk jaringan publik(internet) tetapi jika diperlukan untuk mangakses file sharing tersebut dan melalui internet sebaiknya menggunakan VPN tunnels(IPSec atau CIPE).</li>
<li style="text-align: left;">- <span style="font-weight: bold;">Menggunakan firewall untuk membatasi akses keluar dan masuk</span>. Tugas firewall adalah mengijinkan koneksi masuk/keluar dan mencegah koneksi masuk/keluar berdasar rule yang telah di tetapkan sebelumnya. Untuk desktop sebaiknya menolak koneksi yang datang dari luar ke banyak port di komputer desktop tersebut. untuk server sebaiknya hanya mengijinkan koneksi yang datang ke port tertentu saja tergantung service yang di jalankan dan koneksi tersebut harus terkontrol dengan baik.</li>
<li style="text-align: left;">- <span style="font-weight: bold;">Hanya menjalankan sevice yang di perlukan</span>. Service di Linux(samba, http, mail dsb) yang berjalan di background(daemon) akan listen pada beberapa port, dimana tiap-tiap daemon akan listen pada port yang berbeda-beda. Semakin banyak port yang terbuka akan meningkatkan potensi serangan oleh pihak lain, oleh karena itu komputer/server hanya menjalankan service yang diperlukan saja.</li>
<li style="text-align: left;">- <span style="font-weight: bold;">Membatasi akses ke servis</span>. Sebaiknya kita membatasi akses ke servis sesuai yang kita inginkan dengan hanya memperbolehkan akses dari host/network, domain atau network interface tertentu. Hal ini untuk mencegah koneksi yang datang dari pihak yang tidak diinginkan yang juga bisa berpotensi sebagai serangan. Misal samba hanya boleh diakses oleh LAN dan tidak untuk permintan dari internet, lain halnya untuk layanan mail server yang diperuntukan untuk diakses dari internet dan tidak boleh diakses dari LAN ataupun sebaliknya.</li>
<li style="text-align: left;">- <span style="font-weight: bold;">Audit sistem</span>. Linux mempunyai banyak sekali tool untuk memeriksa keamanan sistem. Setelah Linux selesai di install kita dapat mengecek port yang terbuka menggunakan <a href="http://insecure.org/nmap/">Nmap</a> atau melihat netwotk trafik dengan menggunakan <a href="http://www.ethereal.com/">Etheral</a>, untuk memeriksa vulnerability secara keseluruhan bisa menggunakan <a href="http://www.nessus.org/">nessus</a>.</li>
<li style="text-align: left;">- <span style="font-weight: bold;">Memonitor sistem</span>. Di Linux , hampir semua aktifitas sistem dapat di log dengan menggunakan fasilitas syslogd dan klogd yang dapat dikonfigurasi sesuai kebutuhan. Dengan manggunakan tool seperti <a href="http://www2.logwatch.org:81/">logwatch</a> akan memudahkan kita untuk monitor sistem yang dapat di forward ke email.</li>
<li style="text-align: left;">- <span style="font-weight: bold;">Menggunakan SELinux</span>(Security Enhancement Linux). SELinux mempunyai fitur yang sangat banyak dan komplek untuk mengatur akses  file, direktory, aplikasi dan device pada sistem linux. SELinux akam memperkuat kernel dengan menggunakan metode policy dan context.</li>
</ul>
<div style="text-align: left;">Setelah beberapa hal diatas disesuaikan pada sistem linux kita bukan berarti kita sudah bisa tidur nyenyak tanpa memikirkan lagi keamanan sistem linux kita, hal itu adalah keliru karena setiap saat tehnik serangan terus berkembang dan menggunkan cara-cara yang lebih baru.<br />
Jadi kunci keamanan sebenarnya ada pada dirikita sendiri dan satu hal lagi....</div>
<p>Waspadalah.... waspadalah..... (kata bang napi)</p>
<p>Referensi :<br />
Linux Bible 2007</p>
]]></content:encoded>
			<wfw:commentRss>http://gesang.postnix.org/2007/08/point-penting-keamanan-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
