Vsftpd, penginstalan dan konfigurasi dasar server FTP

tentang vsftpd

Pada artikel selanjutnya kita akan melihat bagaimana kita dapat menginstal vsftpd di Ubuntu. Baik Anda ingin membuat server rumah, server web, server game, atau server apa pun yang sesuai dengan proyek Anda, FTP adalah cara termudah untuk mentransfer data dari satu sistem ke sistem lainnya. Itulah mengapa kita akan melihat bagaimana tampil instalasi dan konfigurasi dasar server FTP di Ubuntu.

FTP, atau Protokol transfer file, adalah sistem yang digunakan untuk memuat (tempat) atau unduh (dapatkan) file dari server. Anda mungkin pernah menggunakannya di beberapa titik tanpa menyadarinya, saat mengambil file atau mengunggah gambar ke web.

Instal server FTP di Ubuntu

Pasang vsftpd

Untuk contoh ini, saya akan menginstal server FPT di jaringan lokal saya di Ubuntu 20.04. Jika Anda tidak menginstalnya di komputer Anda, dapat diinstal dengan perintah (Ctrl + Alt + T):

instal vsftpd

sudo apt install vsftpd

Setelah terinstal, kita akan mulai dengan buat salinan file konfigurasi asli. Jika terjadi kesalahan, pengaturan default dapat dipulihkan.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_default

Sekarang ayo memulai layanan dengan perintah:

sudo systemctl start vsftpd

Kami mengonfirmasi bahwa ini berjalan dengan:

aktifkan vsftpd

sudo systemctl enable vsftpd

Akun pengguna FTP

Dengan ini Kita dapat menggunakan klien FTP apa pun untuk mengakses file yang dihosting di server melalui vsftpd. Di terminal (Ctrl + Alt + T) kita hanya perlu menggunakan perintah:

sudo useradd –m nombre-usuario

Mengganti 'nama pengguna'dengan nama pengguna yang Anda maksud. Sekarang kita akan melakukannya mengatur kata sandi:

buat pengguna ftp

sudo passwd nombre-usuario

Setelah kita akan pindah ke folder pengguna yang baru dibuat:

cd /home/nombre-usuario

Idealnya, FTP harus dibatasi ke direktori tertentu untuk alasan keamanan. Vsftpd menggunakan kandang chroot untuk melakukannya. Dengan chroot diaktifkan, pengguna lokal dibatasi ke direktori home mereka (secara default). Untuk contoh ini, kita akan membuat direktori ftp yang akan bertindak sebagai chroot, bersama dengan direktori file yang dapat dimodifikasi.

Untuk memulai kami membuat folder FTP:

sudo mkdir ftp

Kami akan mengatur properti folder dengan perintah lain ini:

properti folder ftp

sudo chown nobody:nogroup /home/nombre-usuario/ftp

sekarang kami menghapus izin tulis dari folder ini:

sudo chmod a-w /home/nombre-usuario/ftp

Kami terus membuat direktori penampung file dan kami akan menetapkan properti:

buat folder file

sudo mkdir /home/nombre-usuario/ftp/files 

sudo chown nombre-usuario:nombre-usuario /home/nombre-usuario/ftp/files

Pada titik ini, kami akan melakukannya buat file uji di folder file:

buat file contoh

echo "vsftpd archivo de ejemplo" | sudo tee /home/nombre-usuario/ftp/files/ejemplo.txt

Mengamankan server FTP

Dalam langkah ini mari kita buka port 20 dan 21 untuk lalu lintas FTP. Port 40000-50000 akan dicadangkan untuk kisaran port pasif yang pada akhirnya akan disetel dalam file konfigurasi dan port 990 akan digunakan saat TLS diaktifkan. Jalankan perintah berikut untuk melakukannya:

sudo ufw allow 20/tcp; sudo ufw allow 21/tcp; sudo ufw allow 990/tcp; sudo ufw allow 40000:50000/tcp

Jika Anda menggunakan firewall yang berbeda, periksa dokumentasinya untuk membuka port.

Konfigurasi vsftpd

Karena kami ingin pengguna dapat mengunggah file, kami akan melakukannya edit file konfigurasi vsftpd:

sudo vim /etc/vsftpd.conf

Di dalam file kami akan temukan entri berikut dan hapus komentarnya:

anonim menulis lokal untuk menghapus komentar

anonymous_enable=NO

write_enable=YES

local_enable=YES

