FTP
FILE TRANSFER PROTOCOL
1. Dasar Teori FTP Server
FTP (singkatan dari 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 network atau jaringan.
FTP merupakan salah satu protokol Internet yang paling awal dikembangkan, dan masih digunakan hingga saat ini untuk melakukan pengunduhan (download) dan penggugahan (upload) berkas-berkas komputer antara klien FTP dan server FTP. Sebuah Klien FTP merupakan aplikasi yang dapat mengeluarkan perintah-perintah FTP ke sebuah server FTP, sementara server FTP adalah sebuah Service atau daemon yang berjalan di atas sebuah komputer yang merespons perintah-perintah dari sebuah klien FTP. Perintah-perintah FTP dapat digunakan untuk mengubah direktori, mengubah modus transfer antara biner dan ASCII, menggugah berkas komputer ke server FTP, serta mengunduh berkas dari 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.
FTP menggunakan protokol Transmission Control Protocol (TCP) untuk komunikasi data antara klien dan server, sehingga di antara kedua komponen tersebut akan dibuatlah sebuah sesi komunikasi sebelum transfer data dimulai. 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 download dan upload.
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.
Contoh aplikasi FTP Server adalah Proftpd, Vsftpd, FileZilla Server, sedangkan ftp klien meliputi ftp, winscp, cuteftp, dan lain sebagainya.
2. FTP Server Dengan PROFTPD
Sebelum melakukan instalasi PROFTPD pastikan bahwa jaringan / network sudah terkonfigurasi dengan baik.
- Instalasi Proftpd
Terlebih dahulu cek apakah paket bind9 sudah masuk dalam konfigurasi apt dengan menggunakan perintah :
debian:~#apt-cache search proftpd
apabila sudah terdapat di list apt, install bind9 dengan perintah berikut :
debian:~#apt-get install proftpd
Ikuti petunjuk yang muncul saat instalasi proftpd dan tunggu hingga proses instalasi tersebut selesai.
NB : Baca terlebih dulu petunjuk yang muncul saat instalasi.
- Konfigurasi Proftpd
File konfigurasi proftpd berada di /etc/proftpd/proftpd.conf, sebelum melakukan konfigurasi lebih jauh, terlebih dulu edit file konfigurasi tersebut untuk merubah nama server dan beberapa atribut lainnya seperti berikut :
# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
#Apabila tidak menggunakan ipv6, buat menjadi off
UseIPv6 on
ServerName "FTP Q"
ServerType standalone
DeferWelcome off
# Port 21 is the standard FTP port.
Port 21
Dan juga tambahkan perintah berikut setelah baris konfigurasi diatas :
DefaulRoot ~
Perintah DefaultRoot berfungsi agar setiap user ftp tidak dapat mengakses directory selain home directory masing-masing user.
o Konfigurasi Anonymouse FTP
Pada konfigurasi anonymous, FTP Server memberikan izin kepada siapa saja yang ingin melakukan ftp ke computer ftp server. Client hanya perlu mengisi login dengan user anonymous dan password alamat email klien.
Untuk konfigurasi anonymous ftp server, cari baris <Anonymous ~ftp> dan hilangkan tanda pagar seperti berikut ini :
<Anonymous ~ftp>
User ftp
Group nogroup
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp
# Cosmetic changes, all files belongs to ftp user
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
# Limit the maximum number of anonymous logins
MaxClients 10
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayFirstChdir .message
</Anonymous>
Keterangan :
~ftp : berarti folder yang dipakai untuk anonymous ftp server adalah home
directory dari user ftp yaitu /home/ftp. Sehingga bias ditulis dengan /home/ftp. Berikut contohnya :
<Anonymous /home/ftp>
Simpan file konfigurasi apabila sudah selesai dan restart proftpd :
debian:~#/etc/init.d/proftpd restart
Dengan konfigurasi seperti diatas, anonymous ftp server sudah dapat bekerja.
o Konfigurasi FTP Server dengan Login User
FTP Server dengan menggunakan LOGIN untuk mengakses FTP Server secara default sudah terkonfigurasi didalam proftpd, kita hanya perlu untuk membuat user account dan membatasi hanya user tersebut saja yang bisa login. Hal ini untuk mencegah agar tidak semua user bisa login ke server. Berikut format yang digunakan untuk melimit user ftp :
<Limit LOGIN>
AllowUser nama_user1
AllowUser nama_user2
DenyAll
</limit>
Berikut contoh penerapannya, misal user yang hanya di izinkan melakukan login adalah anonymous dan new1 :
<Limit LOGIN>
AllowUser anonymous
AllowUser ftp
AllowUser new1
DenyAll
</limit>
Simpan file konfigurasi apabila sudah selesai dan restart proftpd :
debian:~#/etc/init.d/proftpd restart
o Konfigurasi Permisi Directory Data
Disini kita akan mengkonfigurasi permisi directory untuk menjaga keamanan data, berikut contoh untuk permisi directory data :
· Limit Direktory Untuk User anonymous
Untuk permisi directory user anonymous script konfigurasi harus diletakkan didalam tanda <Anonymous ~ftp> sampai </anonymous>. Berikut contoh untuk melimit penulisan file :
<Directory /home/ftp>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
· Limit Direktory Untuk User agar tidak bisa menulis data
Letakkan di akhir file, konfiguasi berikut berfungsi untuk melimit folder /home/new1 agar tidak bisa dilakukan penulisan.
<Directory /home/new1>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
· Limit Direktory Untuk User agar tidak dapat melakukan perubahan didalam foler AQ
Letakkan script konfigurasi pada akhir file, contoh berikut untuk melimit folder /home/new1/AQ agar didalam folder tersebut tidak dapat dilakukan perubahan.
<Directory /home/new1/AQ>
AllowOverwrite off
<Limit MKD STOR DELE XMKD RNEF RNTO RMD XRMD REN>
DenyAll
</Limit>
</Directory>
- Pengecekan / Tes
Untuk melakukan tes/pengecekan dapat dilakukan dengan menggunakan ftp klien seperti ftp, cute ftp, ataupun Internet Explorer bagi pengguna klien windows.
0 C0Mm3nTs:
Posting Komentar