Rabu, 27 April 2011

File Transfer Protocol


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 internetwork.
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 Windows 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 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.

Konfigurasi FTP server publik dengan proftpd :
Pertama-tama Install software proftpd, dengan ./configure && make && make install (apabila lewat source)
Apabila sudah terinstall, biasanya file konfigurasi ada di /etc atau /usr/local/etc dengan nama proftpd.conf. Buka file tersebut dengan teks editor
ServerType standalone # kita ingin proftpd berjalan secara stand alone, tanpa inetd
DefaultServer on
ScoreboardFile /var/run/proftpd.scoreboard
Port 21 # Port Standar dari FTP
Umask 022 # Merupakan representasi lain sari chmod 644, jadi user lain hanya bisa membaca file saja
User nobody
Group nogroup #untuk keamanan, maka FTP servis ini berjalan bukan daru user maupn group manapun
#Untuk FTP Server Publik (Anonymous)
<Anonymous /data/ftp>
User ftp
Group ftp
UserAlias anonymous ftp # user ftp = anonymuus – definisi seperti definisi variabel di bahasa pemrograman
MaxClients 10 #jumlah klien maksimum anonymous yang login
HideUser root # Agar klien tidak dapat membuka file yang dimilki root
<Limit WRITE>
AllowAll
</Limit>
<Limit READ DIRS>
IgnoreHidden on #Membatasi agar user lain tidak bisa membuka file hidden
</Limit>
</Anonymous>
Dengan konfigurasi seperti diatas, FTP Publik ini oleh user Anonymous hanya bisa dibaca. Ia tidak bisa meng-upload file atau menghapus file di dalam file ini.

0 komentar: