Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

ติดตั้งและตั้งค่า ProFTPD พร้อม TLS บน Ubuntu อย่างปลอดภัย

File Transfer Protocol (FTP) เป็นโปรโตคอลที่เบาและนิยมใช้สำหรับถ่ายโอนไฟล์ผ่าน network แม้จะเป็นกลไกที่มีประสิทธิภาพสำหรับการส่งข้อมูล แต่มีข้อบกพร่องหนึ่ง: ข้อมูลถูกส่งและรับใน plain text หมายความว่าการถ่ายโอนข้อมูลไม่ได้ถูกเข้ารหัส และอาจถูก compromised

FTP servers สมัยใหม่เช่น ProFTPD อนุญาตให้รองรับ SSL/TLS ทำให้การถ่ายโอนไฟล์ระหว่างสองระบบไม่เพียงมีประสิทธิภาพ แต่ยังปลอดภัยด้วยการเพิ่มองค์ประกอบความปลอดภัย มาสำรวจวิธีติดตั้งและตั้งค่า ProFTPD พร้อม TLS บน Ubuntu 22.04

ProFTPD คืออะไร?

ProFTPD เป็น FTP Server โอเพนซอร์สและน่าเชื่อถือ ที่ให้คุณสร้าง FTP connection ระหว่าง local machine และ web server มันง่ายต่อการตั้งค่า และ compatible กับ Unix/Linux servers

ข้อกำหนดก่อนติดตั้ง ProFTPD

ก่อนเริ่มติดตั้ง ProFTPD คุณต้องปฏิบัติตามข้อกำหนดต่อไปนี้:

  1. Ubuntu Server 22.04
  2. Root privileges บน server

ถ้าระบบของคุณตรงตามข้อกำหนดเหล่านี้ คุณพร้อมติดตั้ง ProFTPD server แล้ว

ขั้นตอน 1: อัปเดตและอัปเกรด Ubuntu

เพื่อติดตั้ง ProFTPD คุณต้องอัปเดต Ubuntu ผ่าน command line ก่อน สามารถทำได้โดยรัน:

sudo apt-get update -y

คำสั่ง update เพียงอัปเดต system packages list เฉพาะ เพื่ออัปเกรดแพ็กเกจ ให้รัน:

sudo apt-get upgrade -y

เพื่อให้การเปลี่ยนแปลงจาก upgrade มีผล คุณต้อง reboot ระบบ Linux:

reboot

ขั้นตอน 2: ติดตั้ง ProFTPD Server บน Ubuntu

ตอนนี้ถึงเวลาติดตั้ง ProFTPD รันคำสั่ง:

sudo apt install proftpd -y

เมื่อติดตั้ง server แล้ว ให้ verify ว่าติดตั้งถูกต้อง วิธีหนึ่งคือเช็คเวอร์ชันของ service ที่ติดตั้ง:

sudo proftpd --version

ถ้า terminal คืนค่า version number แสดงว่าการติดตั้ง ProFTPD สำเร็จ และ server มีอยู่บนระบบแล้ว

ขั้นตอน 3: เริ่มและ Enable ProFTPD Service

ตอนนี้คุณใช้ ProFTPD ได้ แต่ก่อนต้อง start โดยรัน:

sudo systemctl start proftpd

เมื่อเสร็จ รันคำสั่งนี้เพื่อ enable:

sudo systemctl enable proftpd

เมื่อ service เริ่มแล้ว ให้เช็ค status ของ ProFTPD ว่ารันปกติ ใส่คำสั่ง:

sudo systemctl status proftpd

ProFTPD daemon active และ running อยู่ดี

การตั้งค่า ProFTPD บน Linux

คุณจะหา configuration file ของ ProFTPD ใน directory /etc/proftpd เปิดไฟล์ด้วย nano:

sudo nano /etc/proftpd/proftpd.conf

คุณจะพบ directives ต่างๆ ในไฟล์ Default Root directive บอก FTP Server ว่า serve ไฟล์จากที่ไหน

DefaultRoot /home/Linux/Docs

