Садага болоюн, чырагым, лампочкам деген апа маегинде лампа заводунда иштегенин айтты
สารบัญ:
- ข้อกำหนดเบื้องต้น
- การติดตั้ง vsftpd บน Debian 9
- การกำหนดค่า vsftpd
- 1. การเข้าถึง FTP
- 2. เปิดใช้งานการอัปโหลด
- 3. คุก Chroot
- 4. การเชื่อมต่อ FTP แบบพาสซีฟ
- 5. การ จำกัด การเข้าสู่ระบบของผู้ใช้
- 6. การรักษาความปลอดภัยการส่งด้วย SSL / TLS
- เริ่มบริการ vsftpd ใหม่
- เปิดไฟร์วอลล์
- สร้างผู้ใช้ FTP
- ปิดการใช้งาน Shell Access
- ข้อสรุป
FTP (File Transfer Protocol) เป็นโปรโตคอลเครือข่ายมาตรฐานที่ใช้ในการถ่ายโอนไฟล์ไปยังและจากเครือข่ายระยะไกล เพื่อการถ่ายโอนข้อมูลที่ปลอดภัยและรวดเร็วยิ่งขึ้นให้ใช้ SCP หรือ SFTP
มีเซิร์ฟเวอร์ FTP โอเพนซอร์สมากมายสำหรับ Linux ที่นิยมมากที่สุดและใช้กันอย่างแพร่หลายคือ PureFTPd, ProFTPD และ vsftpd
บทช่วยสอนนี้อธิบายวิธีการติดตั้งและกำหนดค่า vsftpd (Very Secure Ftp Daemon) บน Debian 9. vsftpd เซิร์ฟเวอร์ FTP ที่เสถียรมั่นคงและรวดเร็ว นอกจากนี้เราจะแสดงวิธีกำหนดค่า vsftpd เพื่อ จำกัด ผู้ใช้ในไดเรกทอรีหลักและเข้ารหัสการส่งทั้งหมดด้วย SSL / TLS
ข้อกำหนดเบื้องต้น
ผู้ใช้ที่คุณเข้าสู่ระบบต้องมีสิทธิ์ sudo เพื่อให้สามารถติดตั้งแพ็คเกจได้
การติดตั้ง vsftpd บน Debian 9
แพ็คเกจ vsftpd พร้อมใช้งานในที่เก็บ Debian การติดตั้งค่อนข้างตรงไปตรงมา:
sudo apt update
sudo apt install vsftpd
บริการ vsftpd จะเริ่มต้นโดยอัตโนมัติหลังจากกระบวนการติดตั้งเสร็จสมบูรณ์ ตรวจสอบโดยพิมพ์สถานะบริการ:
sudo systemctl status vsftpd
ผลลัพธ์จะมีลักษณะดังนี้ด้านล่างแสดงว่าบริการ vsftpd เปิดใช้งานและทำงานอยู่:
● vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2018-12-10 11:42:51 UTC; 53s ago Main PID: 1394 (vsftpd) CGroup: /system.slice/vsftpd.service └─1394 /usr/sbin/vsftpd /etc/vsftpd.conf
การกำหนดค่า vsftpd
เซิร์ฟเวอร์ vsftpd สามารถกำหนดค่าได้โดยแก้ไขไฟล์
vsftpd.conf
พบในไดเร็กทอรี
/etc
การตั้งค่าส่วนใหญ่มีการบันทึกไว้อย่างดีภายในไฟล์กำหนดค่า สำหรับตัวเลือกทั้งหมดที่มีให้เยี่ยมชมหน้า vsftpd อย่างเป็นทางการ
ในส่วนต่อไปนี้เราจะไปตั้งค่าที่สำคัญบางอย่างที่จำเป็นในการกำหนดค่าการติดตั้ง vsftpd ที่ปลอดภัย
เริ่มต้นด้วยการเปิดไฟล์คอนฟิกูเรชัน vsftpd:
1. การเข้าถึง FTP
ค้นหาคำสั่ง
anonymous_enable
และ
local_enable
และตรวจสอบการกำหนดค่าของคุณตรงกับบรรทัดด้านล่าง:
anonymous_enable=NO local_enable=YES
สิ่งนี้ทำให้มั่นใจได้ว่ามีเพียงผู้ใช้ในท้องถิ่นเท่านั้นที่สามารถเข้าถึงเซิร์ฟเวอร์ FTP
2. เปิดใช้งานการอัปโหลด
write_enable
การตั้งค่า
write_enable
เพื่ออนุญาตการเปลี่ยนแปลงระบบไฟล์เช่นการอัพโหลดและการลบไฟล์
3. คุก Chroot
เพื่อป้องกันไม่ให้ผู้ใช้ FTP เข้าถึงไฟล์ใด ๆ นอกไดเรกทอรีบ้านยกเลิกการตั้งค่า
chroot
chroot_local_user=YES
ตามค่าเริ่มต้นเพื่อป้องกันช่องโหว่ด้านความปลอดภัยเมื่อเปิดใช้งาน chroot vsftpd จะปฏิเสธที่จะอัปโหลดไฟล์หากไดเรกทอรีที่ผู้ใช้ล็อคอยู่นั้นสามารถเขียนได้
ใช้วิธีใดวิธีหนึ่งด้านล่างเพื่ออนุญาตให้อัปโหลดเมื่อเปิดใช้งาน chroot
-
วิธีที่ 1 - วิธีที่แนะนำให้อนุญาตให้อัพโหลดคือการเปิดใช้งาน chroot และกำหนดค่าไดเรกทอรี FTP ในบทช่วยสอนนี้เราจะสร้างไดเรกทอรี
/etc/vsftpd.confftp
ภายในหน้าแรกของผู้ใช้ซึ่งจะทำหน้าที่เป็น chroot และไดเรกทอรีuploads
เขียนได้สำหรับการอัพโหลดไฟล์user_sub_token=$USER local_root=/home/$USER/ftp
วิธีที่ 2 - ตัวเลือกอื่นคือการเพิ่มคำสั่งต่อไปนี้ในไฟล์การกำหนดค่า vsftpd ใช้ตัวเลือกนี้หากคุณต้องให้สิทธิ์การเข้าถึงแก่ผู้ใช้ของคุณในโฮมไดเรกทอรี
/etc/vsftpd.confallow_writeable_chroot=YES
4. การเชื่อมต่อ FTP แบบพาสซีฟ
vsftpd สามารถใช้พอร์ตใดก็ได้สำหรับการเชื่อมต่อ FTP แบบพาสซีฟ เราจะระบุช่วงต่ำสุดและสูงสุดของพอร์ตแล้วเปิดช่วงในไฟร์วอลล์ของเรา
เพิ่มบรรทัดต่อไปนี้ในไฟล์คอนฟิกูเรชัน:
/etc/vsftpd.conf
pasv_min_port=30000 pasv_max_port=31000
5. การ จำกัด การเข้าสู่ระบบของผู้ใช้
หากต้องการอนุญาตให้ผู้ใช้บางคนเท่านั้นที่ล็อกอินเข้าสู่เซิร์ฟเวอร์ FTP ให้เพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์:
userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO
เมื่อเปิดใช้งานตัวเลือกนี้คุณจะต้องระบุผู้ใช้ที่สามารถเข้าสู่ระบบได้โดยการเพิ่มชื่อผู้ใช้ลงในไฟล์
/etc/vsftpd.user_list
(ผู้ใช้หนึ่งคนต่อบรรทัด)
6. การรักษาความปลอดภัยการส่งด้วย SSL / TLS
ในการเข้ารหัสการส่งสัญญาณ FTP ด้วย SSL / TLS คุณจะต้องมีใบรับรอง SSL และกำหนดค่าเซิร์ฟเวอร์ FTP เพื่อใช้งาน
คุณสามารถใช้ใบรับรอง SSL ที่มีอยู่ซึ่งลงนามโดยผู้ออกใบรับรองที่เชื่อถือได้หรือสร้างใบรับรองที่ลงนามด้วยตนเอง
ในบทช่วยสอนนี้เราจะสร้างใบรับรอง SSL ที่ลงชื่อด้วยตนเองโดยใช้คำสั่ง
openssl
คำสั่งต่อไปนี้จะสร้างคีย์ส่วนตัว 2048 บิตและใบรับรองที่ลงชื่อด้วยตนเองมีอายุ 10 ปี ทั้งรหัสส่วนตัวและใบรับรองจะถูกบันทึกในไฟล์เดียวกัน:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
เมื่อสร้างใบรับรอง SSL แล้วให้เปิดไฟล์คอนฟิกูเรชัน vsftpd:
sudo nano /etc/vsftpd.conf
ค้นหาคำสั่ง
rsa_private_key_file
และ
rsa_private_key_file
เปลี่ยนค่าเป็นพา ธ ไฟล์
pam
และตั้งค่าคำสั่ง
ssl_enable
เป็น
YES
:
rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES
หากไม่ได้ระบุเป็นอย่างอื่นเซิร์ฟเวอร์ FTP จะใช้ TLS เท่านั้นเพื่อทำการเชื่อมต่อที่ปลอดภัย
เริ่มบริการ vsftpd ใหม่
เมื่อคุณแก้ไขเสร็จแล้วไฟล์การกำหนดค่า vsftpd (ยกเว้นความคิดเห็น) ควรมีลักษณะดังนี้:
/etc/vsftpd.conf
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=YES user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=30000 pasv_max_port=31000 userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO
บันทึกไฟล์และรีสตาร์ทเซอร์วิส vsftpd เพื่อให้การเปลี่ยนแปลงมีผล:
เปิดไฟร์วอลล์
หากต้องการเปิดพอร์ต
21
(พอร์ตคำสั่ง FTP), พอร์ต
20
(พอร์ตข้อมูล FTP) และ
30000-31000
(ช่วงพอร์ตแบบพาสซีฟ) ให้รันคำสั่งต่อไปนี้:
sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp
เพื่อหลีกเลี่ยงการถูกล็อคเราจะเปิดพอร์ต
22
:
sudo ufw allow OpenSSH
โหลดกฎ UFW อีกครั้งโดยปิดใช้งานและเปิดใช้งาน UFW อีกครั้ง:
sudo ufw disable
sudo ufw enable
หากต้องการตรวจสอบการเปลี่ยนแปลงให้ดำเนินการดังนี้
sudo ufw status
Status: active To Action From -- ------ ---- 20:21/tcp ALLOW Anywhere 30000:31000/tcp ALLOW Anywhere OpenSSH ALLOW Anywhere 20:21/tcp (v6) ALLOW Anywhere (v6) 30000:31000/tcp (v6) ALLOW Anywhere (v6) OpenSSH (v6) ALLOW Anywhere (v6)
สร้างผู้ใช้ FTP
เพื่อทดสอบเซิร์ฟเวอร์ FTP ของเราเราจะสร้างผู้ใช้ใหม่
- หากคุณมีผู้ใช้ที่คุณต้องการให้สิทธิ์การเข้าถึง FTP ข้ามขั้นตอนที่ 1 หากคุณตั้ง
allow_writeable_chroot=YES
ในไฟล์กำหนดค่าของคุณให้ข้ามขั้นตอนที่ 3
-
สร้างผู้ใช้ใหม่ชื่อ
newftpuser
:sudo adduser newftpuser
เพิ่มผู้ใช้ไปยังรายการผู้ใช้ FTP ที่อนุญาต:
echo "newftpuser" | sudo tee -a /etc/vsftpd.user_list
สร้างแผนผังไดเร็กทอรี FTP และตั้งค่าการอนุญาตที่ถูกต้อง:
sudo mkdir -p /home/newftpuser/ftp/upload
sudo chmod 550 /home/newftpuser/ftp
sudo chmod 750 /home/newftpuser/ftp/upload
sudo chown -R newftpuser: /home/newftpuser/ftp
ตามที่กล่าวไว้ในส่วนก่อนหน้านี้ผู้ใช้จะสามารถอัปโหลดไฟล์ไปยังไดเรกทอรี
ftp/upload
ณ จุดนี้เซิร์ฟเวอร์ FTP ของคุณทำงานได้อย่างสมบูรณ์และคุณควรจะสามารถเชื่อมต่อกับเซิร์ฟเวอร์ของคุณโดยใช้ไคลเอนต์ FTP ที่สามารถกำหนดค่าให้ใช้การเข้ารหัส TLS เช่น FileZilla
ปิดการใช้งาน Shell Access
โดยค่าเริ่มต้นเมื่อสร้างผู้ใช้หากไม่ได้ระบุไว้อย่างชัดเจนผู้ใช้จะมีการเข้าถึง SSH ไปยังเซิร์ฟเวอร์
หากต้องการปิดใช้งานการเข้าถึงเชลล์เราจะสร้างเชลล์ใหม่ซึ่งจะพิมพ์ข้อความแจ้งให้ผู้ใช้ทราบว่าบัญชีของพวกเขาถูก จำกัด การเข้าถึง FTP เท่านั้น
สร้างเชลล์
/bin/ftponly
และทำให้สามารถเรียกใช้งานได้:
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
sudo chmod a+x /bin/ftponly
ผนวกเชลล์ใหม่เข้ากับรายการของเชลล์ที่ถูกต้องในไฟล์
/etc/shells
:
echo "/bin/ftponly" | sudo tee -a /etc/shells
เปลี่ยนเชลล์ผู้ใช้เป็น
/bin/ftponly
:
sudo usermod newftpuser -s /bin/ftponly
ใช้คำสั่งเดียวกันเพื่อเปลี่ยนเชลล์ของผู้ใช้ทั้งหมดที่คุณต้องการให้สิทธิ์การเข้าถึง FTP เท่านั้น
ข้อสรุป
ในบทช่วยสอนนี้คุณเรียนรู้วิธีการติดตั้งและกำหนดค่าเซิร์ฟเวอร์ FTP ที่ปลอดภัยและรวดเร็วบนระบบ Debian 9 ของคุณ
ftp debianวิธีการตั้งค่าเซิร์ฟเวอร์ openvpn บนเดเบียน 9

