FTP

Cara Mengkonfigurasi FTP dengan TLS di Ubuntu

Cara Mengkonfigurasi FTP dengan TLS di Ubuntu
FTP (File Transfer Protocol) digunakan terutamanya untuk memindahkan fail antara komputer. FTP berfungsi dalam seni bina pelayan klien, di mana klien meminta fail dari pelayan dan pelayan mengembalikan fail yang diperlukan kepada klien. Pada mesin klien, aplikasi klien FTP digunakan untuk berkomunikasi dengan pelayan. Anda juga boleh mengakses pelayan FTP pada penyemak imbas. Secara lalai, FTP berkomunikasi melalui saluran yang tidak selamat, tetapi mungkin untuk mengkonfigurasi FTP untuk memindahkan data melalui saluran yang selamat. Dalam tutorial ini, anda akan belajar bagaimana mengkonfigurasi pelayan FTP dengan TLS dan kemudian menggunakan FileZilla sebagai aplikasi klien untuk berhubung dengan Pelayan FTP.

Memasang VSFTPD

VSFTPD (Very Secure FTP Daemon) adalah program perisian yang digunakan untuk mengkonfigurasi FTP pada pelayan. Dalam tutorial ini, VSFTPD akan digunakan untuk mengkonfigurasi pelayan FTP pada mesin. Sebelum memasang VSFTPD, kemas kini repositori di pelayan anda dengan mengeluarkan arahan berikut.

[dilindungi e-mel]: ~ $ sudo apt-get kemas kini -y

Seterusnya, pasang VSFTPD menggunakan arahan berikut.

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

Akhirnya, sahkan pemasangan dengan memeriksa versi vsftpd dengan arahan berikut.

[dilindungi e-mel]: ~ $ vsftpd -v

Perintah di atas akan mengeluarkan versi vsftpd jika pemasangan berjaya.

FTP dalam Mod Aktif

Dalam mod Aktif, klien FTP memulakan sesi dengan mewujudkan sambungan kawalan TCP dari mana-mana port rawak pada mesin klien ke port 21 Server. Kemudian, pelanggan mula mendengar pada port X secara rawak untuk sambungan data dan memberitahu pelayan melalui sambungan TCP Control bahawa klien sedang menunggu sambungan data di port X. Selepas ini, pelayan membuat sambungan data dari port 20 ke port X pada mesin pelanggan.

Masalah boleh timbul apabila klien berada di belakang firewall dan port X disekat. Dalam kes ini, pelayan tidak dapat membuat sambungan data dengan klien. Untuk mengelakkan masalah ini, pelayan FTP kebanyakannya digunakan dalam mod Pasif, yang akan kita bincangkan kemudian dalam artikel ini. Secara lalai, VSFTPD menggunakan mod Pasif, jadi kita harus mengubahnya ke mod Aktif.

Pertama, buka fail konfigurasi VSFTPD.

[dilindungi e-mel]: ~ $ sudo nano / etc / vsftpd.pengesahan

Tambahkan baris berikut ke hujung fail.

pasv_enable = TIDAK

Juga, pastikan bahawa pilihan 'connect_from_port_20' ditetapkan ke 'YA.'Pilihan ini memastikan bahawa sambungan data dibuat di port 20 pelayan.

Seterusnya, buat direktori yang akan digunakan pelayan FTP untuk menyimpan fail. Untuk tutorial ini, kami akan mengkonfigurasi '/ home / ubuntu / ftp /' sebagai jalan root untuk pelayan FTP.

[dilindungi e-mel]: ~ $ sudo mkdir / home / ubuntu / ftp

Sekarang, tentukan direktori ini dalam fail konfigurasi dengan menukar pilihan 'local_root'. Parameter berikut akan mengkonfigurasi laluan root pelayan.

local_root = / rumah / ubuntu / ftp

Pilihan 'write_enable' mesti diaktifkan untuk membolehkan pengguna menulis ke pelayan FTP.

