Install FTP and Config to use SSL/TLS (SFTP) in ubuntu

23 Mar 2016

Share to:

ก่อนอื่นมาดูกันว่า FTP คืออะไร FTP ย่อมาจาก File Transfer Protocol ซึ่งเป็น Protocol ที่ใช้ รับ-ส่ง ไฟล์ระหว่าง server และ client ส่วน SFTP ก็เหมือนกับ FTP แต่จะเพิ่มกระบวนการ SSL/TLS เพื่อให้มีความปลอดภัยมากยิ่งขึ้น

ติดตั้ง FTP server

FTP server ที่ผมใช้คือ vsftpd วิธีการติดตั้งคือ ติดตั้งโดยใช้คําสั่ง

sudo apt-get install vsftpd

ถึงตอนนี้ยังใช้งานไม่ได้ เราจะต้องไป config ค่าต่างๆก่อน

Config vsftpd เบื้องต้น

เปิดไฟล์ config ด้วยคําสั่ง

sudo nano /etc/vsftpd.conf

ปิดการล็อกอินด้วยผู้ใช้ชื่อ anonymous ให้หาคําว่า “anonymous_enable=YES”  แล้วเปลี่ยนเป็น

anonymous_enable=NO

เปิดให้ผู้ใช้ภายในแต่ละคนล็อกอินได้ ให้หาคําว่า “#local_enable=YES” แล้ว uncomment โดยเอาเครื่องหมาย # ด้านหน้าออก

local_enable=YES

เปิดให้ผู้ใช้สามารถเขียนไฟล์ได้ ให้หาคําว่า “#write_enable=YES” แล้ว uncomment โดยเอาเครื่องหมาย # ด้านหน้าออก

write_enable=YES

กําหนดให้ user สามารถมองเห็นแต่ directory home ของตังเองเท่านั้น ให้หาคําว่า “#chroot_local_user=YES” แล้ว uncomment โดยเอาเครื่องหมาย # ด้านหน้าออก

chroot_local_user=YES

ถ้าเป็น vsftpd 3.0.0 (=Ubuntu 13.10) จะต้องเพิ่มคําสั่งนี้เข้าไป

allow_writeable_chroot=YES

save file แล้วปิดไฟล์ โดยกด Ctrl+x แล้วตามด้วย y แล้ว enter เสร็จสิ้นการ config วิธีใช้งานก็เข้าใช้งานด้วย user ของ ubuntu ที่สร้างขึ้น ส่วน home directory ก็จะเป็นตาม config ของ user นั้นๆ เท่านี้ก็ได้ FTP server แล้ว แต่ถ้าต้องการความปลอดภัยมากยิ่งขึ้น ก็ต้อง Configure SSL with vsftpd เพิ่มเติมอยู่ในหัวข้อถัดไป

Configure SSL with vsftpd

ขั้นตอนการ config จะมีด้วยกันสองส่วนคือ

  • Create SSL certificates and key
  • Add the SSL Details to the vsftpd Configuration

SSL certificates and key

Create certificates and key ด้วยคําสั่ง

sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem

เราจะได้ไฟล์ SSL certificates and key อยู่ที่ “/etc/ssl/private/vsftpd.pem”

Add the SSL Details to the vsftpd Configuration

เปิดไฟล์ config ของ vsftpd ด้วยคําสั่ง

sudo nano /etc/vsftpd.conf

แก้ไข หรือเพิ่มคําสั่งนี้เข้าไป(ถ้ามีอยู่แล้วก็ให้แก้ไขให้เป็นตามนี้ แต่ถ้าไม่มีให้เพิ่มเข้าไป)

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

เพิ่มคําสั่งนี้เข้าไป

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

require_ssl_reuse=NO
ssl_ciphers=HIGH

Restart FTP server ด้วยคําสั่ง

sudo service vsftpd restart

เสร็จสิ้นการ config SFTP พร้อมใช้งาน

Image

Suggestion blogs

ซ่อน Startup console ของ raspberry pi

ปกติเวลาเปิดเครื่องขึ้นมาจะมีหน้าจอ console ของระบบขึ้นมาพร้อมกับ logo ของ raspberry pi

ติดตั้ง Nginx เพื่อใช้งานร่วมกับ Apache2

ในปัจจุบันมี web server อยู่สองเจ้าที่ได้รับความนิยมคือ apache2 และ nginx สองเจ้านี้จะมีขอดีข้อเสียงต่างกัน nginx จะมีข้อดีคือ สามารถรองรับ user concurrent และ request static file ได้ดีกว่า apache2 ส่วน apache2 มีข้อดีคือ PHP ซึ่ง PHP ของ nginx นั้น จะทำงานผ่านโมดูล FastCGI อีกทีหนึ่ง  ซึ่งจะได้ Performance ที่ช้ากว่า mod_php ของ apache2 ที่ทำงานแบบ

[ภาษาซี] การกําหนดค่าให้ตัวแปร

การกําหนดค่าให้กัยตัวแปรด้วยโอเปอเรเตอร์ ถือเป็นการดําเนินการอีกรูปแบบหนึ่ง สําหรับการกําหนดค่า (Assignment Operator) มีอยุ่หลายชนิดดังนี้


Copyright © 2019 - 2024 thiti.dev |  v1.34.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Youtube channel   Telegram   Email contact   วงแหวนเว็บ