VPN ช่วยให้คุณเชื่อมต่อกับเซิร์ฟเวอร์ VPN ระยะไกลทำให้การเชื่อมต่อของคุณได้รับการเข้ารหัสและปลอดภัยและท่องเว็บโดยไม่ระบุตัวตนโดยทำให้ข้อมูลการจราจรของคุณเป็นส่วนตัว บทช่วยสอนนี้จะแนะนำคุณเกี่ยวกับขั้นตอนการตั้งค่าเซิร์ฟเวอร์ VPN ของคุณโดยติดตั้งและกำหนดค่า OpenVPN
วิธีการตั้งค่าเซิร์ฟเวอร์ ftp ด้วย vsftpd บน centos 7

ในบทช่วยสอนนี้เราจะทำการติดตั้ง vsftpd มันเป็นเซิร์ฟเวอร์ FTP ที่มั่นคงปลอดภัยและรวดเร็ว นอกจากนี้เราจะแสดงวิธีกำหนดค่า vsftpd เพื่อ จำกัด ผู้ใช้ไปยังโฮมไดเร็กตอรี่ของพวกเขาและเข้ารหัสการส่งข้อมูลทั้งหมดด้วย SSL / TLS
วิธีการตั้งค่าเซิร์ฟเวอร์ ftp ด้วย vsftpd บน Ubuntu 18.04

ในบทช่วยสอนนี้เราจะทำการติดตั้ง vsftpd มันเป็นเซิร์ฟเวอร์ FTP ที่มั่นคงปลอดภัยและรวดเร็ว นอกจากนี้เราจะแสดงวิธีกำหนดค่า vsftpd เพื่อ จำกัด ผู้ใช้ไปยังโฮมไดเร็กตอรี่ของพวกเขาและเข้ารหัสการส่งข้อมูลทั้งหมดด้วย SSL / TLS