FTP

Cara Mengkonfigurasi FTP dengan TLS di Ubuntu

Cara Mengkonfigurasi FTP dengan TLS di Ubuntu
FTP (File Transfer Protocol) terutama digunakan untuk mentransfer file antar komputer. FTP bekerja dalam arsitektur client-server, di mana klien meminta file dari server dan server mengembalikan file yang diperlukan ke klien. Pada mesin klien, aplikasi klien FTP digunakan untuk berkomunikasi dengan server. Dimungkinkan juga untuk mengakses server FTP di browser. Secara default, FTP berkomunikasi melalui saluran yang tidak aman, tetapi dimungkinkan untuk mengonfigurasi FTP untuk mentransfer data melalui saluran yang aman. Dalam tutorial ini, Anda akan belajar cara mengkonfigurasi server FTP dengan TLS dan kemudian menggunakan FileZilla sebagai aplikasi klien untuk terhubung dengan Server FTP.

Menginstal VSFTPD

VSFTPD (Very Secure FTP Daemon) adalah program perangkat lunak yang digunakan untuk mengkonfigurasi FTP di server. Dalam tutorial ini, VSFTPD akan digunakan untuk mengkonfigurasi server FTP pada mesin FTP. Sebelum menginstal VSFTPD, perbarui repositori di server Anda dengan mengeluarkan perintah berikut:.

[dilindungi email]:~$ sudo apt-get update -y

Selanjutnya, instal VSFTPD menggunakan perintah berikut:.

[dilindungi email]:~$ sudo apt-get install vsftpd -y

Terakhir, verifikasi instalasi dengan memeriksa versi vsftpd dengan perintah berikut:.

[dilindungi email]:~$ vsftpd -v

Perintah di atas akan menampilkan versi vsftpd jika instalasi berhasil.

FTP dalam Mode Aktif

Dalam mode Aktif, klien FTP memulai sesi dengan membuat koneksi kontrol TCP dari port acak apa pun di mesin klien ke port 21 Server. Kemudian, klien mulai mendengarkan pada port X acak untuk koneksi data dan menginformasikan server melalui koneksi Kontrol TCP bahwa klien sedang menunggu koneksi data pada port X. Setelah ini, server membuat koneksi data dari port 20 ke port X pada mesin klien.

Masalah dapat muncul ketika klien berada di belakang firewall dan port X diblokir. Dalam hal ini, server tidak dapat membuat koneksi data dengan klien. Untuk menghindari masalah ini, server FTP banyak digunakan dalam mode Pasif, yang akan kita bahas nanti di artikel ini this. Secara default, VSFTPD menggunakan mode Pasif, jadi kita harus mengubahnya ke mode Aktif.

Pertama, buka file konfigurasi VSFTPD.

[dilindungi email]:~$ sudo nano /etc/vsftpd.konf

Tambahkan baris berikut ke akhir file.

pasv_enable=TIDAK

Juga, pastikan opsi 'connect_from_port_20' disetel ke 'YA.' Opsi ini memastikan bahwa koneksi data dibuat pada port 20 server.

Selanjutnya, buat direktori yang akan digunakan server FTP untuk menyimpan file. Untuk tutorial ini, kita akan mengkonfigurasi '/home/ubuntu/ftp/' sebagai jalur root untuk server FTP.

[dilindungi email]:~$ sudo mkdir /home/ubuntu/ftp

Sekarang, tentukan direktori ini di file konfigurasi dengan mengubah opsi 'local_root'. Parameter berikut akan mengonfigurasi jalur root server.

local_root=/home/ubuntu/ftp

Opsi 'write_enable' harus diaktifkan agar pengguna dapat menulis ke server FTP.

Setiap kali Anda mengubah file konfigurasi, selalu restart server.

[dilindungi email]:~$ sudo systemctl restart vsftpd

Mengatur Kata Sandi untuk Pengguna

Klien FTP terhubung dengan server menggunakan nama pengguna dan kata sandi. Atur kata sandi untuk pengguna Anda di mesin menggunakan perintah berikut following.

