Pages

Rabu, 24 Oktober 2012

Instalasi FTP server dan Konfigurasi




FTP (File Transfer Protocol) adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan berkas (file) komputer antar mesin-mesin dalam sebuah internetwork. Protokol ini masih digunakan hingga saat ini untuk melakukan pengunduhan (download) dan penggugahan (upload) berkas-berkas komputer antara klien FTP dan server FTP.  Sebuah server FTP diakses dengan menggunakan Universal Resource Identifier (URI) dengan menggunakan format ftp://namaserver. Klien FTP dapat menghubungi server FTP dengan membuka URI tersebut.
Untuk prosesnya dapat dilihat dari gambar berikut ini :


Sebelum membuat koneksi, port TCP nomor 21 di sisi server akan “mendengarkan” percobaan koneksi dari sebuah klien FTP dan kemudian akan digunakan sebagai port pengatur (control port) untuk (1) membuat sebuah koneksi antara klien dan server, (2) untuk mengizinkan klien untuk mengirimkan sebuah perintah FTP kepada server dan juga (3) mengembalikan respons server ke perintah tersebut. Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka port TCP nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk mentransfer data aktual yang sedang dipertukarkan saat melakukan pengunduhan dan penggugahan.
FTP hanya menggunakan metode autentikasi standar, yakni menggunakan username dan password yang dikirim dalam bentuk tidak terenkripsi. Pengguna terdaftar dapat menggunakan username dan password-nya untuk mengakses, men-download, dan meng-upload berkas-berkas yang ia kehendaki. Umumnya, para pengguna terdaftar memiliki akses penuh terhadap beberapa direktori, sehingga mereka dapat membuat berkas, membuat direktori, dan bahkan menghapus berkas. Pengguna yang belum terdaftar dapat juga menggunakan metode anonymous login, yakni dengan menggunakan nama pengguna anonymous dan password yang diisi dengan menggunakan alamat e-mail.

vsftpd, yang merupakan singkatan dari "V ery S ecure FTP D Aemon" [1] , adalah FTP server untuk Unix-seperti sistem, termasuk Linux . Hal ini berlisensi di bawah GNU General Public License . Mendukung IPv6 dan SSL .
vsftpd mendukung eksplisit (sejak 2.0.0) dan implisit (sejak 2.1.0) FTPS .
vsftpd adalah FTP server default di Ubuntu , CentOS , Fedora , NimbleX , Slackware dan RHEL Linux distribusi.

1. Instalasi vsftpd
Dengan asumsi bahwa Anda telah menginstal Ubuntu, masuk ke terminal kemudian jalankan perintah :
:
 Install FTP Server (VSFTPD)
            $ sudo apt-get install vsftpd

2. Konfigurasi vsftpd
File konfigurasinya terletak di /etc/vsftpd.conf untuk membukanya jalankan perintah :
Buka file dengan text editor, misalnya nano,
     $ sudo nano /etc/vsftpd.conf