Setiap kali anda menukar fail konfigurasi, selalu mulakan semula pelayan.

[dilindungi e-mel]: ~ $ sudo systemctl mulakan semula vsftpd

Menetapkan Kata Laluan untuk Pengguna

Pelanggan FTP berhubung dengan pelayan menggunakan nama pengguna dan kata laluan. Tetapkan kata laluan untuk pengguna anda di mesin menggunakan perintah berikut.

[dilindungi e-mel]: ~ $ sudo passwd ubuntu

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

Mengkonfigurasi Firewall untuk Mod Aktif

Sekiranya FTP digunakan dalam mod Aktif, pelayan FTP akan menggunakan dua port untuk berkomunikasi dengan klien, port 21 dan 22. Port 21 digunakan untuk menyampaikan perintah kepada klien, dan Port 20 digunakan untuk memindahkan data ke port rawak klien mana pun. Kami akan menggunakan ufw untuk mengkonfigurasi firewall pada pelayan. Pasang ufw menggunakan arahan berikut.

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

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

[dilindungi e-mel]: ~ $ sudo ufw membenarkan dari mana-mana ke mana-mana proto tcp port

Aktifkan dan periksa status ufw menggunakan arahan berikut.

[dilindungi e-mel]: ~ $ sudo ufw aktifkan
[dilindungi e-mel]: ~ $ sudo ufw status

NOTA: jika anda mengkonfigurasi pelayan FTP anda di awan, anda juga perlu membenarkan port 20, 21, dan 22 dalam kumpulan keselamatan.

AMARAN: Sentiasa aktifkan port 22, bersama dengan port yang diperlukan, sebelum mengaktifkan ufw pada sistem jauh. Secara lalai, UFW menyekat lalu lintas dari port 22, jadi anda tidak akan dapat mengakses pelayan jauh anda menggunakan SSH jika anda mengaktifkan ufw tanpa membenarkan lalu lintas dari port 22.

Memasang Pelanggan FTP

Sekarang, pelayan kami dikonfigurasikan dalam mod Aktif, dan kami dapat mengaksesnya dari sisi klien. Untuk aplikasi klien, kami akan menggunakan FileZilla, aplikasi klien ftp. Pasang FileZilla menggunakan arahan berikut.

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

Buka aplikasi klien FTP dan masukkan alamat IP awam dan bukti kelayakan lain dari pelayan FTP.

Apabila anda mengklik 'Quickconnect', anda akan menyambung ke pelayan FTP dan secara automatik dibawa ke direktori yang ditentukan dalam pilihan 'local_root' dalam fail konfigurasi '/ home / ubuntu / ftp'.

Masalah dalam Mod Aktif

Menggunakan FTP dalam mod Aktif menimbulkan masalah ketika klien berada di belakang firewall. Setelah memasukkan perintah kawalan awal, ketika pelayan membuat sambungan data dengan klien pada port rawak, port mungkin disekat oleh firewall pada klien, menyebabkan transfer data gagal. FTP dapat digunakan dalam mode Pasif untuk menyelesaikan masalah firewall ini.

FTP dalam Mod Pasif

Dalam mod Pasif, pelanggan membuat sambungan kawalan dengan pelayan di port 21 pelayan. Pelanggan kemudian menghantar arahan 'PASV' khas untuk memberitahu pelayan bahawa sambungan data akan dibuat oleh pelanggan dan bukannya pelayan. Sebagai tindak balas, pelanggan menerima IP pelayan dan nombor port rawak (nombor port ini akan dikonfigurasi pada pelayan). Pelanggan menggunakan nombor IP dan port ini untuk membuat sambungan data dengan pelayan. Dalam mod pasif, kedua-dua sambungan data dan kawalan dibuat oleh klien, sehingga firewall tidak mengganggu komunikasi antara klien dan pelayan.

Buka fail konfigurasi FTP di editor kegemaran anda.

[dilindungi e-mel]: ~ $ sudo nano / etc / vsftpd.pengesahan

