Selasa, 02 Agustus 2011

Transfer File via SCP dan SFTP dengan rssh

Hello blogwalker semua,

Emang udah gak zaman nya transfer file via FTP dengan menggunakan SCP atau SFTP. Emang bener sih, jika kita emang peduli pada keamanan data pada saat transfer file dari komputer kita ke komputer lain nya atau pada jaringan internet. Mungkin banyak cara untuk memberikan keamanan pada saat transfer, tapi kali ini gua pengen ngebahas salah satu dari metode ini, yaa, maklum nama nya juga sedang belajar.

Langsung aja, FTP adalah protokol TCP/IP yang memungkinkan kita melakukan transfer file dari komputer kita ke komputer FTP server. Namun dikarenekan masalah keamanan data pada saat transfer file, FTP sering dianggap beresiko atau rentan terhadap penyadapan data pada saat transfer file. Kini kita dapat menggunakan layanan via SCP atau SFTP. Meskipun ini sebener nya ga bisa menghilangkan resiko penyadapan data pada saat transfer, paling tidak dengan ada nya SCP atau SFTP data yang di transfer tersebut telah dienkripsi saat proses transfer data. Meskipun banyak orang yang dapat menyadap nya, namun akan sulit untuk membaca nya karena data yang ada sudah dalam keadaan terenkripsi. Layanan transfer file via SCP atau SFTP ini membutuhkan SSH daemon yang dapat di sediakan oleh software OpenSSH.

Dan seperti pada umum nya, distro linux sudah menyediakan layanan OpenSSH. SSH adalah suatu protokol TCP/IP yang memungkinkan kita melakukan remote loh in ke suatu komputer dalam jaringan chanel komunikasi yang aman atau sudah terenkripsi.

RSSH ( restricted shell )
RSSH adalah sebuah restricted shell yang dapat digunakan di OpenSSH, yang hanya menggunakan SCP atau SFTP. Saat ini, RSSH juga mencakup dukungan untuk rdsit,rsync dan cvs. Sebagai contoh, jika kita mempunyai sebuah server yang yang hanya kita ingin untuk mengizinkan pengguna untuk menyalinfile melalui SCP, tanpa menyediakan akses Shell. Kita dapan menggunakan rssh untuk melakukan ini.

Instalisasi RSSH
Jika kita menggunakan distro linux debian atau ubuntu,( dalam contoh ini, gua menggunakan ubuntu ) maka kita dapat menginstal secara online menggunakan perintah apt-get.

Jika ingin menginstall ressh dari source, maka kita harus telebih dahulu men-download source code rssh dengan mengakses URL di sini. Selanjutnya, ekstrak file tersebut dengan menggunakan perintah :

$ tar -xzvf rssh -2.3.2.tar.gz

Kemudian lakukanlah kompilasi dan istalisasi, dengan tahapan sebagai berikut :

$ cd rssh-2.3.2
$ ./configure
$ make
$ sudo make install

Selanjutnya, jika proses install rssh sudah selesai ( baik dari langkang source atau binary ), lakukanlah langkah berikut ini :

$ sudo echo "$ ( which rssh )" >>/etc/shells


File konfigurasi rssh adalah /etc/rssh.conf atau /usr/local/etc/rssh.conf .
Kita harus melakukan konfigurasi pada file rssh.conf tersebut untuk menentukan service apasaja yang dapat diizinkan untuk diakses (scp,sftp,rsync,cvs dan rdist ) oleh user. Untuk itu sebelumnya kita harus membuat user yang hanya akan diizinkan untuk SCp dan SFTP dengan menggunakan rssh.

Membuat user account untuk menggunakan rssh
Untuk membuat user account rssh, gunakan perintah berikut ini :

$ sudo user add -m -d /home/rachmat -a /usr/bin/rssh rachmat
$ sudo passwd c0b4


user account yang sudah terdaftar pada linux dapat juga kita gunakan untuk user rssh, dengan cara mengubah shell user menjadi rssh. Berikut ini mengubah shell user account menjadi rssh :

$ sudo usermod -s /usr/bin/rssh fitri


atau

$ sudo chsh -s /usr/bin/rssh fitri


Selanjut nya, mari kita buktikan dahulu bahwa user user dengan shell rssh tidak akan bisa akses shell via ssh. lakukanlah perintah berikut ini untuk menguji nya,yukk marii ( sebagai contoh IP server ssh adalah 192. 188. 1. 234 )



raffi@ubuntu: -$ ssh
rachmat@192.188.1.234
rachmat@192.188.234's password :
linux ubuntu.lap.top 2.6.27-12-generic #1 SMP tue aug 2 17:11:32 utc 2009 1686

The programme included with the ubuntu system are free software; the exact distribution terms for each programme are described in the individual files in /usr/share/doc/*/copyright

Ubuntu comes ABSOLUTELY No WARRANTY, to the extant permitted by applicable law.

To access official ubuntu documentation, please visit http://help.ubuntu.com/

This account restricted by rssh.
This user is locked out.

if you believe this is an error. Please contact your system adminstrator.

connection to 192.188.1.234


Sperti pada tampilan di atas muncul pesan " this account restricted by rssh ". Hal ini membuktikan bahwa user rachmat adalah betul user yang di batasi shell-nya, dikarenakan shell rachmat menggunakan rssh.

Konfigurasi rssh untuk mengizinkan user melakukan scp dan SFTP
Secara default, file konfigurasi rssh tidak mengizinkan user siapa pun untuk melakukan scp atau sftp. Untuk itu, kita akan coba melakukan konfigurasi agar user rachmat hanya dapat melakukan SCP dan SFTP. Untuk itu, kita harus meng-edit file /etc/rssh.conf.
kemudian tambahkan pada baris akhir file, entri sperti berikut :


user=rachmat:011:00011



Penjelasan dari entri baris diatas adalah user=rachmat menunjukan username atau loginname dari user yang akan di berikan izin. kemudian angka 011 adalah angka yang menunjukan nilai umask. Angka 00011 menunjukan hanya diizinkan SFTP dan SCP. Penjelasan detail makna dari angka 00011 seperti ini untuk angka 0 adalah angka yang menunjukan bahwa tidak di izinkan untuk rsync, angka o berikut nya tidak di izinkan untuk rdsit, angka 0 berikut nya tidak di izinkan untuk cvs dan angka 1 selanjut nya adalan untuk mengizinkan sftp dan scp.

Selanjut nya, coba lakukan scp atau sftp ke komputer server ssh 192.188.1.234 apakah bisa atau tidak. jika konfigurasi benar seharus nya bisa,heheh

Jika kita akan memberikan izin untuk user lain nya, maka kita harus menambahkan entri baru di bawahnya yang menunjukan konfigurasi izin akses untuk user tersebut

selamat mencobaa yaa :)

1 komentar: