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.
- 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.
- vsftpd - FTP Server Instalasivsftpd 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
- Konfigurasi Anonymous FTPSecara 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=YesSelama 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 ftpSetelah melakukan perubahan, restart vsftpd :$ sudo restart vsftpdKemudian 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.
- 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=YESKemudian 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 = YESMengaktifkan 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.
jadi kalau membuat user sama passwordnya authenticnya bagaimana mas??
BalasHapusmohon pencerahannya mas
terimakasih
Itu di point 3 penjelasannya.
HapusSetiap user Linux yang ada di sistem/OS akan menjadi user ftp juga.
agar user tidak bisa download gimana settingnya mas??,please help me!!
BalasHapus