Tetapkan pilihan 'pasv_enable' ke 'YA' dalam fail supaya pelayan dapat berkomunikasi dengan klien dalam mod Pasif. Juga, tetapkan pilihan 'local_root' untuk menentukan direktori root pelayan dan tetapkan pilihan 'write_enable' ke 'YA' untuk membolehkan pengguna memuat naik fail ke pelayan.

Seperti yang telah dibincangkan sebelumnya, sambungan data dibuat oleh klien, dan pelayan menghantar IP awamnya dan port rawak kepada klien untuk membuat sambungan data. Port rawak ini di pelayan dapat ditentukan dari rangkaian port dalam fail konfigurasi.

Sambungan data antara pelayan dan klien akan dibuat pada port antara 1024 dan 1048. Mulakan semula pelayan FTP setelah menukar fail konfigurasi.

[dilindungi e-mel]: ~ $ sudo systemctl mulakan semula vsftpd

Mengkonfigurasi Firewall dalam Mode Pasif

Sekiranya kita menggunakan FTP dalam mod Pasif, sambungan data akan dibuat melalui port mana pun dari 1024 hingga 1048, jadi perlu untuk membiarkan semua port ini pada pelayan FTP.

[dilindungi e-mel]: ~ $ sudo ufw membenarkan dari mana-mana ke mana-mana proto tcp port

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

[dilindungi e-mel]: ~ $ sudo ufw aktifkan

Sentiasa benarkan port di pelayan sebelum menghidupkan firewall; jika tidak, anda tidak akan dapat mengakses pelayan anda melalui SSH sebagai ufw, yang menyekat port 22 secara lalai.

Menguji Sambungan

Sekarang, kami telah menyediakan pelayan FTP dalam mod Pasif dan dapat memeriksa sambungan ftp dengan aplikasi klien. Buka FileZilla dalam sistem anda untuk melakukannya.

Setelah memasuki host, nama pengguna, kata laluan, dan port, kini anda boleh berhubung dengan pelayan anda. Setelah anda disambungkan ke pelayan FTP yang berjalan dalam mod Pasif, anda boleh memuat naik fail ke pelayan.

Mengkonfigurasi Sijil SSL dengan Pelayan FTP

Secara lalai, pelayan FTP menjalin hubungan antara klien dan pelayan melalui saluran yang tidak selamat. Jenis komunikasi ini tidak boleh digunakan jika anda ingin berkongsi data sensitif antara pelanggan dan pelayan. Untuk berkomunikasi melalui saluran yang selamat, perlu menggunakan sijil SSL.

Menjana Sijil SSL

Kami akan menggunakan sijil SSL untuk mengatur komunikasi yang selamat antara pelanggan dan pelayan. Kami akan menghasilkan sijil ini dengan menggunakan openssl. Perintah berikut akan menghasilkan sijil SSL untuk pelayan anda.

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

Apabila anda menjalankan perintah di atas, anda akan ditanya beberapa soalan. Setelah anda menjawab soalan-soalan ini, sijil akan dihasilkan. Anda boleh memeriksa sijil di terminal.

[dilindungi e-mel]: ~ $ sudo ls / etc / ssl / private /

Menggunakan Sijil dalam Fail Konfigurasi

Kini, sijil kami siap digunakan. Kami akan mengkonfigurasi 'vsftpd.fail conf untuk menggunakan sijil SSL untuk komunikasi. Buka fail konfigurasi dengan arahan berikut.

[dilindungi e-mel]: ~ $ sudo nano / etc / vsftpd.pengesahan

Tambahkan baris berikut ke hujung fail. Perubahan ini akan memastikan bahawa pelayan FTP menggunakan sijil SSL yang baru dihasilkan untuk berkomunikasi dengan pelanggan dengan selamat.

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

Mulakan semula pelayan FTP untuk menerapkan perubahan ini.

[dilindungi e-mel]: ~ $ sudo systemctl mulakan semula vsftpd

