ການເຊື່ອມຕໍ່ ProFTPD ທີ່ປອດໄພໂດຍໃຊ້ TLS/SSL ອະນຸສັນຍາກ່ຽວກັບ RHEL/CentOS 7


ໂດຍ ທຳ ມະດາມັນ FTP ອະນຸສັນຍາຖືກອອກແບບເປັນໂປໂຕຄອນທີ່ບໍ່ປອດໄພແລະຂໍ້ມູນແລະລະຫັດຜ່ານທັງ ໝົດ ຖືກໂອນເປັນຂໍ້ຄວາມ ທຳ ມະດາ, ເຮັດໃຫ້ວຽກຂອງພາກສ່ວນທີສາມງ່າຍທີ່ຈະກີດຂວາງການເຮັດທຸລະ ກຳ ຕ່າງໆຂອງລູກຄ້າ FTP, ໂດຍສະເພາະຊື່ຜູ້ໃຊ້ແລະ ລະຫັດຜ່ານທີ່ໃຊ້ໃນຂັ້ນຕອນການກວດສອບ.

<

  • ຕິດຕັ້ງໂປແກຼມ ProFTPD ເທິງ RHEL/CentOS 7
  • ເປີດໃຊ້ບັນຊີ Anonymous ສຳ ລັບ Proftpd Server ໃນ RHEL/CentOS 7
  • ຄຳ ແນະ ນຳ ນີ້ຈະ ນຳ ພາທ່ານກ່ຽວກັບວິທີທີ່ທ່ານສາມາດຮັບປະກັນແລະເຂົ້າລະຫັດການສື່ສານ FTP ໃນ ProFTPd Server ໃນ CentOS / RHEL 7 , ໂດຍໃຊ້ TLS (ຄວາມປອດໄພຂອງຊັ້ນການຂົນສົ່ງ) ດ້ວຍການຂະຫຍາຍ FTPS Explicit (ຄິດທີ່ FTPS ວ່າ HTTPS ແມ່ນຫຍັງ ສຳ ລັບ HTTP Protocol).

    ຂັ້ນຕອນທີ 1: ສ້າງເອກະສານການຕັ້ງຄ່າໂມດູນ Proftpd TLS

    1. ດັ່ງທີ່ໄດ້ປຶກສາຫາລືໃນການສອນ Proftpd ກ່ອນ ໜ້າ ນີ້ກ່ຽວກັບບັນຊີ Anonymous, ຄູ່ມືນີ້ຍັງຈະໃຊ້ວິທີການດຽວກັນໃນການຈັດການໄຟລ໌ການຕັ້ງຄ່າໃນອະນາຄົດຂອງ Proftpd ເປັນໂມດູນ, ໂດຍການຊ່ວຍເຫຼືອຂອງ enabled_mod ແລະ ພິເສດ_mod ໄດເລກະທໍລີ, ເຊິ່ງຈະເປັນເຈົ້າພາບຄວາມສາມາດຂະຫຍາຍທັງ ໝົດ ຂອງເຊີບເວີ.

    ດັ່ງນັ້ນ, ສ້າງແຟ້ມເອກະສານ ໃໝ່ ກັບບັນນາທິການຕົວ ໜັງ ສືທີ່ທ່ານມັກທີ່ມີຊື່ວ່າ tls.conf ໃນເສັ້ນທາງ ຄົນພິການ_mod ແລະເພີ່ມທິດທາງຕໍ່ໄປນີ້.

    # nano /etc/proftpd/disabled_mod/tls.conf
    

    ຕື່ມການຄັດເລືອກເອົາການຕັ້ງຄ່າເອກະສານຂອງ TLS ຕໍ່ໄປນີ້.

    <IfModule mod_tls.c>
    TLSEngine                               on
    TLSLog                                  /var/log/proftpd/tls.log
    TLSProtocol                             SSLv23
     
    TLSRSACertificateFile                   /etc/ssl/certs/proftpd.crt
    TLSRSACertificateKeyFile                /etc/ssl/private/proftpd.key
    
    #TLSCACertificateFile                                     /etc/ssl/certs/CA.pem
    TLSOptions                      NoCertRequest EnableDiags NoSessionReuseRequired
    TLSVerifyClient                         off
    TLSRequired                             on
    TLSRenegotiate                          required on
    </IfModule>
    

    2. ຖ້າທ່ານໃຊ້ໂປແກຼມທ່ອງເວັບຫລື FTP Clients ທີ່ບໍ່ສະ ໜັບ ສະ ໜູນ ການເຊື່ອມຕໍ່ TLS, ໃຫ້ ຄຳ ເຫັນກ່ຽວກັບສາຍ TLS ຮຽກຮ້ອງຕ້ອງການ ເພື່ອໃຫ້ສາມາດເຊື່ອມຕໍ່ກັບ TLS ແລະບໍ່ເຊື່ອມຕໍ່ TLS ໃນເວລາດຽວກັນແລະຫລີກລ້ຽງຂໍ້ຄວາມຜິດພາດດັ່ງໃນ ພາບ ໜ້າ ຈໍດ້ານລຸ່ມ.

    ຂັ້ນຕອນທີ 2: ສ້າງເອກະສານໃບຢັ້ງຢືນ SSL ສຳ ລັບ TLS

    3. ຫຼັງຈາກທີ່ທ່ານໄດ້ສ້າງເອກະສານການຕັ້ງຄ່າໂມດູນ TLS. ເຊິ່ງຈະເຮັດໃຫ້ FTP ຜ່ານ TLS ໃນ Proftpd, ທ່ານ ຈຳ ເປັນຕ້ອງສ້າງ SSL Certificate ແລະ Key ເພື່ອ ນຳ ໃຊ້ການສື່ສານທີ່ປອດໄພຜ່ານ ProFTPD Server ໂດຍການຊ່ວຍເຫຼືອຂອງ OpenSSL ຊຸດ.

    # yum install openssl
    

    ທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງຍາວດຽວເພື່ອຜະລິດໃບຢັ້ງຢືນ SSL ແລະ Key Key, ແຕ່ເພື່ອເຮັດໃຫ້ສິ່ງຕ່າງໆງ່າຍຂື້ນທ່ານສາມາດສ້າງຕົວ ໜັງ ສື bash ງ່າຍໆເຊິ່ງຈະສ້າງຄູ່ SSL ດ້ວຍຊື່ທີ່ທ່ານຕ້ອງການແລະ ກຳ ນົດສິດທີ່ຖືກຕ້ອງ ສຳ ລັບເອກະສານ Key.

    ສ້າງແຟ້ມເອກະສານທີ່ມີຊື່ວ່າ proftpd_gen_ssl ທີ່ຢູ່ /usr/local/bin/ ຫຼືໃນເສັ້ນທາງລະບົບອື່ນໆທີ່ສາມາດໃຊ້ໄດ້ (ກຳ ນົດໂດຍຕົວປ່ຽນແປງ $PATH ).

    # nano /usr/local/bin/proftpd_gen_ssl
    

    ຕື່ມເນື້ອຫາຕໍ່ໄປນີ້ໃສ່ມັນ.

    #!/bin/bash
    echo -e "\nPlease enter a name for your SSL Certificate and Key pairs:"
    read name
     openssl req -x509 -newkey rsa:1024 \
              -keyout /etc/ssl/private/$name.key -out /etc/ssl/certs/$name.crt \
              -nodes -days 365\
    
     chmod 0600 /etc/ssl/private/$name.key
    

    4. ຫຼັງຈາກທີ່ທ່ານໄດ້ສ້າງເອກະສານຂ້າງເທິງ, ກຳ ນົດມັນດ້ວຍສິດການປະຕິບັດ, ຮັບປະກັນວ່າໄດເລກະທໍລີ /etc/ssl/private ມີຢູ່ແລະ ດຳ ເນີນການສະຄິບເພື່ອສ້າງ SSL Certificate ແລະຄີຄູ່.

    # chmod +x /usr/local/bin/proftpd_gen_ssl
    # mkdir -p /etc/ssl/private
    # proftpd_gen_ssl
    

    ສະ ໜອງ ໃບຢັ້ງຢືນ SSL ດ້ວຍຂໍ້ມູນທີ່ຖືກກະຕຸ້ນທີ່ຕ້ອງການເຊິ່ງເປັນການອະທິບາຍດ້ວຍຕົນເອງ, ແຕ່ໃຫ້ເອົາໃຈໃສ່ ຊື່ສາມັນ ເພື່ອໃຫ້ກົງກັບເຈົ້າພາບຂອງທ່ານ ຊື່ໂດເມນທີ່ມີຄຸນສົມບັດເຕັມ - FQDN .

    ຂັ້ນຕອນທີ 3: ເປີດໃຊ້ TLS ໃນ ProFTPD Server

    5. ຍ້ອນວ່າເອກະສານການຕັ້ງຄ່າ TLS ທີ່ຖືກສ້າງຂື້ນມາກ່ອນ ໜ້າ ນີ້ຊີ້ໃຫ້ເຫັນເອກະສານ SSL Certificate ແລະເອກະສານ Key ທີ່ຖືກຕ້ອງແລ້ວສິ່ງດຽວທີ່ເຫລືອແມ່ນການກະຕຸ້ນ TLS ໂມດູນໂດຍການສ້າງ ເຊື່ອມຕໍ່ສັນຍາລັກ ຂອງ tls.conf > ຍື່ນໄປທີ່ໄດເລກະທໍລີ ເປີດໃຊ້ໄດ້ ແລະ ເລີ່ມຕົ້ນ ທີ່ຢູ່ໄດອາກາດ ProFTPD ເພື່ອ ນຳ ໃຊ້ການປ່ຽນແປງ.

    # ln -s /etc/proftpd/disabled_mod/tls.conf  /etc/proftpd/enabled_mod/
    # systemctl restart proftpd
    

    6. ເພື່ອປິດໂມດູນ TLS ພຽງແຕ່ເອົາ tls.conf symlink ອອກຈາກໄດເລກະທໍລີ ເປີດໃຊ້ແລ້ວ ແລະຕັ້ງຄ່າເຊີບເວີ ProFTPD ເພື່ອ ນຳ ໃຊ້ການປ່ຽນແປງ.

    # rm /etc/proftpd/enabled_mod/tls.conf
    # systemctl restart proftpd
    

    ຂັ້ນຕອນທີ 4: ເປີດ Firewall ເພື່ອໃຫ້ FTP ຜ່ານການສື່ສານ TLS

    7. ເພື່ອໃຫ້ລູກຄ້າສາມາດເຂົ້າເຖິງໂປຼແກຼມ ProFTPD ແລະໄຟລ໌ໂອນຍ້າຍທີ່ປອດໄພໃນ ຮູບແບບຕົວຕັ້ງຕົວຕີ ທ່ານຕ້ອງເປີດຊ່ວງພອດທັງ ໝົດ ລະຫວ່າງ 1024 ແລະ 65534 ໃນ RHEL/CentOS Firewall, ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    # firewall-cmd --add-port=1024-65534/tcp  
    # firewall-cmd --add-port=1024-65534/tcp --permanent
    # firewall-cmd --list-ports
    # firewall-cmd --list-services
    # firewall-cmd --reload
    

    ນັ້ນແມ່ນມັນ. ຕອນນີ້ລະບົບຂອງທ່ານພ້ອມແລ້ວທີ່ຈະຍອມຮັບການສື່ສານ FTP ຜ່ານ TLS ຈາກ Client side.

    ຂັ້ນຕອນທີ 5: ເຂົ້າເຖິງ ProFTPD ຜ່ານ TLS ຈາກລູກຄ້າ

    8. ໂປຣແກຣມທ່ອງເວັບທົ່ວໄປບໍ່ມີການສະ ໜັບ ສະ ໜູນ ສຳ ລັບ FTP ຜ່ານໂປໂຕຄອນ TLS, ດັ່ງນັ້ນການເຮັດທຸລະ ກຳ ທັງ ໝົດ ຈະຖືກສົ່ງຜ່ານ FTP ທີ່ບໍ່ເຂົ້າລະຫັດ. ໜຶ່ງ ໃນບັນດາລູກຄ້າ FTP ທີ່ດີເລີດທີ່ສຸດແມ່ນ FileZilla ເຊິ່ງເປັນ Open Source ທັງ ໝົດ ແລະສາມາດໃຊ້ງານໄດ້ເກືອບທັງ ໝົດ ລະບົບປະຕິບັດການທີ່ ສຳ ຄັນ.

    ໃນການເຂົ້າເຖິງ FTP ຜ່ານ TLS ຈາກ FileZilla ເປີດ ຜູ້ຈັດການເວັບໄຊ , ເລືອກ FTP ໃນ ອະນຸສັນຍາ ແລະ ຕ້ອງການ FTP ທີ່ແນ່ນອນໃນໄລຍະ TLS ເທິງ ເມນູເລື່ອນລົງ ການເຂົ້າລະຫັດ ເລືອກທ່ານ ປະເພດເຂົ້າສູ່ລະບົບ ເປັນ ປົກກະຕິ , ໃສ່ຂໍ້ມູນປະ ຈຳ ຕົວ FTP ຂອງທ່ານແລະກົດ ເຊື່ອມຕໍ່ ເພື່ອຕິດຕໍ່ ກັບເຊີບເວີ.

    9. ຖ້າມັນເປັນຄັ້ງ ທຳ ອິດທີ່ທ່ານເຊື່ອມຕໍ່ກັບ ProFTPD Server ແລ້ວຈະມີໃບຢັ້ງຢືນ ໃໝ່ ຂື້ນມາ, ໝາຍ ເອົາຫ້ອງ ທີ່ບອກວ່າ ໄວ້ໃຈໃບຢັ້ງຢືນສະ ເໝີ ສຳ ລັບການປະຊຸມໃນອະນາຄົດ ແລະກົດ on OK ເພື່ອຮັບເອົາໃບຢັ້ງຢືນແລະການກວດສອບຄວາມຖືກຕ້ອງກັບໂປແກຼມ ProFTPD.

    ຖ້າທ່ານກໍາລັງວາງແຜນທີ່ຈະໃຊ້ລູກຄ້າຄົນອື່ນຫຼາຍກວ່າ FileZilla ເພື່ອເຂົ້າເຖິງຊັບພະຍາກອນ FTP ຢ່າງປອດໄພໃຫ້ແນ່ໃຈວ່າພວກເຂົາສະ ໜັບ ສະ ໜູນ FTP ຜ່ານອະນຸສັນຍາ TLS. ບາງຕົວຢ່າງທີ່ດີ ສຳ ລັບລູກຄ້າ FTP ທີ່ສາມາດເວົ້າ FTPS ແມ່ນ gFTP ຫຼື LFTP (ເສັ້ນ ຄຳ ສັ່ງ) ສຳ ລັບ NIX.