[dilindungi email]:~$ sudo passwd ubuntu

Perintah di atas akan meminta kata sandi untuk pengguna 'ubuntu'.

Mengonfigurasi Firewall untuk Mode Aktif

Jika FTP digunakan dalam mode Aktif, server FTP akan menggunakan dua port untuk berkomunikasi dengan klien, port 21 dan 22. Port 21 digunakan untuk meneruskan perintah ke klien, dan Port 20 digunakan untuk mentransfer data ke port acak klien. Kami akan menggunakan ufw untuk mengkonfigurasi firewall di server. Instal ufw menggunakan perintah berikut.

[dilindungi email]:~$ sudo apt-get install ufw

Sekarang, di sisi server, kita akan membuka port 20, 21, dan 22 (untuk koneksi SSH).

[dilindungi email]:~$ sudo ufw izinkan dari mana saja ke port mana saja proto tcp

Aktifkan dan periksa status ufw menggunakan perintah berikut.

[dilindungi email]:~$ sudo ufw aktifkan
[dilindungi email]:~$ sudo ufw status

CATATAN: jika Anda mengonfigurasi server FTP Anda di cloud, Anda juga harus mengizinkan port 20, 21, dan 22 di grup keamanan.

PERINGATAN: Selalu aktifkan port 22, bersama dengan port yang diperlukan, sebelum mengaktifkan ufw pada sistem jarak jauh. Secara default, UFW memblokir lalu lintas dari port 22, jadi Anda tidak akan dapat mengakses server jarak jauh menggunakan SSH jika Anda mengaktifkan ufw tanpa mengizinkan lalu lintas dari port 22.

Menginstal Klien FTP

Sekarang, server kami dikonfigurasi dalam mode Aktif, dan kami dapat mengaksesnya dari sisi klien. Untuk aplikasi klien, kami akan menggunakan FileZilla, aplikasi klien ftp. Instal FileZilla menggunakan perintah berikut.

[dilindungi email]:~$ sudo apt-get install filezilla -y

Buka aplikasi klien FTP dan masukkan alamat IP publik dan kredensial lain dari server FTP.

Ketika Anda mengklik 'Quickconnect', Anda akan terhubung ke server FTP dan secara otomatis dibawa ke direktori yang ditentukan dalam opsi 'local_root' di file konfigurasi '/home/ubuntu/ftp'.

Masalah dalam Mode Aktif

Menggunakan FTP dalam mode Aktif menimbulkan masalah ketika klien berada di belakang firewall. Setelah memasukkan perintah kontrol awal, ketika server membuat koneksi data dengan klien pada port acak, port mungkin diblokir oleh firewall pada klien, menyebabkan transfer data gagal. FTP dapat digunakan dalam mode Pasif untuk menyelesaikan masalah firewall ini.

FTP dalam Mode Pasif

Dalam mode Pasif, klien membuat koneksi kontrol dengan server pada port 21 server. Klien kemudian mengirimkan perintah 'PASV' khusus untuk menginformasikan server bahwa koneksi data akan dibuat oleh klien alih-alih server. Sebagai tanggapan, klien menerima IP server dan nomor port acak (nomor port ini akan dikonfigurasi di server). Klien menggunakan IP dan nomor port ini untuk membuat koneksi data dengan server. Dalam mode Pasif, koneksi data dan kontrol dibuat oleh klien, sehingga firewall tidak mengganggu komunikasi antara klien dan server.

Buka file konfigurasi FTP di editor favorit Anda.

[dilindungi email]:~$ sudo nano /etc/vsftpd.konf

Setel opsi 'pasv_enable' ke 'YES' di file sehingga server dapat berkomunikasi dengan klien dalam mode Pasif. Juga, atur opsi 'local_root' untuk menentukan direktori root server dan atur opsi 'write_enable' ke 'YA' untuk mengizinkan pengguna mengunggah file ke server.

Seperti yang telah dibahas sebelumnya, koneksi data dibuat oleh klien, dan server mengirimkan IP publiknya dan port acak ke klien untuk membuat koneksi data. Port acak di server ini dapat ditentukan dari berbagai port dalam file konfigurasi.

Koneksi data antara server dan klien akan dibuat pada port antara 1024 dan 1048. Mulai ulang server FTP setelah mengubah file konfigurasi.

[dilindungi email]:~$ sudo systemctl restart vsftpd

Mengonfigurasi Firewall dalam Mode Pasif

Jika kita menggunakan FTP dalam mode Pasif, koneksi data akan dibuat melalui port mana pun dari 1024 hingga 1048, jadi semua port ini harus diizinkan di server FTP.

[dilindungi email]:~$ sudo ufw izinkan dari mana saja ke port mana saja proto tcp

Setelah mengizinkan semua port di firewall, aktifkan ufw dengan menjalankan perintah berikut:.

[dilindungi email]:~$ sudo ufw aktifkan

Selalu izinkan port di server sebelum mengaktifkan firewall; jika tidak, Anda tidak akan dapat mengakses server Anda melalui SSH sebagai ufw, yang secara default memblokir port 22.

Menguji Koneksi

Sekarang, kami telah menyiapkan server FTP dalam mode Pasif dan dapat memeriksa koneksi ftp dengan aplikasi klien. Buka FileZilla di sistem Anda untuk melakukannya.

Setelah memasukkan host, nama pengguna, kata sandi, dan port, sekarang Anda dapat terhubung dengan server Anda. Sekarang Anda terhubung ke server FTP yang berjalan dalam mode Pasif, Anda dapat mengunggah file ke server.

Mengonfigurasi Sertifikat SSL dengan Server FTP

Secara default, server FTP membuat koneksi antara klien dan server melalui saluran yang tidak aman. Jenis komunikasi ini tidak boleh digunakan jika Anda ingin berbagi data sensitif antara klien dan server. Untuk berkomunikasi melalui saluran aman, perlu menggunakan sertifikat SSL.

Menghasilkan Sertifikat SSL

Kami akan menggunakan sertifikat SSL untuk mengatur komunikasi yang aman antara klien dan server. Kami akan membuat sertifikat ini menggunakan openssl. Perintah berikut akan menghasilkan sertifikat SSL untuk server Anda.

[dilindungi email]:~$ Sudo openssl req -x509 -nodes -day 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Ketika Anda menjalankan perintah di atas, Anda akan ditanya beberapa pertanyaan. Setelah Anda menjawab pertanyaan-pertanyaan ini, sertifikat akan dibuat. Anda dapat memeriksa sertifikat di terminal.

[dilindungi email]:~$ Sudo ls /etc/ssl/private/

Menggunakan Sertifikat di File Konfigurasi

Sekarang, sertifikat kami siap digunakan. Kami akan mengkonfigurasi 'vsftpd.conf' untuk menggunakan sertifikat SSL untuk komunikasi. Buka file konfigurasi dengan perintah berikut.

[dilindungi email]:~$ sudo nano /etc/vsftpd.konf

Tambahkan baris berikut ke akhir file. Perubahan ini akan memastikan bahwa server FTP menggunakan sertifikat SSL yang baru dibuat untuk berkomunikasi secara aman dengan klien.

ssl_enable=YA
force_local_data_ssl=TIDAK
force_local_logins_ssl=TIDAK
ssl_tlsv1=YA
ssl_sslv2=TIDAK
ssl_sslv3=TIDAK
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

Mulai ulang server FTP untuk menerapkan perubahan ini.

[dilindungi email]:~$ sudo systemctl restart vsftpd

Setelah me-restart server, coba sambungkan dengan server Anda menggunakan aplikasi klien FileZilla. Kali ini, aplikasi klien akan menanyakan apakah Anda memercayai sertifikat ini.