Setelah memulakan semula pelayan, cuba sambungkan dengan pelayan anda menggunakan aplikasi klien FileZilla. Kali ini, aplikasi pelanggan akan bertanya kepada anda sama ada mempercayai sijil ini.

Sekiranya anda mempunyai sijil dari pihak berkuasa sijil yang dipercayai, maka amaran ini tidak boleh muncul. Kami membuat sijil kami dengan menggunakan openssl, yang bukan pihak berkuasa sijil yang dipercayai, sebab itulah ia meminta pengesahan sijil dalam kes kami. Sekarang, kita dapat berkomunikasi antara pelanggan dan pelayan melalui saluran yang selamat.

Konfigurasi Tanpa Nama

Anda juga boleh mengaktifkan log masuk tanpa nama di pelayan FTP anda. Dengan konfigurasi ini diaktifkan, mana-mana pengguna boleh log masuk ke pelayan FTP dengan nama pengguna dan kata laluan. Parameter berikut dalam fail konfigurasi akan menjadikan pelayan FTP dapat diakses tanpa nama.

Konfigurasi di atas menetapkan jalan root untuk pengguna tanpa nama menjadi '/ home / ubuntu / ftp / anon' dan ia tidak akan meminta kata laluan apabila pengguna tanpa nama log masuk.

NOTA: Pastikan jalan '/ home / ubuntu / ftp / anon' ada di pelayan FTP.

Sekarang, mulakan semula pelayan FTP.

[dilindungi e-mel]: ~ $ sudo systemctl mulakan semula vsftpd

Setelah memulakan semula pelayan, kami akan cuba menyambung ke pelayan melalui Penyemak Imbas Google Chrome. Pergi ke URL berikut.

ftp: // 3.8.12.52

URL di atas akan membawa anda ke direktori root pelayan FTP, seperti yang ditentukan dalam fail konfigurasi. Dengan log masuk Tanpa Nama dilumpuhkan, apabila anda cuba menyambung ke pelayan FTP menggunakan penyemak imbas, anda pertama kali akan diminta pengesahan, dan kemudian anda akan dibawa ke direktori root pelayan.

Konfigurasikan Akses Setempat

Kami juga boleh membenarkan atau menyekat akses tempatan ke pelayan FTP dengan mengubah fail konfigurasi. Pada masa ini, kami dapat mengakses pelayan FTP kami secara tempatan tanpa menggunakan aplikasi klien FTP, tetapi kami dapat menyekat akses ini. Untuk melakukannya, kita mesti mengubah parameter 'local_enable'.

Pertama, mulakan semula pelayan FTP.

[dilindungi e-mel]: ~ $ sudo systemctl mulakan semula vsftpd

Setelah memulakan semula pelayan, cuba akses pelayan FTP secara tempatan dengan menggunakan antara muka baris perintah. Log masuk ke pelayan jauh anda menggunakan SSH.

[dilindungi e-mel]: ~ $ ssh ubuntu @ 3.8.12.52 -i

Sekarang, keluarkan arahan berikut untuk log masuk ke pelayan FTP secara tempatan menggunakan antara muka baris perintah.

[dilindungi e-mel]: ~ $ ftp localhost

Apabila anda menjalankan perintah di atas, ia akan membuang 500 kesalahan.

Kesimpulannya

Protokol Pemindahan Fail telah digunakan selama bertahun-tahun untuk memindahkan fail dan dokumen melalui Internet. VSFTPD adalah salah satu pakej yang digunakan sebagai pelayan FTP pada mesin anda. VSFTPD mengandungi pelbagai konfigurasi yang dapat anda gunakan untuk menyesuaikan pelayan FTP anda. Tutorial ini menunjukkan kepada anda cara mengkonfigurasi pelayan FTP dengan TLS untuk keselamatan yang dipertingkatkan. Untuk mengetahui lebih lanjut mengenai konfigurasi FTP, kunjungi pautan berikut.

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

Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...
Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...
5 Kad Tangkap Permainan Teratas
Kita semua telah melihat dan menyukai streaming permainan permainan di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain terat...