FTP v / s SFTP v / s FTPS


10

เรากำลังตั้งค่าเว็บเซิร์ฟเวอร์ที่พื้นที่ทำงานของเรา เรากำลังวางแผนที่จะติดตั้งเซิร์ฟเวอร์ FTP แต่ฉันติดอยู่กับโปรโตคอลที่จะใช้ - FTP, SFTP หรือ FTPS ฉันลองวนไปรอบ ๆ พยายามที่จะดูว่าโปรโตคอลมีอะไรบ้างมาเจอบทความเช่นนี้แต่ฉันไม่สามารถตัดสินใจได้ ต้องการการถ่ายโอนไฟล์ที่เรียบง่ายเพียงครั้งเดียวในขณะที่; อย่างไรก็ตามความปลอดภัยเป็นเรื่องที่น่ากังวลเนื่องจากไฟล์เซิร์ฟเวอร์นั้นมีจุดประสงค์เพื่อให้สามารถเข้าถึงได้จากอินเทอร์เน็ต

โปรโตคอลใดเหมาะที่สุดสำหรับการใช้งานของฉันและทำไม


คุณได้ติดตั้ง Apache ไว้กับ SSL แล้วหรือยัง? จากนั้นฉันจะเพิ่ม ... v / s WebDAV :-)
Chris Lercher

ไม่เราจะใช้ lighttpd เป็น HTTP daemon
susmits

หากคุณยังต้องการพิจารณา: WebDAV สามารถทำได้ด้วย lighttpd howtoforge.com/setting-up-webdav-with-lighttpd-debian-etch
Chris Lercher

ฉันกลัวว่าฉันไม่คุ้นเคยกับ WebDAV คุณสามารถอ้างถึงข้อได้เปรียบบางอย่างที่มีเหนือแผนอื่น ๆ ได้หรือไม่? หรืออาจเชื่อมโยงฉันกับบางแห่งที่สามารถอธิบายให้ฉันได้
susmits

1
อาร์กิวเมนต์แรกสำหรับฉันคือถ้าฉันมีเซิร์ฟเวอร์ HTTP (ที่มี SSL) อยู่แล้วเหตุใดจึงต้องตั้งค่าเซิร์ฟเวอร์เพิ่มเติมและทำไมจึงเปิดพอร์ตไฟร์วอลล์เพิ่มเติม ข้อโต้แย้งเพิ่มเติมสำหรับ WebDAV: howtoforge.com/webdav_with_ssl_and_two_factor_authentication
Chris Lercher

คำตอบ:


14

ดังนั้นสองทางเลือกที่มีสติในวันนี้คือ:

  1. WebDAV ดีสำหรับฝั่งเซิร์ฟเวอร์เหมาะสำหรับไคลเอ็นต์ Linux และ Mac OS แต่ไคลเอนต์ Windows inbuilt มีปัญหา

  2. SCP / SFTP ง่ายมาก ๆ ที่คุณมี ssh อยู่แล้วลูกค้า GUI สามารถใช้งานได้ง่าย (เช่น FileZilla)

แม้ว่า FTP จะยังอยู่ใกล้ ๆ ฉันจะหลีกเลี่ยงการตั้งค่าสิ่งใหม่ ๆ


1
Plus SFTP ทำงานผ่านพอร์ตเดียวเท่านั้น (22) ปัญหาน้อยกับไฟร์วอลล์และการกำหนดค่าของพวกเขา
JKim

5

ฉันคิดว่าคำตอบสั้น ๆ คือการใช้เซิร์ฟเวอร์ FTP ที่รองรับโปรโตคอลทั้งสาม คุณอาจต้องการหลีกเลี่ยงการอนุญาตให้ใช้ FTP เนื่องจากคุณกล่าวถึงความปลอดภัยเป็นข้อกังวลหลัก แต่ทั้ง SSH2 File Transfer Protocol (SFTP) และ FTP ผ่าน TLS / SSL (FTPS) ถือว่าเป็นโปรโตคอลการถ่ายโอนไฟล์ที่ปลอดภัย

SFTP เป็นที่ชื่นชอบในทุกวันนี้เนื่องจากรูปแบบความปลอดภัยที่แข็งแกร่งและการติดตั้งง่ายกว่า FTP และ FTPS แบบดั้งเดิม SFTP นั้นเป็นไฟร์วอลล์ที่ใช้งานง่ายกว่า FTP มากเพราะมันต้องการเพียงหนึ่งพอร์ตในการสร้างการเชื่อมต่อและดำเนินการกับไฟล์

FTP และ FTPS ต้องใช้หลายพอร์ต (หนึ่งพอร์ตเพื่อออกคำสั่งและพอร์ตแยกต่างหากสำหรับแต่ละรายการไดเรกทอรีหรือการถ่ายโอนไฟล์) เพื่อทำสิ่งเดียวกันที่ SFTP สามารถทำได้ด้วยพอร์ตเดียว ความต้องการในการตั้งค่าการส่งต่อสำหรับพอร์ตจำนวนมากอาจมีปัญหาในหลาย ๆ สภาพแวดล้อมและสามารถแก้ไขปัญหาได้ยากมาก อย่างไรก็ตาม FTP และ FTPS นั้นยาวกว่า SFTP มากและยังมีอุปกรณ์และไคลเอนต์จำนวนมากที่รองรับ FTPS เท่านั้น

