{"id":41,"date":"2007-10-03T08:09:38","date_gmt":"2007-10-03T08:09:38","guid":{"rendered":"http:\/\/masrifqi.web.id\/wp\/?p=41"},"modified":"2010-12-16T11:25:40","modified_gmt":"2010-12-16T04:25:40","slug":"chroot-jail-menggunakan-openssh","status":"publish","type":"post","link":"http:\/\/masrifqi.staff.ugm.ac.id\/index.php\/2007\/10\/chroot-jail-menggunakan-openssh\/","title":{"rendered":"Chroot (jail) di OpenSSH"},"content":{"rendered":"<p>Chroot (jail) merupakan metode root direktori (\/) virtual yang akan menjadikan home direktori dari  suatu user seperti root (\/) di sistemnya sendiri sehingga mencegah user tersebut dapat naik ke level direktori yang lebih tinggi dan mengambil informasi dari sistem tersebut, disini distro yang digunakan Slackware 12 dan menggunakan OpenSSH, langkah pertama untuk membuatnya adalah mengambil paket OpenSSH, dan sebelumnya pastikan paket OpenSSH yang terinstall sebelumnya diremove terlebih dahulu sebelum memulai proses instalasi<\/p>\n<pre>wget ftp:\/\/ftp.openbsd.org\/pub\/OpenBSD\/OpenSSH\/portable\/openssh-4.6p1.tar.gz<\/pre>\n<p>dan agar OpenSSH dapat menjalankan fungsi jail (memenjarakan) maka kita harus mempatch-nya terlebih dahulu, dan patch-nya dapat diambil disini <!--more--> <\/p>\n<pre>http:\/\/paradigma.pt\/~gngs\/sshjail\/downloads\/openssh-4.6p1-sshjail.patch<\/pre>\n<p>selanjutnya ekstrak OpenSSH dan patch dengan patch yang baru kita download tadi<\/p>\n<pre>tar xvzf openssh-4.6p1.tar.gz\r\ncd openssh-4.6p1\r\npatch -p0 < ..\/openssh-4.6p1-sshjail.patch<\/pre>\n<p>kemudian jalankan perintah configure, compile (make), dan install (make install) (opsi-opsinya dapat anda sesuaikan sendiri :p )<\/p>\n<pre>.\/configure --with-md5-passwords --prefix=\/opt\/ sysconfdir=\/etc\/ssh\/\r\nmake\r\nmake install<\/pre>\n<p>buat file konfigurasi \/etc\/sshjail.conf dengan opsi sebagai berikut<\/p>\n<pre>chroot=\/home\/rifqi users=rifqi<\/pre>\n<p>kemudian buat user yang nantinya akan kita \"penjarakan\" nantinya<\/p>\n<pre>adduser rifqqi\r\nbla\r\nbla\r\nbla..<\/pre>\n<p>buat direktori yang nantinya akan menjadi root (\/) direktori user tersebut dan sesuaikan kepemilikanya dan group-nya<\/p>\n<pre>mkdir -p \/home\/rifqi\/{dev,etc,home\/rifqi,bin,lib}\r\nchmod 0511 \/home\/rifqi\/{dev,etc,bin,home,lib}<\/pre>\n<p>buat device \/dev\/null untuk user dengan perintah<\/p>\n<pre>mknod \/home\/rifqi\/dev\/null c 1 3 chmod 666 \/home\/rifqi\/dev\/null<\/pre>\n<p>salin bash dan comaand-command yang nantinya akan digunakan oleh user<\/p>\n<pre>cp \/usr\/bin\/bash \/home\/rifqi\/bin\/\r\ncp \/bin\/{ln,ls,rm,mv,cp,mkdir} \/home\/rifqi\/bin\r\ncp \/bin\/du \/home\/rifqi\/bin<\/pre>\n<p>cek library yang digunakan dari masing-masing command tersebut<\/p>\n<pre>ldd \/bin\/bash\r\nldd \/bin\/ls<\/pre>\n<p>salin library-library dari hasil ldd tersebut ke direktori \/lib dari user<\/p>\n<pre>cp \/lib\/libtermcap.so.2 \/home\/rifqi\/lib\r\ncp \/lib\/libdl.so.2 \/home\/rifqi\/lib\r\ncp \/lib\/libc.so.6\/home\/rifqi\/lib\r\ncp \/lib\/ld-linux.so.2 \/home\/rifqi\/lib\r\ncp \/lib\/librt.so.1 \/home\/rifqi\/lib\r\ncp \/lib\/libacl.so.1 \/home\/rifqi\/lib\r\ncp \/lib\/libpthread.so.0 \/home\/rifqi\/lib\r\ncp \/lib\/libattr.so.1 \/home\/rifqi\/lib<\/pre>\n<p>salin \/etc\/passwd dan \/etc\/group dengan command berikut<\/p>\n<pre>grep ^rifqi \/etc\/passwd > \/home\/rifqi\/etc\/passwd\r\ngrep ^root \/etc\/passwd >> \/home\/rifqi\/etc\/passwd\r\ngrep ^users \/etc\/group > \/home\/rifqi\/etc\/group\r\ngrep ^root \/etc\/group >> \/home\/rifqi\/etc\/group<\/pre>\n<p>ubah file \/home\/rifqi\/etcpasswd hingga menjadi seperti berikut<\/p>\n<pre>rifqi:x:1001:100:,,,:\/home\/rifqi\/:\/dev\/null\r\nroot:x:0:0::\/:\/dev\/null<\/pre>\n<p>ubah \/etc\/passwd hingga menjadi seperti berikut<\/p>\n<pre>rifqi:x:1002:100:,,,:\/home\/rifqi\/home\/rifqi:\/bin\/bash<\/pre>\n<p>kemudian ubah kepemilikan direktori \"jail\" tersebut menjadi kepemilikan user tersebut<\/p>\n<pre>chown -R rifqi.users \/home\/rifqi<\/pre>\n<p>Jalankan ssh tersebut, sebelum menjalankan ssh dari \/etc\/rc.d\/rc.sshd lakukan sedikit perubahan pada file \/etc\/rc.d\/rc.sshd agar letak binari ssh sesuai dengan yang tadi kita install<\/p>\n<pre>#\/usr\/sbin\/sshd\r\n\/sbin\/sshd<\/pre>\n<p>dan nyalakan ssh dengan perintah \/etc\/rc.d\/rc.sshd start, kemudian lakukan uji coba ssh dengan menggunakan account yang tadi kita buat #:-S.<\/p>\n<p>apabila tidak terjadi kesalahan maka user rifqi akan login ke home direktorinya di \/home\/rifqi\/home\/rifqi dan root (\/) direktori dari user tersebut adalah \/home\/rifqi<\/p>\n<pre>Last login: Wed Oct  3 14:27:59 2007 from 10.13.177.48\r\n-bash-3.1$ pwd\r\n\/home\/masrifqi\r\n-bash-3.1$cd \/\r\n-bash-3.1$ ls\r\nbin  dev  etc  home  lib\r\n-bash-3.1$<\/pre>\n<p>dan mulai sekarang maka user tersebut (rifqi) setiap kali login akan mempunyai home direktori dan root-nya sendiri :-).<\/p>\n<p align=\"center\"><img decoding=\"async\" src=\"http:\/\/www.masrifqi.web.id\/images\/jailedBlowfish.jpg\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chroot (jail) merupakan metode root direktori (\/) virtual yang akan menjadikan home direktori dari suatu user seperti root (\/) di sistemnya sendiri sehingga mencegah user tersebut dapat naik ke level direktori yang lebih tinggi dan mengambil informasi dari sistem tersebut, &hellip;<\/p>\n<p class=\"read-more\"><a href=\"http:\/\/masrifqi.staff.ugm.ac.id\/index.php\/2007\/10\/chroot-jail-menggunakan-openssh\/\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[],"_links":{"self":[{"href":"http:\/\/masrifqi.staff.ugm.ac.id\/index.php\/wp-json\/wp\/v2\/posts\/41"}],"collection":[{"href":"http:\/\/masrifqi.staff.ugm.ac.id\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/masrifqi.staff.ugm.ac.id\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/masrifqi.staff.ugm.ac.id\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/masrifqi.staff.ugm.ac.id\/index.php\/wp-json\/wp\/v2\/comments?post=41"}],"version-history":[{"count":1,"href":"http:\/\/masrifqi.staff.ugm.ac.id\/index.php\/wp-json\/wp\/v2\/posts\/41\/revisions"}],"predecessor-version":[{"id":173,"href":"http:\/\/masrifqi.staff.ugm.ac.id\/index.php\/wp-json\/wp\/v2\/posts\/41\/revisions\/173"}],"wp:attachment":[{"href":"http:\/\/masrifqi.staff.ugm.ac.id\/index.php\/wp-json\/wp\/v2\/media?parent=41"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/masrifqi.staff.ugm.ac.id\/index.php\/wp-json\/wp\/v2\/categories?post=41"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/masrifqi.staff.ugm.ac.id\/index.php\/wp-json\/wp\/v2\/tags?post=41"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}