ค้นหาเว็บไซต์

ตั้งค่าการถ่ายโอนไฟล์ FTP ที่ปลอดภัยโดยใช้ SSL/TLS ใน RHEL 8


ในบทความล่าสุดของเรา เราได้อธิบายรายละเอียดเกี่ยวกับวิธีการติดตั้งและกำหนดค่าเซิร์ฟเวอร์ FTP ใน RHEL 8 Linux ในบทความนี้ เราจะอธิบายวิธีการรักษาความปลอดภัยเซิร์ฟเวอร์ FTP โดยใช้ SSL/TLS เพื่อเปิดใช้งานบริการเข้ารหัสข้อมูลสำหรับการถ่ายโอนไฟล์ที่ปลอดภัยระหว่างระบบ

เราหวังว่าคุณจะมีเซิร์ฟเวอร์ FTP ติดตั้งและทำงานอย่างถูกต้องแล้ว ถ้าไม่ โปรดใช้คำแนะนำต่อไปนี้เพื่อติดตั้งลงในระบบของคุณ

  1. วิธีการติดตั้ง กำหนดค่า และรักษาความปลอดภัยเซิร์ฟเวอร์ FTP ใน RHEL 8

ขั้นตอนที่ 1 การสร้างใบรับรอง SSL/TLS และคีย์ส่วนตัว

1. สร้างไดเรกทอรีต่อไปนี้เพื่อจัดเก็บใบรับรอง SSL/TLS และไฟล์คีย์

mkdir -p /etc/ssl/vsftpd

2. ถัดไป สร้างใบรับรอง SSL/TLS ที่ลงนามด้วยตนเองและคีย์ส่วนตัวโดยใช้คำสั่งต่อไปนี้

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

ต่อไปนี้เป็นคำอธิบายของแต่ละแฟล็กที่ใช้ในคำสั่งข้างต้น

  1. req – เป็นคำสั่งสำหรับการจัดการ X.509 Certificate Signing Request (CSR)
  2. x509 – หมายถึงการจัดการข้อมูลใบรับรอง X.509
  3. วัน – กำหนดจำนวนวันที่ใบรับรองสามารถใช้ได้
  4. newkey – ระบุตัวประมวลผลคีย์ใบรับรอง
  5. rsa:2048 – ตัวประมวลผลคีย์ RSA จะสร้างคีย์ส่วนตัว 2048 บิต
  6. keyout – ตั้งค่าไฟล์จัดเก็บคีย์
  7. ออก – ตั้งค่าไฟล์จัดเก็บใบรับรอง โปรดทราบว่าทั้งใบรับรองและคีย์จะถูกจัดเก็บไว้ในไฟล์เดียวกัน: /etc/ssl/vsftpd/vsftpd.pem

คำสั่งด้านบนจะแจ้งให้คุณตอบคำถามด้านล่าง อย่าลืมใช้ค่าที่เกี่ยวข้องกับสถานการณ์ของคุณ

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

3. เปิดไฟล์การกำหนดค่า VSFTPD เพื่อแก้ไขโดยใช้โปรแกรมแก้ไขบรรทัดคำสั่งที่คุณชื่นชอบ

vi /etc/vsftpd/vsftpd.conf

เพิ่มพารามิเตอร์การกำหนดค่าต่อไปนี้เพื่อเปิดใช้งาน SSL จากนั้นเลือกเวอร์ชันของ SSL และ TLS ที่จะใช้ที่ส่วนท้ายของไฟล์

ssl_enable=YES
ssl_tlsv1_2=YES
ssl_sslv2=NO
ssl_sslv3=NO

4. ถัดไป เพิ่มตัวเลือก rsa_cert_file และ rsa_private_key_file เพื่อระบุตำแหน่งของใบรับรอง SSL และไฟล์คีย์ตามลำดับ

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

5. ตอนนี้ให้เพิ่มพารามิเตอร์เหล่านี้เพื่อปิดการใช้งานการเชื่อมต่อที่ไม่ระบุชื่อจากการใช้ SSL และบังคับการเชื่อมต่อที่ไม่ระบุชื่อทั้งหมดผ่าน SSL

allow_anon_ssl=NO			# disable anonymous users from using SSL
force_local_data_ssl=YES		# force all non-anonymous logins to use a secure SSL connection for data transfer
force_local_logins_ssl=YES		# force all non-anonymous logins  to send the password over SSL

6. ถัดไป เพิ่มตัวเลือกเหล่านี้เพื่อปิดการใช้งานการเชื่อมต่อข้อมูล SSL ซ้ำทั้งหมด และตั้งค่ารหัส SSL สูง เพื่ออนุญาตการเชื่อมต่อ SSL ที่เข้ารหัส

