หนึ่งในข้อเสียเปรียบหลักของ FTP สำหรับการถ่ายโอนไฟล์คือการขาดการป้องกันและการเข้ารหัสสำหรับข้อมูลที่ถ่ายโอน เมื่อเชื่อมต่อกับชื่อผู้ใช้และรหัสผ่านของเซิร์ฟเวอร์ FTP จะถูกส่งเป็นข้อความธรรมดาด้วย ในการถ่ายโอนข้อมูล (โดยเฉพาะการใช้ช่องทางการสื่อสารสาธารณะ) ขอแนะนำให้ใช้โปรโตคอลที่มีความปลอดภัยมากขึ้น เช่น FTPS หรือ SFTP มาดูวิธีกำหนดค่า เซิร์ฟเวอร์ FTPS บน Windows Server 2012 R2 .
โปรโตคอล FTPS (FTP over SSL/TLS, FTP+SSL) เป็นส่วนขยายของโปรโตคอล FTP มาตรฐาน แต่การเชื่อมต่อระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ได้รับการป้องกัน (เข้ารหัส) โดยใช้ SSL /TLS ตามกฎแล้วจะใช้พอร์ต 21 พอร์ตเดียวกันสำหรับการเชื่อมต่อ
หมายเหตุ . คุณไม่ควรผสม FTPS และ SFTP (Secure FTP หรือ SSH FTP) ส่วนหลังเป็นส่วนขยายของโปรโตคอล SSH ที่ไม่มีอะไรเหมือนกับ FTP
FTP ผ่านการสนับสนุน SSL ปรากฏใน IIS 7.0 (Windows Server 2008) เพื่อให้เซิร์ฟเวอร์ FTPS ทำงานได้ คุณจะต้องติดตั้งใบรับรอง SSL บนเซิร์ฟเวอร์ IIS ของคุณ
การติดตั้งบทบาทเซิร์ฟเวอร์ FTP
การติดตั้งบทบาทเซิร์ฟเวอร์ FTP ใน Windows Server 2012 ไม่ได้ทำให้เกิดปัญหาใดๆ และได้อธิบายไว้แล้ว
วิธีการสร้างและติดตั้งใบรับรอง SSL ใน IIS
จากนั้นเปิด ตัวจัดการ IIS คอนโซล เลือกเซิร์ฟเวอร์และไปที่ ใบรับรองเซิร์ฟเวอร์ ส่วน .
ในส่วนนี้ คุณสามารถนำเข้าใบรับรอง สร้างคำขอใบรับรอง อัปเดตใบรับรอง หรือสร้างใบรับรองที่ลงนามเองได้ เพื่อจุดประสงค์ในการสาธิต เรามาสร้างใบรับรองที่ลงนามเองกันเถอะ (สามารถสร้างได้โดยใช้ cmdlet ของ New-SelfSifgnedCertificate) เมื่อระบุถึงบริการ คำเตือนว่าใบรับรองที่ออกโดย CA ที่ไม่น่าเชื่อถือจะปรากฏขึ้น หากต้องการปิดคำเตือนนี้สำหรับใบรับรองนี้ ให้เพิ่มในรายการใบรับรองที่เชื่อถือได้โดยใช้ GPO
เลือก สร้างใบรับรองที่ลงนามเอง .
ในวิซาร์ดสร้างใบรับรอง ระบุชื่อและเลือก เว็บโฮสติ้ง ประเภทของใบรับรอง
ใบรับรองที่ลงนามเองใหม่จะปรากฏในรายการใบรับรองที่มีอยู่ ใบรับรองนี้จะหมดอายุใน 1 ปี
วิธีสร้างไซต์ FTP ด้วยการสนับสนุน SSL
จากนั้นคุณต้องสร้างไซต์ FTP ใน ตัวจัดการ IIS คอนโซล คลิกขวาที่ ไซต์ และสร้างไซต์ FTP ใหม่ (เพิ่ม FTP )
ระบุชื่อและเส้นทางไปยังไดเรกทอรีรากของไซต์ FTP (ในกรณีของเราคือเส้นทางเริ่มต้น C:\inetpub\ftproot )
ในหน้าต่างถัดไปของวิซาร์ด ให้เลือกใบรับรองที่คุณสร้างไว้ในส่วนใบรับรอง SSL
ตอนนี้คุณต้องเลือกประเภทการตรวจสอบสิทธิ์และสิทธิ์การเข้าถึงของผู้ใช้เท่านั้น
เคล็ดลับ . หากผู้ใช้แต่ละรายต้องมีโฟลเดอร์รูท FTP ของตัวเอง คุณสามารถใช้คู่มือ วิธีสร้างเซิร์ฟเวอร์ FTP ด้วยการแยกผู้ใช้คลิกเสร็จสิ้นในหน้าต่างวิซาร์ด โดยค่าเริ่มต้น การป้องกัน SSL เป็นข้อบังคับและใช้ในการเข้ารหัสทั้งคำสั่งการจัดการและข้อมูลที่ถ่ายโอน
FTPS และไฟร์วอลล์
เมื่อใช้โปรโตคอล FTP จะมีการใช้การเชื่อมต่อ TCP 2 แบบ แบบหนึ่งสำหรับการถ่ายโอนคำสั่ง และอีกแบบสำหรับการถ่ายโอนข้อมูล สำหรับแต่ละช่องทางการถ่ายโอนข้อมูล พอร์ต TCP แต่ละพอร์ตจะถูกเปิดขึ้น ซึ่งหมายเลขจะถูกเลือกโดยไคลเอนต์หรือเซิร์ฟเวอร์ ไฟร์วอลล์ส่วนใหญ่อนุญาตให้ตรวจสอบทราฟฟิก FTP และหลังจากวิเคราะห์แล้ว จะเปิดพอร์ตที่จำเป็นโดยอัตโนมัติ เมื่อใช้การเชื่อมต่อ FTPS ที่มีการป้องกัน ข้อมูลที่ถ่ายโอนจะได้รับการเข้ารหัสและไม่อยู่ภายใต้การวิเคราะห์ ส่งผลให้ไฟร์วอลล์ไม่สามารถระบุได้ว่าต้องเปิดพอร์ตใดสำหรับการถ่ายโอนข้อมูล
เพื่อไม่ให้เปิดพอร์ต TCP ทั้งช่วง 1024-65535 ไปยังเซิร์ฟเวอร์ FTPS จากภายนอก คุณสามารถระบุช่วงของที่อยู่ที่ใช้สำหรับเซิร์ฟเวอร์ FTP ช่วงถูกระบุในการตั้งค่าไซต์ IIS ใน การสนับสนุนไฟร์วอลล์ FTP มาตรา.
หลังจากเปลี่ยนช่วงของพอร์ตแล้ว ให้เริ่มบริการใหม่ (iisreset )
กฎต่อไปนี้รับผิดชอบการรับส่งข้อมูลขาเข้าใน Windows Firewall:
- เซิร์ฟเวอร์ FTP (การรับส่งข้อมูล FTP)
- FTP Server Passive (FTP Passive Traffic-In)
- FTP Server Secure (FTP SSL Traffic-In)
ดังนั้น คุณจะต้องเปิดพอร์ต 21, 990 และ 50000-50100 (ช่วงพอร์ตที่คุณเลือก) บนไฟร์วอลล์ด้านหน้า
วิธีทดสอบ FTP ผ่านการเชื่อมต่อ SSL
หากต้องการทดสอบการเชื่อมต่อ FTPS ให้ใช้ Filezilla
- เริ่ม FileZilla (หรือไคลเอนต์อื่น ๆ ที่รองรับ FTPS)
- คลิก ไฟล์> ตัวจัดการไซต์ และสร้างการเชื่อมต่อใหม่ (ไซต์ใหม่) .
- ระบุที่อยู่เซิร์ฟเวอร์ FTPS (โฮสต์ ) ประเภทโปรโตคอล (ต้องการ ชัดเจน FTP เกิน TLS ) ชื่อผู้ใช้ (ผู้ใช้ ) และข้อกำหนดในการป้อนรหัสผ่านเพื่อตรวจสอบสิทธิ์ (ถาม สำหรับ รหัสผ่าน )
- คลิก เชื่อมต่อ และป้อนรหัสผ่านของคุณ
- คำเตือนของใบรับรองที่ไม่น่าเชื่อถือจะปรากฏขึ้น (ในกรณีที่ใช้ใบรับรองที่ลงนามเอง) ยืนยันการเชื่อมต่อ
- ต้องสร้างการเชื่อมต่อ และรายการต่อไปนี้จะปรากฏในบันทึก:
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established. - หมายความว่ามีการสร้างการเชื่อมต่อที่ปลอดภัยและคุณสามารถโอนไฟล์โดยใช้โปรโตคอล FTPS