Tambah baris berikut atau hilangkan tanda comment (#) pada file tersebut. Langkah ini agar user lokal bisa log in melalui ftp
            local_enable=YES
Agar user bisa mengupload file, cari baris berikut dan hilangkan tanda comment (#)
            write_enable=YES
Untuk keamanan, agar user tetap berada di home direktorinya, tambahkan baris berikut  :
     chroot_local_user=YES
Untuk file /etc/vsftpd/chroot_list tambahkan bila tidah ada. Dengan begitu semua ftp root directory tiap local user ada di home directory masing-masing user. Jika anda ingin membuat pengecualian untuk user tertentu agar root directorynya tetap berada di / anda dapat menuliskan nama user tersebut di file /etc/vsftpd/chroot_list.
Namun jika anda ingin agar hanya user tertentu saja yang ftp root direktorinya pindah ke home direktori masing-masing anda dapat mengubah paramater baris chroot_local_user menjadi NO seperti ini chroot_local_user=NO lalu menuliskan user yang ingin dipindah root direktorinya ke dalam file /etc/vsftpd/chroot_list.

Save dan tutup file ("ctrl+o" umtk save, "ctrl+x" untuk tutup)

3. Restart VSFTPD di Komputer
     $ sudo /etc/init.d/vsftpd restart

4. Cara melakukan ftp melalui command line adalah sebagai berikut :
     $ ftp ipkomputerserver atau domain
     contoh :
      $ ftp 10.17.0.198 atau $ ftp 5TCB.jarkom.com

    Kemudian masukkan username dan password.

5. untuk keluar dari proses FTP, ketikkan quit/bye atau close seperti di bawah ini :
    ftp>quit
Login ke FTP :
 kelompok4@ubuntu:~$ ftp 10.17.0.198 (pada komputer server)

Hasil Output:

connected to 10.17.0.198.
220 (vsFTPd 2.3.2)
Name (10.17.0.198Lnine)):kelompok4
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mide to transfer files.

 Login FTP
C:\> ftp 10.17.0.198



Mulailah mengcapture packet data
a. Untuk mempermudah pengamatan lakukan filtering paket pada Tcpdump
Jika semua settingan di atas sudah benar dan ftp telah berjalan, maka lakukan konfigurasi pada komputer client, pada contoh ini saya menggunakan konfigurasi jaringan sebagai berikut :

Pada komputer server
 ipaddress 10.17.0.198
 subnetmask 255.255.255.0
 gateway 10.17.0.254
 DNS 10.17.0.198

Pada komputer client
 ipaddress 10.17.0.188
 subnetmask 255.255.255.0
 gateway 10.17.0.254
 DNS 10.17.0.198


 lakukan ping untuk memastikan bahwa komputer client telah terhubung ke komputer server.

jika sudah yang selanjutnya akan kita lakukan adalah mengcapture paket data dengan perintah tcp-dump, seperti berikut ini :

1. pada terminal ketikkan

    $ tcpdump –i eth0 | grep ftp

(eth0 dapat di ganti sesuai dengan ethernet yang anda gunakan. Pada percobaan di atas saya menggunakan eth1 pada jaringan saya)

tampilannya adalah seperti berikut ini :


$ tcpdump –i eth1 | grep ftp


pada tampilan di atas terlihat bahwa komputer server sedang melakukan tcpdump dan siap mengcapture paket data yang akan melalui eth1

2. pada komputer client kita akan melakukan 2 jenis pengaksesan ftp yaitu dengan user anonymous dan user login, langkah-langkahnya sebagai berikut :

      - buka command prompt
      - ketikkan  c:\ftp [ipkomputer_server]
        c:\ftp 10.17.0.198 hasilnya seperti hasil outputnya berikut :
Hasil Output:
 
C:\>ftp 10.17.0.198
Connected to 10.17.0.198.
220 (vsFTPd 2.3.2)     
User (10.17.0.198Lnine)):kelompok4
331 Please specify the password.
Password:
230 Login successful.
ftp> mkdir
Directory name kelompok4sip
257 “/kelompok4sip” created
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
Kel4
Kelompok4
Kelompok4sip
226 Directory send OK.
ftp: 33 bytes received in 0.00Seconds 33.00Kbytes/sec.
ftp>quit
221 Goodbye.

 pada gamabr di atas telah di tunjukkan bahwa komputer client akan mengakses FTPserver melalui alamat ip server, setelah melakukan ftp , maka di minta user dan password untuk login, jika sudah kita daat mengetikkan herintah HELP untuk mengetahui perintah apa saja yang dapat digunakan pada fasilitas FTP server melalui command line ini.
setelah kita mengetahui, seperti contoh di atas saya mencoba untuk membuat sebuah folder dengan nama kelompok4sip dengan perintah MKDIR lalu saya melihat apa saja isi dari FTP server dengan melakan perintah LS
Dapat di lihat pada gambar di atas bahwa setelah melakukan LS , terdapat 3 buah folder , dan informasi-informasi tambahan dari FTP server , dan juga terdapat jumlah data yang di kirim ke server dan waktu yang di butuhkan dalam menjalankan proses yaitu 33 bytes received in 000seconds 33.00Kbytes/sec.

pada tampilan layar komputer server yang tadinya sedang menjalankan capture header data di eth1 menggunakan perintah tcpdump, menampilkan hasil seperti di bawah ini.



--------------------------------------------------------------------------------------------------------------


Politeknik Negeri Sriwijaya