require_ssl_reuse=NO
ssl_ciphers=HIGH

7. คุณยังต้องระบุช่วงพอร์ต (พอร์ตต่ำสุดและสูงสุด) ของพอร์ตพาสซีฟที่จะใช้โดย vsftpd สำหรับการเชื่อมต่อที่ปลอดภัย โดยใช้ pasv_min_port และ pasv_max_port พารามิเตอร์ตามลำดับ นอกจากนี้ คุณสามารถเลือกเปิดใช้งานการแก้ไขข้อบกพร่อง SSL เพื่อวัตถุประสงค์ในการแก้ปัญหาได้ โดยใช้ตัวเลือก debug_ssl

pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES

8. สุดท้าย ให้บันทึกไฟล์และรีสตาร์ทบริการ vsftpd เพื่อให้การเปลี่ยนแปลงข้างต้นมีผล

systemctl restart vsftpd

9. งานสำคัญอีกอย่างหนึ่งที่ต้องทำก่อนที่คุณจะสามารถเข้าถึงเซิร์ฟเวอร์ FTP ได้อย่างปลอดภัยคือการเปิดพอร์ต 990 และ 40000-50000 ในระบบ ไฟร์วอลล์ ซึ่งจะอนุญาตการเชื่อมต่อ TLS ไปยังบริการ vsftpd และเปิดช่วงพอร์ตของพอร์ตแบบพาสซีฟที่กำหนดไว้ในไฟล์การกำหนดค่า VSFTPD ตามลำดับ ดังต่อไปนี้

firewall-cmd --zone=public --permanent –add-port=990/tcp
firewall-cmd --zone=public --permanent –add-port=40000-50000/tcp
firewall-cmd --reload

ขั้นตอนที่ 3: ติดตั้ง FileZilla เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ FTP อย่างปลอดภัย

10. เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ FTP อย่างปลอดภัย คุณต้องมีไคลเอนต์ FTP ที่รองรับการเชื่อมต่อ SSL/TLS เช่น FileZilla – เป็นโอเพ่นซอร์ส ไคลเอนต์ FTP, SFTP และ FTPS ข้ามแพลตฟอร์มที่ใช้กันอย่างแพร่หลายซึ่งรองรับการเชื่อมต่อ SSL/TLS ตามค่าเริ่มต้น

ติดตั้ง FileZilla ใน Linux โดยใช้ตัวจัดการแพ็คเกจเริ่มต้นของคุณดังนี้:

sudo apt-get install filezilla   		#Debian/Ubuntu
yum install epel-release filezilla		#On CentOS/RHEL
dnf install filezilla			        #Fedora 22+
sudo zypper install filezilla			#openSUSE

11. หลังจากติดตั้งแพ็คเกจ Filezilla แล้ว ให้ค้นหาในเมนูระบบแล้วเปิดขึ้นมา หากต้องการเชื่อมต่อเซิร์ฟเวอร์ FTP ระยะไกลอย่างรวดเร็ว ให้ระบุที่อยู่ IP ของโฮสต์ ชื่อผู้ใช้ และรหัสผ่านของผู้ใช้จากอินเทอร์เฟซหลัก จากนั้นคลิก QuickConnect

12. จากนั้นแอปพลิเคชันจะขอให้คุณอนุญาตการเชื่อมต่อที่ปลอดภัยโดยใช้ใบรับรองที่ไม่รู้จักและลงนามด้วยตนเอง คลิก ตกลง เพื่อดำเนินการต่อ

หากการกำหนดค่าที่เซิร์ฟเวอร์เป็นเรื่องปกติ การเชื่อมต่อควรจะสำเร็จดังที่แสดงในภาพหน้าจอต่อไปนี้

13. สุดท้าย ทดสอบสถานะการเชื่อมต่อที่ปลอดภัยของ FTP โดยพยายามอัปโหลดไฟล์จากเครื่องของคุณไปยังเซิร์ฟเวอร์ดังที่แสดงในภาพหน้าจอถัดไป

นั่นคือทั้งหมด! ในบทความนี้ เราได้แสดงวิธีรักษาความปลอดภัยเซิร์ฟเวอร์ FTP โดยใช้ SSL/TLS เพื่อการโอนไฟล์อย่างปลอดภัยใน RHEL 8 นี่เป็นส่วนที่สองของคู่มือที่ครอบคลุมของเราในการติดตั้ง กำหนดค่า และรักษาความปลอดภัยเซิร์ฟเวอร์ FTP ใน RHEL 8 หากต้องการแบ่งปันคำถามหรือความคิดใด ๆ ให้ใช้แบบฟอร์มคำติชมด้านล่าง