#7 Konfigurasi FTP Server - Centos 7 Server
Isi kandungan:
- Prasyarat
- Memasang vsftpd pada CentOS 7
- Mengkonfigurasi vsftpd
- 1. Akses FTP
- 2. Membolehkan muat naik
- 3. Penjara Chroot
- 4. Sambungan FTP pasif
- 5. Mengehadkan Login Pengguna
- 6. Mengekalkan Penghantaran dengan SSL / TLS
- Mulakan semula perkhidmatan vsftpd
- Membuka Firewall
- Mewujudkan Pengguna FTP
- Melumpuhkan Akses Shell
- Kesimpulannya
FTP (Protokol Pemindahan Fail) adalah protokol rangkaian pelayan klien standard yang membolehkan pengguna memindahkan fail ke dan dari rangkaian jauh.
Terdapat beberapa pelayan FTP sumber terbuka yang tersedia untuk Linux. Yang paling popular dan digunakan secara meluas adalah PureFTPd, ProFTPD, dan vsftpd.
Dalam tutorial ini, kami akan memasang vsftpd (Sangat Secure Ftp Daemon) pada CentOS 7. Ia adalah pelayan FTP yang stabil, selamat dan cepat. Kami juga akan menunjukkan kepada anda cara mengkonfigurasi vsftpd untuk menyekat pengguna ke direktori rumah mereka dan menyulitkan keseluruhan penghantaran dengan SSL / TLS.
Untuk pemindahan data yang lebih selamat dan cepat, gunakan SCP atau SFTP.
Prasyarat
Sebelum meneruskan tutorial ini, pastikan anda log masuk sebagai pengguna dengan keistimewaan sudo.
Memasang vsftpd pada CentOS 7
Pakej vsftpd boleh didapati di repositori CentOS lalai. Untuk memasangnya, mengeluarkan arahan berikut:
sudo yum install vsftpd
Setelah pakej dipasang, mulailah daemon vsftpd dan aktifkannya secara automatik pada saat boot:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
Anda boleh mengesahkan perkhidmatan vsftpd sedang berjalan dengan mencetak statusnya:
sudo systemctl status vsftpd
Output akan kelihatan seperti di bawah, menunjukkan bahawa perkhidmatan vsftpd aktif dan berjalan:
● vsftpd.service - Vsftpd ftp daemon Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2018-11-22 09:42:37 UTC; 6s ago Main PID: 29612 (vsftpd) CGroup: /system.slice/vsftpd.service └─29612 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
Mengkonfigurasi vsftpd
Mengkonfigurasi perkhidmatan vsftpd melibatkan penyuntingan fail konfigurasi
/etc/vsftpd/vsftpd.conf
. Kebanyakan tetapan didokumenkan dengan baik di dalam fail konfigurasi. Untuk semua pilihan yang tersedia lawati halaman rasmi vsftpd.
Dalam seksyen yang berikut, kami akan menemui beberapa tetapan penting yang diperlukan untuk mengkonfigurasi pemasangan vsftpd selamat.
Mula dengan membuka fail konfigurasi vsftpd:
sudo nano /etc/vsftpd/vsftpd.conf
1. Akses FTP
Kami akan membenarkan akses kepada pelayan FTP hanya pengguna setempat, cari arahan
anonymous_enable
dan
local_enable
dan sahkan perlawanan konfigurasi anda ke baris di bawah:
anonymous_enable=NO local_enable=YES
2. Membolehkan muat naik
Uncomment the setting
write_enable
untuk membolehkan perubahan pada sistem fail seperti memuat naik dan memadam fail.
3. Penjara Chroot
Cegah pengguna FTP untuk mengakses mana-mana fail di luar direktori rumah mereka dengan tidak
chroot
arahan
chroot
.
chroot_local_user=YES
Secara lalai, apabila chroot diaktifkan vsftpd akan menolak untuk memuat naik fail jika direktori yang dikunci pengguna boleh ditulis. Ini adalah untuk mengelakkan kelemahan keselamatan.
Gunakan salah satu kaedah di bawah untuk membolehkan muat naik apabila chroot diaktifkan.
-
Kaedah 1. - Kaedah yang disyorkan untuk membolehkan muat naik adalah supaya chroot diaktifkan dan konfigurasi direktori FTP. Dalam tutorial ini, kami akan membuat direktori
/etc/vsftpd/vsftpd.confftp
di dalam rumah pengguna yang akan berfungsi sebagai chroot dan direktoriuploads
boleh ditulis untuk memuat naik fail.user_sub_token=$USER local_root=/home/$USER/ftp
Kaedah 2. - Satu lagi pilihan adalah untuk menambah arahan berikut dalam fail konfigurasi vsftpd. Gunakan opsyen ini jika anda perlu memberikan akses yang boleh ditulis kepada pengguna anda ke direktori rumahnya.
/etc/vsftpd/vsftpd.confallow_writeable_chroot=YES
4. Sambungan FTP pasif
vsftpd boleh menggunakan sebarang port untuk sambungan FTP pasif. Kami akan menentukan julat port minimum dan maksimum dan kemudian buka julat dalam firewall kami.
Tambahkan baris berikut ke fail konfigurasi:
/etc/vsftpd/vsftpd.conf
pasv_min_port=30000 pasv_max_port=31000
5. Mengehadkan Login Pengguna
Untuk membenarkan hanya pengguna tertentu untuk log masuk ke pelayan FTP tambahkan baris berikut selepas
userlist_enable=YES
line:
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
Apabila pilihan ini diaktifkan, anda perlu menyatakan secara jelas mana pengguna boleh log masuk dengan menambahkan nama pengguna ke fail
/etc/vsftpd/user_list
(satu pengguna setiap baris).
6. Mengekalkan Penghantaran dengan SSL / TLS
Untuk menyulitkan penghantaran FTP dengan SSL / TLS, anda perlu mempunyai sijil SSL dan mengkonfigurasi pelayan FTP untuk menggunakannya.
Anda boleh menggunakan sijil SSL sedia ada yang ditandatangani oleh Pihak Berkuasa Sijil yang dipercayai atau membuat sijil ditandatangani sendiri.
Dalam tutorial ini, kami akan menghasilkan sijil SSL yang ditandatangani sendiri menggunakan perintah
openssl
.
Perintah berikut akan membuat kunci persendirian dan sijil tandatangan peribadi 2048-bit yang sah selama 10 tahun. Kedua-dua kunci persendirian dan sijil akan disimpan dalam fail yang sama:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
Setelah sijil SSL dibuat buka fail konfigurasi vsftpd:
sudo nano /etc/vsftpd/vsftpd.conf
Cari arahan
rsa_private_key_file
dan
rsa_private_key_file
, tukar nilai mereka ke laluan fail
pam
dan tetapkan arahan
ssl_enable
ke
YES
:
rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES
Jika tidak dinyatakan sebaliknya, pelayan FTP hanya akan menggunakan TLS untuk membuat sambungan selamat.
Mulakan semula perkhidmatan vsftpd
Sebaik sahaja anda selesai mengedit, fail konfigurasi vsftpd (tidak termasuk komen) sepatutnya kelihatan seperti ini:
/etc/vsftpd/vsftpd.conf
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES userlist_file=/etc/vsftpd/user_list userlist_deny=NO tcp_wrappers=YES user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=30000 pasv_max_port=31000 rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES
Simpan fail dan mulakan semula perkhidmatan vsftpd untuk perubahan yang berlaku:
Membuka Firewall
Untuk membuka port
21
(port perintah FTP), port
20
(port data FTP) dan
30000-31000
(pelbagai port pasif), mengeluarkan arahan berikut:
sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
Muat semula peraturan firewall dengan menaip:
Mewujudkan Pengguna FTP
Untuk menguji pelayan FTP kami, kami akan mencipta pengguna baharu.
- Jika anda sudah mempunyai pengguna yang anda mahu memberikan akses FTP melangkau langkah pertama.Jika anda menetapkan
allow_writeable_chroot=YES
dalam fail konfigurasi anda melangkau langkah ke-3.
-
Buat pengguna baru bernama
newftpuser
:sudo adduser newftpuser
Seterusnya, anda perlu menetapkan kata laluan pengguna:
sudo passwd newftpuser
Tambah pengguna ke senarai pengguna FTP yang dibenarkan:
echo "newftpuser" | sudo tee -a /etc/vsftpd/user_list
Buat pohon direktori FTP dan tetapkan kebenaran yang betul:
sudo mkdir -p /home/newftpuser/ftp/upload
sudo chmod 550 /home/newftpuser/ftp
sudo chmod 750 /home/newftpuser/ftp/upload
sudo chown -R newftpuser: /home/newftpuser/ftp
Seperti yang dibincangkan di bahagian sebelumnya, pengguna akan dapat memuat naik failnya ke direktori
ftp/upload
.
Pada ketika ini pelayan FTP anda berfungsi sepenuhnya dan anda sepatutnya dapat menyambung ke pelayan anda dengan mana-mana klien FTP yang boleh dikonfigurasikan untuk menggunakan penyulitan TLS seperti FileZilla.
Melumpuhkan Akses Shell
Secara lalai, semasa membuat pengguna, jika tidak secara jelas menyatakan pengguna akan mempunyai akses SSH ke pelayan.
Untuk melumpuhkan akses shell, kami akan membuat shell baharu yang akan mencetak mesej yang memberitahu pengguna bahawa akaun mereka hanya terhad kepada akses FTP sahaja.
Jalankan perintah berikut untuk mencipta shell
/bin/ftponly
dan menjadikannya dapat dilaksanakan:
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
sudo chmod a+x /bin/ftponly
Tambahkan tempurung baru ke senarai cengkerang yang sah dalam fail
/etc/shells
:
echo "/bin/ftponly" | sudo tee -a /etc/shells
Tukar shell pengguna ke
/bin/ftponly
:
sudo usermod newftpuser -s /bin/ftponly
Gunakan arahan yang sama untuk menukar shell untuk pengguna lain yang anda mahu hanya memberi akses FTP.
Kesimpulannya
Dalam tutorial ini, anda belajar cara memasang dan mengkonfigurasi pelayan FTP yang selamat dan pantas pada sistem CentOS 7 anda.
centos ftpBagaimana untuk menyediakan pelayan openvpn pada centos 7
VPN membolehkan anda menyambung ke pelayan VPN jauh, membuat sambungan anda disulitkan dan selamat dan melayari web tanpa nama dengan mengekalkan data lalu lintas anda secara peribadi. Tutorial ini akan merangkumi proses menubuhkan pelayan VPN anda sendiri dengan memasang dan mengkonfigurasi OpenVPN.
Bagaimana untuk menyediakan pelayan ftp dengan vsftpd pada debian 9
Dalam tutorial ini kita akan memasang vsftpd. Ia adalah pelayan FTP stabil, selamat dan cepat. Kami juga akan menunjukkan kepada anda bagaimana mengkonfigurasi vsftpd untuk menyekat pengguna ke direktori rumah mereka dan menyulitkan seluruh penghantaran dengan SSL / TLS.
Bagaimana untuk menyediakan pelayan ftp dengan vsftpd pada ubuntu 18.04
Dalam tutorial ini kita akan memasang vsftpd. Ia adalah pelayan FTP stabil, selamat dan cepat. Kami juga akan menunjukkan kepada anda bagaimana mengkonfigurasi vsftpd untuk menyekat pengguna ke direktori rumah mereka dan menyulitkan seluruh penghantaran dengan SSL / TLS.