--- title: Secure VSFTP บน Debian tags: บทความ, sysadmin, debian, linux, vsftp, secure, chroot, ssh, ftp --- # การทำ FTP ด้วย VSFTPD ให้ปลอดภัย FTP เป็นโปรโตคอลที่ค่อนข้างไม่ค่อยปลอดภัยนัก หากการติดตั้งใช้งานไม่ได้วางแผนจัดการที่ดี หากไม่ได้มีความจำเป็นอย่างยิ่งยวดก็ควรหลีกเลี่ยงการใช้งาน หากจำเป็นต้องใช้จริงๆ ก็ต้องทำระบบให้ปลอดภัยที่สุด จำกัดการเข้าถึงระบบ ซึ่งในบทความนี้จะใช้ chroot จำกัด user ให้เข้าได้แค่ home directory ของตัวเองเท่านั้น ไม่สามารถเปลี่ยนไป directory อื่น ## สภาพแวดล้อม - Debian 10 ที่สามารถเข้าถึงได้ผ่านทาง ssh - ftp account name `ftpuser` - home directory `/data/ftp/ftpuser` - ftp server ที่ใช้เป็น vsftp ## การติดตั้ง และตั้งค่า - การยังไม่ได้ติดตั้ง vsftpd ให้ทำการติดตั้ง ```bash $ 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 ตามที่ต้องการ ```bash $ 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  > ความคิดเห็นคำแนะนำของท่านต่อบทความนี้ จะถูกนำมาใช้ในการพัฒนาปรับปรุงงานftpuserม อย่างไงก็รบกวนแสดงความเห็นคิดด้วยนftpuser > สนับสนุนการเงินได้ที่ > - บัญชีกสิกรไทย 003–3–29344–5 > - https://paypal.me/chookiatj ← เลือกส่งเงินให้เพื่อนนะครับ > ## โฆษณา  
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up