Jika Anda memiliki sertifikat dari otoritas sertifikat tepercaya, maka peringatan ini seharusnya tidak muncul. Kami membuat sertifikat kami menggunakan openssl, yang bukan merupakan otoritas sertifikat tepercaya, itulah sebabnya ia meminta otentikasi sertifikat dalam kasus kami. Sekarang, kita dapat berkomunikasi antara klien dan server melalui saluran yang aman.

Konfigurasi Anonim

Anda juga dapat mengaktifkan login anonim di server FTP Anda. Dengan konfigurasi ini diaktifkan, setiap pengguna dapat masuk ke server FTP dengan nama pengguna dan kata sandi apa pun. Parameter berikut dalam file konfigurasi akan membuat server FTP dapat diakses secara anonim.

Konfigurasi di atas menetapkan jalur root untuk pengguna anonim menjadi '/home/ubuntu/ftp/anon' dan tidak akan meminta kata sandi saat pengguna anonim masuk.

CATATAN: Pastikan jalur '/home/ubuntu/ftp/anon' ada di server FTP.

Sekarang, restart server FTP.

[dilindungi email]:~$ sudo systemctl restart vsftpd

Setelah memulai ulang server, kami akan mencoba terhubung ke server melalui Browser Google Chrome. Pergi ke URL berikut.

ftp://3.8.12.52

URL di atas akan membawa Anda ke direktori root server FTP, seperti yang ditentukan dalam file konfigurasi. Dengan login Anonymous dinonaktifkan, ketika Anda mencoba untuk terhubung ke server FTP menggunakan browser, pertama-tama Anda akan diminta untuk otentikasi, dan kemudian Anda akan dibawa ke direktori root server.

Konfigurasikan Akses Lokal

Kami juga dapat mengizinkan atau memblokir akses lokal ke server FTP dengan mengubah file konfigurasi. Saat ini, kami dapat mengakses server FTP kami secara lokal tanpa menggunakan aplikasi klien FTP, tetapi kami dapat memblokir akses ini. Untuk melakukannya, kita harus mengubah parameter 'local_enable'.

Pertama, restart server FTP.

[dilindungi email]:~$ sudo systemctl restart vsftpd

Setelah memulai ulang server, coba akses server FTP secara lokal dengan menggunakan antarmuka baris perintah. Masuk ke server jarak jauh Anda menggunakan SSH.

[dilindungi email]:~$ ssh [email protected] -i

Sekarang, keluarkan perintah berikut untuk masuk ke server FTP secara lokal menggunakan antarmuka baris perintah.

[dilindungi email]:~$ ftp localhost

Saat Anda menjalankan perintah di atas, itu akan menimbulkan kesalahan 500.

Kesimpulan

File Transfer Protocol telah digunakan selama bertahun-tahun untuk mentransfer file dan dokumen melalui Internet. VSFTPD adalah salah satu paket yang digunakan sebagai server FTP di mesin Anda. VSFTPD berisi berbagai konfigurasi yang dapat Anda gunakan untuk menyesuaikan server FTP Anda. Tutorial ini menunjukkan kepada Anda cara mengonfigurasi server FTP dengan TLS untuk keamanan yang ditingkatkan. Untuk mempelajari lebih lanjut tentang konfigurasi FTP, kunjungi tautan berikut.

http://vsftpd.binatang buas.org/vsftpd_conf.html

5 Game Arkade Terbaik untuk Linux
Saat ini, komputer adalah mesin serius yang digunakan untuk bermain game. Jika Anda tidak bisa mendapatkan skor tinggi baru, Anda akan tahu apa yang s...
Pertempuran Untuk Wesnoth 1.13.6 Pengembangan Dirilis
Pertempuran Untuk Westnoth 1.13.6 dirilis bulan lalu, adalah rilis pengembangan keenam dalam 1.13.x series dan memberikan sejumlah peningkatan, teruta...
Cara Menginstal League Of Legends di Ubuntu 14.04
Jika Anda adalah penggemar League of Legends, maka ini adalah kesempatan bagi Anda untuk menguji coba League of Legends. Perhatikan bahwa LOL didukung...