ການຕັ້ງຄ່າ FTP Server ທີ່ປອດໄພໂດຍໃຊ້ SSL/TLS ໃນ Ubuntu
ໃນບົດແນະ ນຳ ນີ້, ພວກເຮົາຈະອະທິບາຍວິທີການຮັບປະກັນເຄື່ອງແມ່ຂ່າຍ FTP (VSFTPD ຫຍໍ້ມາຈາກ "Da Sec FTP Daemon") ໂດຍໃຊ້ SSL/TLS ໃນ Ubuntu 16.04/16.10.
ຖ້າທ່ານ ກຳ ລັງຊອກຫາທີ່ຈະຕັ້ງ server FTP ທີ່ປອດໄພ ສຳ ລັບການແຈກຢາຍທີ່ອີງໃສ່ CentOS, ທ່ານສາມາດອ່ານ - ຮັບປະກັນເຄື່ອງແມ່ຂ່າຍ FTP ໂດຍໃຊ້ SSL/TLS ໃນ CentOS
ຫຼັງຈາກປະຕິບັດຕາມຫຼາຍບາດກ້າວໃນຄູ່ມືນີ້, ພວກເຮົາຈະໄດ້ຮຽນຮູ້ພື້ນຖານຂອງການເຮັດໃຫ້ການບໍລິການເຂົ້າລະຫັດໃນ FTP server ສຳ ລັບການໂອນຂໍ້ມູນທີ່ປອດໄພແມ່ນ ສຳ ຄັນທີ່ສຸດ.
<
ກ່ອນທີ່ພວກເຮົາຈະກ້າວຕໍ່ໄປ, ໃຫ້ແນ່ໃຈວ່າທຸກ ຄຳ ສັ່ງໃນບົດຄວາມນີ້ຈະຖືກ ດຳ ເນີນເປັນຮາກຫລືບັນຊີທີ່ມີສິດພິເສດ.
ຂັ້ນຕອນທີ 1: ການອອກໃບຢັ້ງຢືນ SSL/TLS ສຳ ລັບ FTP ໃນ Ubuntu
1. ພວກເຮົາຈະເລີ່ມຕົ້ນໂດຍການສ້າງ subdirectory ພາຍໃຕ້:/etc/ssl/ເພື່ອເກັບໃບຢັ້ງຢືນ SSL/TLS ແລະເອກະສານ ສຳ ຄັນຖ້າມັນບໍ່ມີ:
$ sudo mkdir /etc/ssl/private
2. ດຽວນີ້ໃຫ້ໃບຢັ້ງຢືນແລະກຸນແຈສ້າງເປັນເອກະສານດຽວ, ໂດຍການແລ່ນ ຄຳ ສັ່ງຢູ່ທາງລຸ່ມ.
$ sudo openssl req -x509 -nodes -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem -days 365 -newkey rsa:2048
ຄຳ ສັ່ງຂ້າງເທິງນີ້ຈະຊ່ວຍໃຫ້ທ່ານຕອບ ຄຳ ຖາມຂ້າງລຸ່ມນີ້, ຢ່າລືມໃສ່ຄ່າຕ່າງໆທີ່ ເໝາະ ສົມກັບສະຖານະການຂອງທ່ານ.
Country Name (2 letter code) [XX]:IN State or Province Name (full name) []:Lower Parel Locality Name (eg, city) [Default City]:Mumbai Organization Name (eg, company) [Default Company Ltd]:TecMint.com Organizational Unit Name (eg, section) []:Linux and Open Source Common Name (eg, your name or your server's hostname) []:tecmint Email Address []:[email
ຂັ້ນຕອນທີ 2: ການຕັ້ງຄ່າ VSFTPD ເພື່ອໃຊ້ SSL/TLS ໃນ Ubuntu
3. ກ່ອນທີ່ພວກເຮົາຈະປະຕິບັດການຕັ້ງຄ່າ VSFTPD ໃດໆ, ສຳ ລັບຜູ້ທີ່ມີ UFW firewall ເປີດໃຊ້ງານ, ທ່ານຕ້ອງເປີດພອດ 990 ແລະ 40000-50000 ເພື່ອອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ TLS ແລະລະດັບພອດ ports ທີ່ຕັ້ງຕົວຕັ້ງຄ່າໃນແຟ້ມການຕັ້ງຄ່າ VSFTPD ຕາມ ລຳ ດັບ:
$ sudo ufw allow 990/tcp $ sudo ufw allow 40000:50000/tcp $ sudo ufw status
4. ດຽວນີ້, ເປີດໄຟລ໌ຕັ້ງຄ່າ VSFTPD ແລະ ກຳ ນົດລາຍລະອຽດຂອງ SSL ໃນນັ້ນ:
$ sudo vi /etc/vsftpd/vsftpd.conf OR $ sudo nano /etc/vsftpd/vsftpd.conf
ຈາກນັ້ນ, ເພີ່ມຫລືຊອກຫາຕົວເລືອກ ssl_enable
ແລະ ກຳ ນົດຄ່າຂອງມັນໃຫ້ YES ເພື່ອກະຕຸ້ນການໃຊ້ SSL, ອີກເທື່ອ ໜຶ່ງ, ເພາະວ່າ TLS ມີຄວາມປອດໄພກວ່າ SSL, ພວກເຮົາຈະ ຈຳ ກັດ VSFTPD ໃຫ້ໃຊ້ TLS ແທນ, ໂດຍເປີດໃຊ້ ຕົວເລືອກ ssl_tlsv1
:
ssl_enable=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO
5. ຕໍ່ໄປ, ໃຫ້ ຄຳ ເຫັນກ່ຽວກັບສາຍຂ້າງລຸ່ມໂດຍໃຊ້ຕົວອັກສອນ #
ດັ່ງຕໍ່ໄປນີ້:
#rsa_cert_file=/etc/ssl/private/ssl-cert-snakeoil.pem #rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ຫລັງຈາກນັ້ນ, ເພີ່ມສາຍຢູ່ດ້ານລຸ່ມເພື່ອ ກຳ ນົດສະຖານທີ່ຂອງໃບຢັ້ງຢືນ SSL ແລະເອກະສານ ສຳ ຄັນ:
rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem
6. ດຽວນີ້, ພວກເຮົາຍັງຕ້ອງປ້ອງກັນຜູ້ໃຊ້ທີ່ບໍ່ລະບຸຊື່ຈາກການໃຊ້ SSL, ຫຼັງຈາກນັ້ນບັງຄັບໃຫ້ຜູ້ເຂົ້າລະບົບທີ່ບໍ່ແມ່ນບໍລິຈາກເງິນທັງ ໝົດ ໃຊ້ການເຊື່ອມຕໍ່ SSL ທີ່ປອດໄພ ສຳ ລັບການໂອນຂໍ້ມູນແລະສົ່ງລະຫັດຜ່ານໃນລະຫວ່າງການເຂົ້າສູ່ລະບົບ:
allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES
7. ຍິ່ງໄປກວ່ານັ້ນ, ພວກເຮົາສາມາດໃຊ້ຕົວເລືອກຕ່າງໆດ້ານລຸ່ມເພື່ອເພີ່ມຄຸນສົມບັດດ້ານຄວາມປອດໄພຫຼາຍຂື້ນໃນ FTP server. ດ້ວຍຕົວເລືອກ require_ssl_reuse = YES
, ການເຊື່ອມຕໍ່ຂໍ້ມູນ SSL ທັງ ໝົດ ແມ່ນ ຈຳ ເປັນເພື່ອສະແດງການ ນຳ ໃຊ້ SSL session; ພິສູດໃຫ້ພວກເຂົາຮູ້ຈັກຄວາມລັບຂອງແມ່ບົດດຽວກັນກັບຊ່ອງທາງຄວບຄຸມ. ດັ່ງນັ້ນ, ພວກເຮົາຄວນປິດການໃຊ້ງານມັນ.
require_ssl_reuse=NO
ນອກຈາກນັ້ນ, ພວກເຮົາສາມາດ ກຳ ນົດວ່າ SSL ciphers VSFTPD ຈະອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ SSL ທີ່ເຂົ້າລະຫັດໄດ້ແນວໃດກັບຕົວເລືອກ ssl_ciphers
. ສິ່ງນີ້ຈະຊ່ວຍເຮັດໃຫ້ທຸກຄວາມພະຍາຍາມຂັດຂວາງໂດຍຜູ້ໂຈມຕີທີ່ພະຍາຍາມບັງຄັບໃຊ້ cipher ສະເພາະເຊິ່ງພວກເຂົາສາມາດຄົ້ນພົບຊ່ອງໂຫວ່ຕ່າງໆໃນ:
ssl_ciphers=HIGH
8. ຈາກນັ້ນ, ໃຫ້ ກຳ ນົດຂອບເຂດຂອງ port (min ແລະ max port) ຂອງທ່າເຮືອ passive.
pasv_min_port=40000 pasv_max_port=50000
9. ເພື່ອໃຫ້ສາມາດແກ້ໄຂບັນຫາ SSL, ໝາຍ ຄວາມວ່າການວິນິດໄສການເຊື່ອມຕໍ່ openSSL ຖືກບັນທຶກເຂົ້າໃນເອກະສານບັນທຶກ VSFTPD, ພວກເຮົາສາມາດໃຊ້ຕົວເລືອກ debug_ssl
:
debug_ssl=YES
ສຸດທ້າຍບັນທຶກເອກະສານແລະປິດມັນ. ຫຼັງຈາກນັ້ນໃຫ້ບໍລິການ VSFTPD ເລີ່ມຕົ້ນ ໃໝ່:
$ systemctl restart vsftpd
ຂັ້ນຕອນທີ 3: ຢືນຢັນ FTP ດ້ວຍການເຊື່ອມຕໍ່ SSL/TLS ໃນ Ubuntu
10. ຫຼັງຈາກປະຕິບັດການຕັ້ງຄ່າທັງ ໝົດ ຂ້າງເທິງ, ທົດສອບວ່າດຽວນີ້ VSFTPD ກຳ ລັງໃຊ້ການເຊື່ອມຕໍ່ SSL/TLS ໂດຍພະຍາຍາມໃຊ້ FTP ຈາກເສັ້ນ ຄຳ ສັ່ງດັ່ງລຸ່ມນີ້.
ຈາກຜົນໄດ້ຮັບຂ້າງລຸ່ມນີ້, ມີຂໍ້ຄວາມຜິດພາດທີ່ບອກພວກເຮົາວ່າ VSFTPD ສາມາດອະນຸຍາດໃຫ້ຜູ້ໃຊ້ (ຜູ້ທີ່ບໍ່ລະບຸຊື່) ເຂົ້າສູ່ລະບົບຈາກລູກຄ້າທີ່ປອດໄພເຊິ່ງສະ ໜັບ ສະ ໜູນ ການບໍລິການເຂົ້າລະຫັດ.
$ ftp 192.168.56.10 Connected to 192.168.56.10 (192.168.56.10). 220 Welcome to TecMint.com FTP service. Name (192.168.56.10:root) : ravi 530 Non-anonymous sessions must use encryption. Login failed. 421 Service not available, remote server has closed connection ftp>
ເສັ້ນຄໍາສັ່ງບໍ່ສະຫນັບສະຫນູນການບໍລິການເຂົ້າລະຫັດດັ່ງນັ້ນຈຶ່ງເຮັດໃຫ້ເກີດຄວາມຜິດພາດຂ້າງເທິງ. ດັ່ງນັ້ນ, ເພື່ອເຊື່ອມຕໍ່ກັບ FTP server ຢ່າງປອດໄພດ້ວຍການບໍລິການເຂົ້າລະຫັດທີ່ຖືກເປີດໃຊ້, ພວກເຮົາຕ້ອງການລູກຄ້າ FTP ທີ່ຮອງຮັບການເຊື່ອມຕໍ່ SSL/TLS ໂດຍຄ່າເລີ່ມຕົ້ນ, ເຊັ່ນ FileZilla.
ຂັ້ນຕອນທີ 4: ຕິດຕັ້ງ FileZilla On ລູກຄ້າເພື່ອເຊື່ອມຕໍ່ FTP ຢ່າງປອດໄພ
FileZilla ແມ່ນລູກຄ້າ FTP ຂ້າມແພລະຕະຟອມທີ່ມີປະສິດຕິພາບສູງ, ເຊິ່ງຮອງຮັບ FTP ຜ່ານ SSL/TLS ແລະອື່ນໆ. ການຕິດຕັ້ງ FileZilla ໃນເຄື່ອງລູກຄ້າ Linux, ໃຫ້ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.
--------- On Debian/Ubuntu --------- $ sudo apt-get install filezilla --------- On CentOS/RHEL/Fedora --------- # yum install epel-release filezilla --------- On Fedora 22+ --------- $ sudo dnf install filezilla
12. ເມື່ອການຕິດຕັ້ງ ສຳ ເລັດແລ້ວ, ເປີດມັນແລະເຂົ້າໄປທີ່ File => Site Manager ຫຼື (ກົດປຸ່ມ Ctrl + S) ເພື່ອໃຫ້ໄດ້ຮັບອິນເຕີເຟດ Site Manager ດ້ານລຸ່ມ.
13. ຕອນນີ້ ກຳ ນົດຊື່ເຈົ້າພາບ/ເວບໄຊທ໌, ເພີ່ມທີ່ຢູ່ IP, ກຳ ນົດໂປໂຕຄອນເພື່ອ ນຳ ໃຊ້, ການເຂົ້າລະຫັດແລະປະເພດ logon ຄືກັບ ໜ້າ ຈໍຂ້າງລຸ່ມນີ້ (ໃຊ້ຄ່າທີ່ໃຊ້ກັບສະຖານະການຂອງທ່ານ):
ກົດທີ່ປຸ່ມ New Site ເພື່ອ ກຳ ນົດການເຊື່ອມຕໍ່ເວັບໄຊທ໌/ໂຮດ ໃໝ່.
Host: 192.168.56.10 Protocol: FTP – File Transfer Protocol Encryption: Require explicit FTP over #recommended Logon Type: Ask for password #recommended User: username
14. ຫຼັງຈາກນັ້ນກົດທີ່ Connect ຈາກອິນເຕີເຟດຂ້າງເທິງເພື່ອໃສ່ລະຫັດຜ່ານ, ແລະຫຼັງຈາກນັ້ນກວດສອບໃບຢັ້ງຢືນທີ່ຖືກໃຊ້ ສຳ ລັບການເຊື່ອມຕໍ່ SSL/TLS, ແລະກົດ OK ອີກຄັ້ງເພື່ອເຊື່ອມຕໍ່ກັບ FTP server:
15. ດຽວນີ້, ທ່ານຄວນເຂົ້າສູ່ລະບົບ FTP server ຢ່າງ ສຳ ເລັດຜົນຜ່ານການເຊື່ອມຕໍ່ TLS, ກວດເບິ່ງສ່ວນສະຖານະການເຊື່ອມຕໍ່ ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມຈາກອິນເຕີເຟດຂ້າງລຸ່ມ.
16. ສຸດທ້າຍ, ໃຫ້ໂອນໄຟລ໌ຈາກເຄື່ອງທ້ອງຖິ່ນໄປທີ່ FTP sever ໃນແຟ້ມເອກະສານ, ເບິ່ງທີ່ເບື້ອງລຸ່ມຂອງອິນເຕີເຟດ FileZilla ເພື່ອເບິ່ງລາຍງານກ່ຽວກັບການໂອນໄຟລ໌.
ຫມົດເທົ່ານີ້! ຈື່ໄວ້ສະ ເໝີ ວ່າການຕິດຕັ້ງ FTP server ໂດຍບໍ່ຕ້ອງໃຊ້ການບໍລິການເຂົ້າລະຫັດຈະມີຜົນຕໍ່ຄວາມປອດໄພແນ່ນອນ. ດັ່ງທີ່ພວກເຮົາໄດ້ອະທິບາຍໄວ້ໃນບົດແນະ ນຳ ນີ້, ທ່ານສາມາດ ກຳ ຫນົດຄ່າ server FTP ເພື່ອໃຊ້ການເຊື່ອມຕໍ່ SSL/TLS ເພື່ອປະຕິບັດຄວາມປອດໄພໃນ Ubuntu 16.04/16.10.
ຖ້າທ່ານປະສົບບັນຫາໃດໆໃນການຕັ້ງ SSL/TLS ໃນ FTP server, ກະລຸນາໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ເພື່ອແບ່ງປັນບັນຫາຫລືຄວາມຄິດຂອງທ່ານທີ່ກ່ຽວຂ້ອງກັບບົດແນະ ນຳ/ຫົວຂໍ້ນີ້.