ในแง่ของความปลอดภัยทั้งโปรโตคอล SFTP และ FTPS นั้นถือว่าปลอดภัย ข้อกำหนดในการเปิดหลายพอร์ตด้วย FTPS นั้นสามารถดูได้ว่าเป็นเรื่องความปลอดภัย แต่ไม่มีอะไรที่ปลอดภัยมากขึ้นเกี่ยวกับโปรโตคอล SFTP ผ่านโปรโตคอล FTPS

ข้อได้เปรียบที่แท้จริงเพียงข้อเดียวที่ฉันจะให้ FTPS ผ่าน SFTP คือประสิทธิภาพ SFTP ทำงานบนโปรโตคอลที่แข็งแกร่งและทั่วไปมากกว่า FTPS และความทนทานนั้นส่งผลกระทบต่อประสิทธิภาพที่สำคัญ มีค่าใช้จ่ายเพิ่มเติมที่เกี่ยวข้องกับ SFTP เพียงอย่างเดียวเนื่องจากมันทำงานบนโปรโตคอล SSH2 และเนื่องจาก SFTP ใช้กลไกการจับมือกันของตัวเอง หากคุณต้องการความเร็วในการถ่ายโอนสูงสุดคุณต้อง FTPS

หากต้องการสรุปทั้งหมดนี้ลองสนับสนุนทั้งหมด 3 เซิร์ฟเวอร์ FTP ที่ทันสมัยส่วนใหญ่มีการรองรับ FTP, FTPS และ SFTP อยู่แล้ว


2 พอร์ตสำหรับ (ใช้งานอยู่) FTP และ OS บางตัวมีโมดูลตัวช่วยที่จะจัดการกับตัวที่สองโดยอัตโนมัติ
Ignacio Vazquez-Abrams

ฉันเดาว่ามันขึ้นอยู่กับว่าคุณจะมองอย่างไร สำหรับรายการไดเรกทอรีเดียวหรือการถ่ายโอนไฟล์เพียง 2 พอร์ตเท่านั้นที่ใช้ (หนึ่งพอร์ตสำหรับการเชื่อมต่อการควบคุมและหนึ่งพอร์ตสำหรับการเชื่อมต่อข้อมูล) แต่ในทางปฏิบัติต้องมีพอร์ตใหม่ทุกครั้งที่มีการถ่ายโอนข้อมูลใหม่ พอร์ตใหม่นั้นอาจจำเป็นต้องเปิดขึ้นบนเซิร์ฟเวอร์ (สำหรับโหมดพาสซีฟ) หรือบนไคลเอนต์ (สำหรับโหมดที่ใช้งาน) แต่พอร์ตใหม่นั้นมักจะต้องใช้ ซึ่งหมายความว่าจำเป็นต้องมีช่วงของพอร์ตบนไคลเอนต์หรือเซิร์ฟเวอร์สำหรับการถ่ายโอนจำนวนมาก
อนุญาต

2

หลีกเลี่ยงการติดตั้ง FTP daemon อย่างแน่นอน ตราบใดที่คุณมี SSH คุณมี SFTP ไม่จำเป็นต้องตั้งค่าเพิ่มเติม เหตุผลเดียวที่จะใช้ FTP สำหรับคนทั่วไป

ฉันใช้เซิร์ฟเวอร์ FTP ที่สนับสนุน FTPES (FTP ผ่าน SSL ที่ชัดเจน) และฉันไม่เห็นข้อได้เปรียบของมันนอกเหนือจากความจริงที่ว่ามันมีอยู่แล้ว ฉันสืบทอดและบัญชีผู้ใช้และสิทธิ์ทั้งหมดทำงาน แต่สำหรับทุกอย่างฉันใช้ SSH / SFTP


2

ผู้ใดก็ตามที่สนใจตัวเลขบางส่วนที่นี่เป็นผลลัพธ์ของฉันจากการใช้งานการวัดประสิทธิภาพในเครือข่ายท้องถิ่นของฉัน ประสิทธิภาพของ SMB 2.1 ประมาณ 112 MB / s

เครื่อง: Intel (R) Core (TM) 2 Quad CPU Q8400 @ 2.66GHz / 8GB ram / Gigabit Local Network

FTP Mode                      MB/s CPU Usage/APP   Encrypted
-------------------------------------------------------------
FTP Transfer rate:            120  40.9  proftpd   No
FTPS (SSL) Transfer Rate:      55  99.8% proftpd   Yes
SFTP Transfer Rate:            30  100%  sshd      Yes
Putty SSH Tunnel, (Raw) FTP:   32  100%  sshd      Yes 

0

ฉันเห็นด้วยกับไรอัน SFTP หากมีคนจำนวน จำกัด เท่านั้นที่ใช้เซิร์ฟเวอร์ ถ้ามันจะเป็นเซิร์ฟเวอร์ที่เปิดให้สาธารณะมากขึ้นฉันจะทำให้ FTPES ใช้ได้ (ทั้งสองช่อง FTP ผ่าน SSL ที่ชัดเจน) เป็นตัวเลือกเท่านั้น FTPES มีความปลอดภัยทั้งสองช่องทาง (หากตั้งค่าเซิร์ฟเวอร์อย่างถูกต้อง) ทั้งในเรื่องการส่งชื่อผู้ใช้ FTP และรหัสผ่านและการถ่ายโอนข้อมูล อย่าคิดมากแค่ FTP Nuff กล่าวว่า.

แต่อีกครั้งถ้ามันเป็นเพียงแค่คุณ SFTP จะไม่เป็นไร

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.