Chroot_local_user juga tidak akan dikomentari, dengan ini kami menjamin bahwa pengguna yang terhubung hanya mengakses file dalam direktori yang diizinkan:

chroot pengguna lokal untuk menghapus komentar

chroot_local_user=YES

Kami juga akan menambahkan beberapa nilai baru secara manual di akhir file. Ini akan memungkinkan konfigurasi untuk bekerja dengan pengguna saat ini dan pengguna lain yang ditambahkan nanti:

usr PENGGUNA lokal

user_sub_token=$USER
local_root=/home/$USER/ftp

Mulai ulang daemon untuk memuat perubahan:

sudo systemctl restart vsftpd

Koneksi terenkripsi

Kami akan menggunakan TTL / SSL untuk memastikan keamanan. Kita harus membuat sertifikat SSL dan menggunakannya untuk melindungi server FTP. Kami akan melakukan ini dengan perintah:

menghasilkan sertifikat SSL

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Bendera -hari membuat sertifikat berlaku selama satu tahun dan kami telah menyertakan a Kunci pribadi RSA 2048 bit dalam perintah yang sama. Setelah Anda selesai membuat sertifikat, buka file konfigurasi lagi:

sudo vim /etc/vsftpd.conf

Di akhir file kita harus menemukan dua baris yang dimulai dengan «rsa«. Beri komentar pada kedua baris dan tulis yang berikut ini:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

garis rsa

Sekarang kami akan mengaktifkan SSL sehingga hanya klien yang mengaktifkan SSL yang dapat terhubung. Ubah nilai ssl_enable menjadi YES:

ssl_enable=YES

untuk jangan izinkan koneksi anonim melalui SSL, tambahkan baris:

pengaturan keamanan

allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

Konfigurasikan server untuk menggunakan TLS, menambahkan:

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

Kami juga akan mendapatkannya tidak perlu menggunakan kembali SSL, karena dapat menyebabkan banyak klien FTP tidak berfungsi. Apalagi kami akan menggunakan rangkaian enkripsi enkripsi tinggi, menambahkan garis:

require_ssl_reuse=NO
ssl_ciphers=HIGH

Kami menyimpan file dan kami memulai kembali layanan:

sudo systemctl restart vsftpd

Akses dari klien FTP

Sekarang kita dapat terhubung ke server FTP kita. Untuk ini kita dapat menggunakan aplikasi dari lingkungan grafis atau perintah terminal ftp. Jika Anda memilih lingkungan grafis, Anda memerlukan klien FTP seperti FileZilla. Untuk menginstalnya Anda bisa beralih ke artikel yang ditulis oleh seorang rekan di blog ini beberapa waktu yang lalu.

Setelah Filezilla diinstal dan dijalankan, lakukan klik File / Site Manager. Hal berikutnya adalah mengklik "Situs baru".

koneksi filezilla ke vsftpd

Di panel kanan, pilih sebagai protokol FTP. Jika Anda menggunakan FTPS, pilih TLS untuk enkripsi. Berikut, tulis nama host atau alamat IP di Server dan tambahkan port (21). Untuk dia mode akses pilih Normal, dan tulis kredensial akun Anda di Nama Pengguna dan Kata Sandi. Klik Hubungkan.

Kami harus menerima sertifikat yang kami buat sebelumnya.

terima sertifikat SSL

Pada titik ini kita akan melihat file contoh yang kita buat di dalam folder file. Kami sekarang dapat mulai menggunakan server FTP kami. Cukup seret dan jatuhkan file yang ingin Anda pindahkan.

file contoh filezilla

Dengan menggunakan FTP, kami dapat mengambil data kapan pun kami membutuhkannya. Bisa pelajari lebih lanjut tentang vsftpd dan konfigurasinya dari Halaman dokumentasi Ubuntu.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   fjalcon.dll dijo

    Tutorial yang sempurna, ini telah membantu saya mengkonfigurasi server ftp saya dalam hitungan menit.

  2.   juan carlos dijo

    Tutorial yang bagus, dapat dimengerti dari awal hingga akhir. Saya punya pertanyaan, saya punya PC dengan Debian 11 Plasma, dan virtualbox dengan centos 7. Dalam centos saya telah menginstal server ftpy dan membuat pengguna. Sekarang dari Debian dan dolphin saya akses tanpa masalah, masalahnya saya tidak bisa membuat folder atau file, tapi dari virtual lain (xp, seven, linuxmint), jika saya bisa membuat tanpa masalah, kenapa begitu?