ASJ - FTP Server (File Transfer Protocol) (BAB 6) (Kelas X)

Modul: FTP Server (File Transfer Protocol) (BAB 6) (Kelas X)
FTP Server (File Transfer Protocol)
Kompetensi Dasar
3.6 Memahami konsep FTP untuk transfer file, serta mampu menginstalasi dan mengkonfigurasi FTP server.
4.6 Mampu membuat pengguna FTP, mengatur izin akses direktori, dan menguji proses unggah serta unduh file.
Pendahuluan
Setelah Anda menjelajahi layanan-layanan penting seperti Remote Server, DHCP, dan DNS, kini saatnya untuk mendalami salah satu layanan tertua dan paling fundamental dalam jaringan: FTP Server (File Transfer Protocol). Di era digital saat ini, kebutuhan untuk berbagi dan mentransfer file secara efisien dan terorganisir adalah krusial, baik itu dokumen, gambar, software, atau data lainnya. FTP menyediakan solusi yang sederhana dan efektif untuk tujuan tersebut.
Modul ini akan membimbing Anda untuk memahami konsep dasar FTP, bagaimana protokol ini bekerja untuk memungkinkan unggah (upload) dan unduh (download) file antar komputer. Anda akan dibekali dengan kemampuan praktis untuk menginstalasi dan mengkonfigurasi FTP Server, seperti vsftpd di Linux atau IIS FTP di Windows. Lebih lanjut, Anda akan belajar cara membuat pengguna FTP, mengatur izin akses direktori yang aman, dan yang terpenting, bagaimana menguji proses unggah dan unduh file untuk memastikan server berfungsi dengan benar. Dengan menguasai bab ini, Anda akan dapat menyediakan layanan transfer file yang andal dalam jaringan Anda.
A. Definisi dan Konsep Dasar FTP
FTP adalah protokol standar untuk transfer file antar sistem di jaringan.
Definisi FTP (File Transfer Protocol):
FTP adalah protokol standar jaringan yang digunakan untuk mentransfer file antar komputer pada jaringan TCP/IP. Ini memungkinkan pengguna untuk mengunggah (upload), mengunduh (download), menghapus, mengganti nama, atau melihat daftar file dan direktori di server jarak jauh.
Tujuan dan Kegunaan FTP:
Transfer File: Fungsi utamanya adalah memfasilitasi transfer file dari satu host ke host lain.
Berbagi Data: Digunakan untuk mendistribusikan software, patch, update, atau dokumen besar.
Web Hosting: Sering digunakan oleh pengembang web untuk mengunggah file situs web mereka ke web server.
Backup: Bisa digunakan untuk mengunggah backup data ke server penyimpanan jarak jauh.
Mode Koneksi FTP:
FTP menggunakan dua koneksi TCP terpisah:
Control Connection (Port 21): Digunakan untuk perintah dan respons. Koneksi ini tetap terbuka selama sesi FTP berlangsung.
Data Connection (Port 20 atau dinamis): Digunakan untuk transfer data file yang sebenarnya. Koneksi ini dibuka dan ditutup setiap kali file ditransfer atau daftar direktori diminta.
Ada dua mode transfer data FTP:
Active Mode:
Klien FTP membuat koneksi kontrol ke port 21 server.
Klien memberi tahu server port mana yang harus didengarkan (port acak >1023) untuk koneksi data.
Server FTP kemudian membuat koneksi data dari port 20 ke port yang ditentukan oleh klien.
Masalah: Seringkali diblokir oleh firewall klien karena server mencoba membuka koneksi ke port klien yang acak.
Passive Mode:
Klien FTP membuat koneksi kontrol ke port 21 server.
Klien meminta server untuk masuk ke mode pasif (PASV).
Server FTP merespons dengan port acak (>1023) yang akan didengarkannya untuk koneksi data.
Klien FTP kemudian membuat koneksi data ke port yang ditentukan oleh server.
Keunggulan: Lebih ramah firewall karena klien selalu yang memulai koneksi.
Jenis Akses FTP:
Anonymous FTP: Memungkinkan akses ke server FTP tanpa memerlukan username dan password yang spesifik. Biasanya digunakan untuk mendistribusikan file publik. Pengguna sering login dengan username "anonymous" atau "ftp" dan alamat email sebagai password.
Authenticated FTP: Membutuhkan username dan password yang valid untuk mengakses server. Memberikan kontrol yang lebih baik atas siapa yang dapat mengakses file dan direktori tertentu.
B. Instalasi dan Konfigurasi FTP Server
Proses instalasi dan konfigurasi FTP Server bervariasi tergantung pada Sistem Operasi Jaringan yang digunakan.
Instalasi FTP Server (Konseptual):
Linux (vsftpd - very secure FTP daemon):
vsftpd adalah salah satu FTP Server yang paling populer di Linux, dikenal karena keamanan dan konfigurasinya yang relatif sederhana.
sudo apt update
sudo apt install vsftpd -y
(Untuk distribusi berbasis Debian/Ubuntu)
Windows Server (IIS FTP Server):
FTP Server di Windows Server biasanya diinstal sebagai fitur tambahan dari peran Internet Information Services (IIS).
Buka Server Manager.
Klik "Add Roles and Features".
Pilih "Web Server (IIS)" jika belum diinstal.
Di bawah "Web Server (IIS)", pilih "FTP Server" (biasanya di bawah "Role Services" -> "FTP Server").
Konfigurasi Dasar FTP Server:
Linux (vsftpd - File /etc/vsftpd.conf):
Edit file konfigurasi /etc/vsftpd.conf untuk mengatur perilaku server.
# Contoh konfigurasi vsftpd.conf
listen=NO # Nonaktifkan standalone mode, gunakan systemd
listen_ipv6=YES # Aktifkan IPv6 listening
anonymous_enable=NO # Nonaktifkan anonymous FTP (rekomendasi keamanan)
local_enable=YES # Izinkan login pengguna lokal
write_enable=YES # Izinkan perintah tulis (upload, delete)
chroot_local_user=YES # Kunci pengguna lokal di direktori home mereka
# Opsi Passive Mode (penting untuk NAT/Firewall)
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
# Konfigurasi lebih lanjut
user_sub_token=$USER # Digunakan dengan local_root
local_root=/home/$USER/ftp # Direktori home pengguna akan menjadi /home/user/ftp
# Log transfer
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
# Restart layanan vsftpd setelah perubahan
# sudo systemctl restart vsftpd
Windows Server (IIS Manager):
Buka IIS Manager dari Administrative Tools.
Klik kanan pada "Sites" dan pilih "Add FTP Site...".
Ikuti wizard untuk:
Memberikan nama situs FTP.
Memilih jalur fisik direktori FTP.
Mengikat alamat IP dan port (default 21).
Memilih otentikasi (Anonymous, Basic, dll.).
Menentukan aturan otorisasi (siapa yang bisa membaca/menulis).
C. Membuat Pengguna FTP dan Mengatur Izin Akses Direktori
Manajemen pengguna dan izin adalah kunci untuk keamanan dan fungsionalitas FTP Server.
Membuat Pengguna FTP:
Linux:
Untuk vsftpd dengan local_enable=YES, Anda cukup membuat pengguna sistem Linux biasa.
sudo adduser <nama_pengguna_ftp>
sudo passwd <nama_pengguna_ftp>
Jika Anda menggunakan chroot_local_user=YES dan local_root=/home/$USER/ftp, pastikan direktori ftp ada di home directory pengguna dan memiliki izin yang benar (pemiliknya root dan grupnya root, dengan izin 755 pada /home/$USER/ftp, dan pengguna dapat menulis di sub-direktori di dalamnya).
sudo mkdir /home/<nama_pengguna_ftp>/ftp
sudo chown root:root /home/<nama_pengguna_ftp>/ftp
sudo chmod 755 /home/<nama_pengguna_ftp>/ftp
sudo mkdir /home/<nama_pengguna_ftp>/ftp/upload_dir
sudo chown <nama_pengguna_ftp>:<nama_pengguna_ftp> /home/<nama_pengguna_ftp>/ftp/upload_dir
Windows Server:
Pengguna yang akan mengakses FTP adalah pengguna Windows lokal atau pengguna domain.
Izin akses dikelola melalui NTFS permissions pada direktori fisik dan melalui aturan otorisasi di IIS Manager untuk situs FTP.
Mengatur Izin Akses Direktori:
Linux (vsftpd - Izin File Sistem):
Izin file dan direktori pada sistem file Linux sangat penting. Pastikan pengguna FTP memiliki izin baca (r) untuk file yang ingin diunduh dan izin tulis (w) untuk direktori tempat mereka akan mengunggah file.
# Contoh: Mengatur izin untuk direktori yang bisa di-upload
sudo chown <nama_pengguna_ftp>:<nama_pengguna_ftp> /path/to/upload_directory
sudo chmod 775 /path/to/upload_directory
Windows Server (IIS Manager dan NTFS Permissions):
NTFS Permissions: Pada direktori fisik yang di-host oleh FTP, atur izin NTFS untuk pengguna atau grup yang akan mengakses FTP.
Misalnya, berikan izin "Read" untuk pengguna yang hanya bisa mengunduh, dan "Modify" atau "Full Control" untuk pengguna yang bisa mengunggah.
FTP Authorization Rules (IIS Manager):
Di IIS Manager, navigasi ke situs FTP Anda.
Di panel tengah, klik "FTP Authorization Rules".
Tambahkan aturan untuk "Allow" atau "Deny" akses untuk pengguna/grup tertentu, dan tentukan apakah mereka memiliki izin "Read" atau "Write".
D. Pengujian Proses Unggah (Upload) dan Unduh (Download) File
Setelah konfigurasi, pengujian adalah langkah penting untuk memverifikasi fungsionalitas FTP Server.
Konfigurasi Firewall:
Pastikan firewall pada server FTP dan firewall jaringan mengizinkan lalu lintas FTP.
Port FTP:
Control Connection: TCP Port 21 (untuk perintah).
Data Connection (Active Mode): TCP Port 20 (dari server ke klien, untuk data).
Data Connection (Passive Mode): Rentang port TCP dinamis yang Anda tentukan di konfigurasi FTP Server (misalnya, 40000-50000 untuk vsftpd), ini dibuka oleh server dan klien terhubung ke sana.
Linux (UFW):
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp # Jika menggunakan passive ports ini
sudo ufw reload
Windows Server (Windows Defender Firewall with Advanced Security):
Buat aturan inbound untuk TCP Port 21 dan rentang port pasif yang ditentukan. Aktifkan juga aturan FTP predefined jika tersedia.
Menggunakan Klien FTP:
Anda dapat menggunakan berbagai klien FTP untuk menguji konektivitas dan transfer file:
Web Browser: Cukup ketik ftp://<ip_server_ftp> di address bar (hanya untuk unduh atau melihat daftar, tidak untuk unggah).
Command Line (Linux/Windows Command Prompt/PowerShell):
ftp <ip_server_ftp>
# Kemudian masukkan username dan password
# get <nama_file> (untuk unduh)
# put <nama_file> (untuk unggah)
# ls atau dir (untuk melihat daftar direktori)
# quit (untuk keluar)
GUI Clients: FileZilla Client, WinSCP, Cyberduck. Ini adalah cara yang paling direkomendasikan karena lebih mudah digunakan dan mendukung fitur-fitur seperti SFTP/FTPS.
Masukkan host, username, password, dan port (jika bukan default).
Langkah-langkah Verifikasi:
Koneksi: Coba koneksi ke FTP Server menggunakan username dan password yang valid.
Unggah File: Unggah file kecil dari klien ke direktori yang memiliki izin tulis.
Unduh File: Unduh file yang sudah ada di server atau file yang baru saja Anda unggah.
Verifikasi Izin: Coba unggah file ke direktori yang tidak memiliki izin tulis atau coba akses file yang seharusnya tidak dapat diakses untuk memastikan aturan izin bekerja.
Uji Anonymous FTP (jika diaktifkan): Coba login sebagai "anonymous" dan akses file publik.
E. Pemecahan Masalah (Troubleshooting) FTP Server
Beberapa masalah umum dapat terjadi pada FTP Server.
Tidak Bisa Terhubung ke FTP Server:
Gejala: Klien mendapatkan pesan timeout atau "Connection refused".
Penyebab:
FTP Server tidak berjalan.
Firewall memblokir port 21 atau port pasif di server atau jaringan.
Alamat IP FTP Server salah.
Konektivitas jaringan dasar terputus.
Solusi:
Verifikasi status layanan FTP (vsftpd di Linux, IIS Admin Service/FTP Publishing Service di Windows).
Periksa aturan firewall pada server dan router.
Ping alamat IP server untuk memverifikasi konektivitas.
Bisa Terhubung, Tapi Gagal Transfer File (Khususnya Unggah atau Passive Mode):
Gejala: Klien bisa login, bisa melihat daftar direktori, tapi unggah/unduh gagal, atau koneksi terputus saat mencoba transfer.
Penyebab:
Masalah Passive Mode: Port pasif tidak terbuka di firewall server, atau rentang port tidak dikonfigurasi dengan benar di FTP Server.
NAT Issues: Jika server FTP berada di belakang NAT, konfigurasi FTP Server (misalnya, pasv_address di vsftpd) mungkin perlu disesuaikan untuk mengumumkan alamat IP publiknya.
Izin Direktori: Pengguna FTP tidak memiliki izin tulis yang cukup pada direktori tujuan (file system permissions).
Ruang Disk Penuh: Disk server penuh.
Solusi:
Buka port pasif di firewall dan konfigurasi FTP Server.
Periksa konfigurasi NAT dan setelan passive mode di server FTP.
Verifikasi izin file system untuk direktori yang relevan.
Periksa ruang disk server.
Authentication Failed (Gagal Otentikasi):
Gejala: Klien tidak bisa login meskipun server berjalan.
Penyebab: Username atau password salah, pengguna tidak diizinkan login FTP, atau masalah dengan sistem otentikasi.
Solusi:
Periksa kembali username dan password.
Pastikan pengguna diizinkan login melalui FTP (misalnya, local_enable=YES di vsftpd, atau aturan otorisasi di IIS FTP).
Untuk vsftpd, periksa apakah pengguna tidak ada dalam daftar ftpusers atau user_list yang memblokir.
Chroot Jail Issues (Masalah Pembatasan Direktori):
Gejala: Pengguna tidak dapat menavigasi keluar dari direktori home mereka meskipun mereka seharusnya bisa, atau tidak bisa login sama sekali jika home directory tidak memiliki izin yang benar.
Penyebab: Konfigurasi chroot_local_user di vsftpd atau izin pada direktori home tidak sesuai dengan persyaratan vsftpd.
Solusi: Sesuaikan konfigurasi chroot_local_user atau perbaiki izin direktori home pengguna FTP.
Zona Aktivitas
A. Uji Pengetahuan (Nilai Pengetahuan I)
Jelaskan perbedaan fungsi antara control connection dan data connection dalam protokol FTP.
Apa perbedaan utama antara FTP Active Mode dan Passive Mode? Mode mana yang lebih ramah firewall dan mengapa?
Mengapa Anda akan menggunakan Anonymous FTP daripada Authenticated FTP? Berikan contoh kasus penggunaannya.
Sebutkan dua jenis izin akses direktori yang paling penting untuk dikonfigurasi pada FTP Server agar pengguna dapat mengunggah dan mengunduh file.
Sebutkan dua port TCP yang secara default digunakan oleh FTP Server untuk control connection dan data connection (dalam Active Mode).
B. Praktikum (Nilai Praktik 1)
Buat kelompok dengan anggota maksimal tiga siswa. Lakukan hal berikut:
Skenario Pemilihan Mode FTP:
Skenario A: Anda adalah administrator FTP Server di sebuah data center dan banyak klien dari berbagai lokasi yang berada di belakang firewall yang ketat akan mengakses server Anda.
Skenario B: Anda mengkonfigurasi FTP untuk tujuan backup internal di mana server FTP dan klien berada di jaringan internal yang sama tanpa firewall yang membatasi.
Untuk setiap skenario, mode koneksi FTP (Active atau Passive) mana yang paling cocok? Jelaskan alasannya.
Identifikasi Izin Akses:
Sebuah tim web developer ingin menggunakan FTP Server untuk mengunggah file situs web mereka. Ada dua jenis pengguna:
WebAdmin: Bertanggung jawab atas konfigurasi dan dapat mengunggah, mengunduh, dan menghapus file.
Contributor: Hanya dapat mengunggah file baru ke direktori tertentu, tidak boleh menghapus atau mengubah file lama.
Izin akses FTP apa yang akan Anda berikan untuk masing-masing jenis pengguna ini pada direktori situs web mereka?
Presentasikan hasil kerja dan diskusi kelompok Anda di depan kelas.
E. Eksperimen (Nilai Proyek I)
Pilih salah satu dari tugas berikut:
Simulasi Instalasi dan Konfigurasi FTP Server (Menggunakan Virtual Machine/Simulator):
Instal Ubuntu Server (dengan vsftpd) atau Windows Server (dengan IIS FTP) di virtual machine (VirtualBox/VMware).
Instal dan konfigurasikan FTP Server.
Buat satu pengguna FTP baru.
Konfigurasi direktori FTP agar pengguna tersebut dapat mengunggah dan mengunduh file.
Konfigurasi passive mode FTP dengan rentang port tertentu dan buka port tersebut di firewall server.
Dari virtual machine klien lain atau host Anda, coba koneksi ke FTP Server menggunakan klien FTP (misalnya, FileZilla Client).
Lakukan percobaan unggah dan unduh file.
Sertakan screenshot konfigurasi FTP Server dan hasil pengujian transfer file dalam laporan Anda (maksimal 2 halaman).
Studi Kasus Pemecahan Masalah FTP:
Seorang pengguna melaporkan bahwa dia tidak dapat mengunggah file ke FTP Server Anda, meskipun dia bisa login dan melihat daftar direktori. Pesan kesalahan yang muncul di klien FTP adalah "550 Permission denied". Anda telah memverifikasi bahwa server FTP berjalan dan firewall mengizinkan koneksi.
Identifikasi langkah-langkah troubleshooting yang akan Anda lakukan secara berurutan untuk mendiagnosis masalah ini.
Alat dan perintah apa saja yang akan Anda gunakan (baik di klien maupun di server)?
Sebutkan minimal tiga kemungkinan penyebab masalah ini dan bagaimana Anda akan memverifikasinya.
Sajikan analisis Anda dalam bentuk laporan singkat (maksimal 2 halaman).
Rangkuman
FTP (File Transfer Protocol) adalah protokol standar untuk mentransfer file antar host dalam jaringan.
FTP menggunakan dua koneksi terpisah: Control Connection (port 21) untuk perintah dan Data Connection (port 20 atau dinamis) untuk transfer data.
Mode koneksi ada dua: Active Mode (server memulai koneksi data ke klien, rentan firewall) dan Passive Mode (klien memulai koneksi data ke server di port acak, lebih ramah firewall).
Jenis akses FTP meliputi Anonymous FTP (tanpa login spesifik, untuk publik) dan Authenticated FTP (membutuhkan username dan password).
Instalasi FTP Server dapat menggunakan vsftpd (Linux) atau IIS FTP (Windows Server).
Konfigurasi FTP Server melibatkan pengaturan izin login (pengguna lokal/anonim), mode pasif (rentang port), dan izin direktori.
Manajemen pengguna dan izin sangat penting; pengguna harus dibuat dan izin file system serta aturan otorisasi harus diatur dengan benar.
Pengujian FTP dilakukan dengan klien FTP (peramban web, command line, GUI seperti FileZilla) untuk memverifikasi koneksi, unggah, dan unduh file.
Pemecahan masalah FTP umum meliputi server tidak berjalan, firewall memblokir port (terutama passive mode), masalah izin direktori, masalah NAT, dan kredensial yang salah.
Ulangan Akhir Bab 1
A. Pilihlah salah satu jawaban yang tepat.
Protokol standar jaringan yang digunakan untuk mentransfer file antar komputer adalah ....
a. HTTP
b. DNS
c. DHCP
d. FTP
e. SSH
Port TCP default yang digunakan oleh FTP untuk control connection adalah ....
a. 20
b. 21
c. 22
d. 23
e. 80
Jika klien FTP meminta server untuk masuk ke mode di mana server memberitahu klien port acak yang akan didengarkannya untuk koneksi data, ini adalah karakteristik dari ....
a. FTP Active Mode
b. FTP Passive Mode
c. SFTP Mode
d. FTPS Mode
e. Anonymous Mode
Untuk mengizinkan pengguna mengunggah file ke FTP Server, izin apa yang harus diberikan pada direktori tujuan di sistem file?
a. Hanya izin baca (Read).
b. Hanya izin eksekusi (Execute).
c. Izin tulis (Write) atau modifikasi.
d. Tanpa izin sama sekali.
e. Hanya izin daftar direktori.
Apa tujuan utama dari Anonymous FTP?
a. Untuk transfer file yang sangat aman.
b. Untuk akses tanpa memerlukan username dan password spesifik (umumnya untuk publik).
c. Untuk hanya mengizinkan unggah file.
d. Untuk mengamankan koneksi dengan enkripsi.
e. Untuk membatasi akses ke satu pengguna.
Jika Anda bisa login ke FTP Server tetapi gagal saat mencoba mengunggah file, dan mendapatkan pesan "550 Permission denied", masalah yang paling mungkin terjadi adalah ....
a. Firewall memblokir port 21.
b. Layanan FTP tidak berjalan.
c. Alamat IP server salah.
d. Izin tulis pada direktori tujuan tidak diatur dengan benar.
e. Terjadi konflik alamat IP.
Perangkat lunak FTP Server yang populer di lingkungan Linux dan dikenal karena keamanannya adalah ....
a. Apache
b. Nginx
c. vsftpd
d. Samba
e. ProFTPD (opsional, vsftpd lebih umum di modul ini)
Jika FTP Server Anda berada di belakang NAT dan klien mengalami masalah saat transfer file dalam passive mode, parameter konfigurasi yang mungkin perlu disesuaikan di FTP Server adalah ....
a. Port kontrol.
b. Direktori home pengguna.
c. Alamat IP publik server untuk passive mode (misalnya, pasv_address).
d. Jumlah user yang diizinkan.
e. Waktu timeout koneksi.
Alat command-line yang dapat digunakan untuk mengunggah file ke FTP Server dari Command Prompt (Windows) adalah ....
a. get
b. put
c. ls
d. dir
e. connect
Jika Anda mengkonfigurasi vsftpd di Linux dan ingin membatasi pengguna lokal di direktori home mereka sendiri, opsi apa yang harus Anda aktifkan di /etc/vsftpd.conf?
a. anonymous_enable=YES
b. local_enable=NO
c. write_enable=NO
d. chroot_local_user=YES
e. pasv_enable=NO
B. Jawablah pertanyaan-pertanyaan berikut dengan benar.
Jelaskan secara rinci mengapa FTP Passive Mode lebih disukai daripada Active Mode, terutama ketika klien berada di belakang firewall atau NAT.
Anda diminta untuk menyiapkan FTP Server yang hanya dapat diakses oleh pengguna internal dengan username dan password yang spesifik. Jelaskan langkah-langkah dasar untuk mengkonfigurasi FTP Server (pilih salah satu OS: Linux dengan vsftpd atau Windows dengan IIS FTP) dan mengatur izin akses untuk kasus ini.
Bagaimana Anda akan menggunakan firewall pada server FTP untuk mengamankan layanan, dengan mempertimbangkan port control connection dan rentang port untuk passive mode?
Jelaskan bagaimana Anda akan memecahkan masalah jika pengguna dapat terhubung ke FTP Server Anda dan melihat daftar direktori, tetapi gagal saat mencoba mengunduh file apa pun.
Anda adalah administrator FTP Server. Anda menemukan bahwa seorang pengguna dapat mengunggah file ke direktori tertentu tetapi tidak dapat menghapus file yang sudah ada. Jelaskan apa yang mungkin menjadi penyebab masalah ini dan bagaimana Anda akan memperbaikinya, dengan asumsi Anda menggunakan vsftpd di Linux.
0 komentar: