Skip to content
Gallery
บันทึกการทำ
Share
Explore
Systems

icon picker
ทำ FTP ด้วย VSFTPD ให้ปลอดภัย

FTP เป็นโปรโตคอลที่ค่อนข้างไม่ค่อยปลอดภัยนัก หากการติดตั้งใช้งานไม่ได้วางแผนจัดการที่ดี หากไม่ได้มีความจำเป็นอย่างยิ่งยวดก็ควรหลีกเลี่ยงการใช้งาน
Last edited 214 days ago by System Writer
หากจำเป็นต้องใช้จริงๆ ก็ต้องทำระบบให้ปลอดภัยที่สุด จำกัดการเข้าถึงระบบ ซึ่งในบทความนี้จะใช้ chroot จำกัด user ให้เข้าได้แค่ home directory ของตัวเองเท่านั้น ไม่สามารถเปลี่ยนไป directory อื่น

สภาพแวดล้อม

Debian 10 ที่สามารถเข้าถึงได้ผ่านทาง ssh
ftp account name ftpuser
home directory /data/ftp/ftpuser
ftp server ที่ใช้เป็น vsftp

การติดตั้ง และตั้งค่า

การยังไม่ได้ติดตั้ง vsftpd ให้ทำการติดตั้ง
$ sudo apt update
$ sudo apt install vsftpd
เมื่อทำการติดตั้ง vsftpd เสร็จเรียบร้อย ก็ทำการตั้งค่าในไฟล์ /etc/vsftpd.conf โดยตั้งค่า ดังต่อไปนี้
write_enable=YES เปิดให้สามารถเขียนไฟล์ได้ หากต้องการใช้งานการ upload ไฟล์ข้อมูล
chroot_local_user=YES และ chroot_list_enable=YES เป็นการเปิด chroot ให้ ftp account ที่เข้าระบบ เห็นแต่ home directory ของตนเท่านั้น
chroot_list_file=/etc/vsftpd.chroot_list หาก option chroot ข้างต้นเป็น YES user ที่มีอยู่ชื่ออยู่ในไฟล์นี้จะสามารถเข้าถึงได้ทุก file/directory ซึ่งแนะนำว่าไม่ควรใส่ชื่อใดๆ ไว้
ตัวอย่าง
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
allow_writeable_chroot=YES
สร้างไฟล์เปล่า $ sudo touch /etc/vsftpd.chroot_list
เมื่อทำการแก้ไขตั้งค่าเรียบร้อย ก็ทำการ restart vsftpd service $ sudo systemctl restart vsftpd
จากนั้นทำการสร้าง ftp account พร้อมกับตั้ง home directory ตามที่ต้องการ
$ sudo adduser --home /data/ftp/ftpuser ftpuser
หากมีการเปิดใช้งาน ssh ก็ต้องทำการ disable account นี้ให้ไม่สามารถใช้งาน ssh ได้ /etc/ssh/sshd_config
DenyUsers ftpuser
DenyGroups ftpuser
ทำการ restart sshd service $ sudo systemctl restart sshd
เป็นอันเสร็จสิ้นการติดตั้งและตั้งค่า ftp
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.