-
Notifications
You must be signed in to change notification settings - Fork 0
Secure FTP
FTP เป็นโปรโตคอลที่ค่อนข้างไม่ค่อยปลอดภัยนัก หากการติดตั้งใช้งานไม่ได้วางแผนจัดการที่ดี หากไม่ได้มีความจำเป็นอย่างยิ่งยวดก็ควรหลีกเลี่ยงการใช้งาน
หากจำเป็นต้องใช้จริงๆ ก็ต้องทำระบบให้ปลอดภัยที่สุด จำกัดการเข้าถึงระบบ ซึ่งในบทความนี้จะใช้ 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
หาก optionchroot
ข้างต้นเป็น 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
ความคิดเห็นคำแนะนำของท่านต่อบทความนี้ จะถูกนำมาใช้ในการพัฒนาปรับปรุงงานเขียนของผม อย่างไงก็รบกวนแสดงความเห็นคิดด้วยนะครับ
สนับสนุนการเงินได้ที่
- บัญชีกสิกรไทย 003–3–29344–5