Selasa, 18 Februari 2014

Cara Install Dan Konfigurasi vsftpd Sebagai FTP Server Di Ubuntu 10.04

File Transfer Protocol (FTP) adalah protokol TCP untuk meng-upload dan men-download file antar komputer. FTP bekerja pada model client / server. Komponen server disebut FTP daemon. FTP daemon secara kontinyu mendengarkan request FTP dari remote client. Ketika ada request FTP dari client, server langsung mengatur login dan men-set up koneksi. Untuk durasi sesi dijalankan salah satu perintah yang dikirim oleh client FTP.

Akses ke server FTP dapat dikelola dengan dua cara:
  • Anonymous
  • Authentikasi

Dalam mode Anonymous, remote client dapat mengakses server FTP dengan menggunakan account default user yang disebut "anonymous" atau "ftp" dan mengirim sebuah alamat email sebagai password.

Dalam mode Authentikasi, user harus memiliki sebuah akun dan password. User dapat mengakses direktori dan file di server FTP tergantung pada hak akses yang telah ditetapkan ke akun yang digunakan untuk login. Sebagai aturan umum, FTP daemon akan menyembunyikan direktori root dari server FTP dan mengubahnya ke direktori Home FTP. Hal ini berarti bahwa seluruh file system disembunyikan dari sesi remote.

  1. vsftpd - FTP Server Instalasi
    vsftpd sangat mudah di-install, di-setup, dan di-maintenance. vsftpd adalah FTP daemon yang tersedia di Ubuntu. Untuk menginstal vsftpd Anda dapat menjalankan perintah berikut:
                  $ sudo apt-get install vsftpd

  1. Konfigurasi Anonymous FTP
    Secara default vsftpd tidak mengizinkan anonymous download. Jika kita menginginkan agar user anonymous dapat men-download di server FTP, edit file “/etc/vsftpd.conf”, kemudian rubah :

    anonymous_enable=no ---> anonymous_enable=Yes

    Selama instalasi, sebuah user ftp dibuat dengan direktori home “/srv/ftp”. Ini adalah direktori default FTP. Jika kita ingin mengubah lokasinya ke lokasi lain yang dikehendaki, maka buat saja direktori baru di lokasi yang diinginkan (misal “/media/DATA/My_Ftp”), kemudian ganti direktori home dari user ftp.

              $ sudo mkdir /media/DATA/My_Ftp
              $ sudo usermod -d /media/DATA/My_Ftp ftp

    Setelah melakukan perubahan, restart vsftpd :

              $ sudo restart vsftpd 

    Kemudian yang terakhir adalah menyalin semua file dan folder yang ingin di share melalui ftp ke “/media/DATA/My_Ftp”, agar bisa diakses oleh user anonymous ftp. 


  2. Konfigurasi Authentikasi User FTP

    Agar server vsftp yang kita buat bisa meng-authentikasi user-user local, maka dibutuhkan cara konfigurasi dan pembuatan user baru yang benar. Dalam membuat user baru, anda harus mengikutkan parameter "--shell /bin/bash". Adapun konfigurasi file vsftpd.conf yang saya miliki tidak jauh berubah dari konfigurasi defaultnya (ada perubahan sedikit saja), perhatikan parameter-parameter yang di-bold :


    root@cstorage:/home/it# cat /etc/vsftpd.conf
    listen=YES
    anonymous_enable=NO
    local_enable=YES
    dirmessage_enable=YES
    use_localtime=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    secure_chroot_dir=/var/run/vsftpd/empty
    pam_service_name=vsftpd
    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    

    Dan perhatikan isi file "/etc/pam.d/vsftpd" berikut.

    root@cstorage:/home/it# cat /etc/pam.d/vsftpd 
    # Standard behaviour for ftpd(8).
    auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
    
    # Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.
    # Standard pam includes
    @include common-account
    @include common-session
    @include common-auth
    auth required pam_shells.so
    

    Agar user yang baru dibuat dapat login ke server ftp, maka buat user baru dengan opsi "--shell /bin/bash". Contoh berikut ini memperlihatkan 3 cara pembuatan user yang mana hanya user "tes2" yang bisa login ke ftp server :


    root@cstorage:/home/it# useradd tes1 -m -d /home/tes2 --shell /bin/false 
    root@cstorage:/home/it# useradd tes2 -m -d /home/tes2 --shell /bin/bash
    root@cstorage:/home/it# useradd tes3 -m -d /home/tes2
    root@cstorage:/home/it# passwd tes1
    Enter new UNIX password: 
    Retype new UNIX password: 
    passwd: password updated successfully
    
    root@cstorage:/home/it# passwd tes2
    Enter new UNIX password: 
    Retype new UNIX password: 
    passwd: password updated successfully
    
    root@cstorage:/home/it# passwd tes3
    Enter new UNIX password: 
    Retype new UNIX password: 
    passwd: password updated successfully
    
    root@cstorage:/home/it# cat /etc/passwd
    .
    .
    tes1:x:1002:1002::/home/tes1:/bin/false
    tes2:x:1003:1003::/home/tes2:/bin/bash
    tes3:x:1004:1004::/home/tes3:
    

    Sekarang anda sudah mengertikan ? he..he..

    Selanjutnya, secara default vsftpd dikonfigurasi agar meng-authentikasi user-user yang ada di sistem dan mengizinkannya untuk mendownload file. Jika kita ingin agar user-user dapat meng-upload file, maka edit file “etc/vsftpd.conf” :

              write_enable=YES

    Kemudian Save dan restart vsftpd.
    Sekarang, ketika user-user sistem melakukan login ke FTP maka akan menemui direktori home-nya masing-masing.
    Demikian pula, secara default, user anonymous tidak diperbolehkan untuk meng-upload file ke server FTP. Untuk mengubah pengaturan ini, kita harus menghapus tanda komentar baris berikut, dan restart vsftpd:

              anon_upload_enable = YES

    Mengaktifkan anonymous upload dapat menjadi ancaman keamanan yang serius. Pilihan yang terbaik adalah dengan me-non-aktifkan anonymous upload pada server FTP yang dihubungkan langsung dengan internet. File konfigurasi yang ada terdiri dari banyak parameter konfigurasi. Informasi dari setiap parameter dapat dilihat dalam file konfigurasi tersebut. 

3 komentar:

  1. jadi kalau membuat user sama passwordnya authenticnya bagaimana mas??
    mohon pencerahannya mas
    terimakasih

    BalasHapus
    Balasan
    1. Itu di point 3 penjelasannya.
      Setiap user Linux yang ada di sistem/OS akan menjadi user ftp juga.

      Hapus
  2. agar user tidak bisa download gimana settingnya mas??,please help me!!

    BalasHapus