คุณยังสามารถจำกัด user ให้อยู่ใน directory เฉพาะด้วย DefaultRoot directive:

DefaultRoot /home/linux Tom
DefaultRoot / Emma

ด้วยการตั้งค่านี้ Tom จะ login เข้า /home/linux แต่ Emma จะเข้าถึงระบบทั้งหมดได้

คุณสามารถตั้งชื่อ server ด้วย ServerName directive:

ServerName "My ProFTPD"

สร้าง Users สำหรับ ProFTPD Server

เป็น best practice ที่จะมี users บน FTP server พร้อม restricted permissions เพื่อความปลอดภัย Users ควรเข้าถึงได้แค่ home directory ของตัวเองเพื่อจัดการไฟล์โดย download หรือ upload

สร้าง ProFTPD user ด้วยคำสั่งด้านล่าง แทน username ด้วย username จริง:

sudo useradd -m username

เพื่อตั้ง password ให้ user รัน:

sudo passwd username

การตั้งค่า SSL/TLS กับ ProFTPD

เพื่อ secure FTP connection คุณจะใช้ SSL/TLS ที่นี่คุณจะเห็นวิธีตั้งค่า ProFTPD พร้อม SSL certificate

เพื่อ generate certificate สำหรับ ProFTPD server คุณต้องมี OpenSSL บนระบบ รันคำสั่งนี้ติดตั้ง OpenSSL:

sudo apt-get install openssl -y

Generate Certificate สำหรับ ProFTPD Server

เมื่อ OpenSSL ติดตั้งสำเร็จแล้ว คุณสามารถ generate certificate สำหรับ server ได้ด้วย:

sudo openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365

คำสั่งนี้ขอให้ OpenSSL ให้ certificate และ private key สำหรับ ProFTPD server Certificate จะ valid 365 วัน

หลังรันคำสั่ง ระบบจะขอ details สำหรับ certificate ปกติคือ organization name และ address

เมื่อ details ถูกยอมรับ คุณจะได้ certificate และ key ตอนนี้เปลี่ยน permissions ของทั้งสองไฟล์เป็น read และ write only:

sudo chmod 600 /etc/ssl/private/proftpd.key
sudo chmod 600 /etc/ssl/certs/proftpd.crt

เปิด ProFTPD configuration file:

sudo nano /etc/proftpd/proftpd.conf

หาบรรทัดต่อไปนี้และ uncomment โดยลบ Pound character (#) ที่ต้นบรรทัด:

Include /etc/proftpd/tls.conf

ปิดไฟล์และ save ต่อไป เปิด TLS configuration file:

sudo nano /etc/proftpd/tls.conf

หา snippets ต่อไปนี้ในไฟล์และ uncomment:

<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

Uncomment สองบรรทัดนี้ด้วย:

TLSOptions AllowClientRenegotiations

และ:

TLSRequired on

เมื่อ save และปิดไฟล์แล้ว restart ProFTPD service เพื่อให้การเปลี่ยนแปลงมีผล:

sudo systemctl restart proftpd

วิธียกเลิกติดตั้ง ProFTPD บน Ubuntu

เพื่อลบ ProFTPD จากระบบ คุณต้อง stop service ก่อน:

sudo systemctl stop proftpd

ตอนนี้คุณลบ ProFTPD จากเครื่องได้ด้วยคำสั่ง Linux:

sudo apt-get autoremove proftpd-dev
sudo apt-get purge proftpd-basic

คำสั่งเหล่านี้จะลบ ProFTPD ออกจากระบบอย่างสมบูรณ์

ถ่ายโอนไฟล์อย่างปลอดภัยด้วย FTP Server ที่ตั้งค่า TLS

ProFTPD ไม่เพียงให้ความปลอดภัย แต่ยังรับรองว่าการแลกเปลี่ยนข้อมูลรวดเร็วและมีประสิทธิภาพ สิ่งที่ดีที่สุดของ ProFTPD คือมันเสนอ configuration options มากมายให้ผู้ใช้

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