ข้ามไปที่เนื้อหาหลัก

Secure File Transfer Protocol คืออะไร

Secure File Transfer Protocol (SFTP) เป็นโปรโตคอลเครือข่ายมาตรฐานสำหรับการถ่ายโอนไฟล์อย่างปลอดภัยระหว่างระบบที่เชื่อมต่อ โปรโตคอลเครือข่ายคือชุดของกฎที่กำหนดไว้ซึ่งทำหน้าที่เป็นภาษาทั่วไปโดยไม่คำนึงถึงฮาร์ดแวร์หรือซอฟต์แวร์เฉพาะที่ใช้โดยอุปกรณ์ในเครือข่าย SFTP เพิ่มการยืนยันตัวตนและการเข้ารหัสในการถ่ายโอนไฟล์ ทำให้องค์กรสามารถแชร์ไฟล์ได้อย่างปลอดภัยและปฏิบัติตามข้อกำหนดการปฏิบัติตามกฎระเบียบสำหรับข้อมูลไฟล์ที่ละเอียดอ่อน

เหตุใดโปรโตคอลการถ่ายโอนไฟล์อย่างปลอดภัยจึงมีความสำคัญ

ความปลอดภัยและความลับของข้อมูลเป็นข้อกำหนดพื้นฐานสำหรับการถ่ายโอนไฟล์ผ่านเครือข่ายใด ๆ ไม่ว่าจะภายในเครือข่ายท้องถิ่นขององค์กร (LAN) หรือการถ่ายโอนผ่านอินเทอร์เน็ต โปรโตคอลการถ่ายโอนไฟล์อย่างปลอดภัยใช้ร่วมกับโปรโตคอลความปลอดภัยเครือข่ายทั่วไปอื่น ๆ เช่น HTTPS (Hypertext Transfer Protocol Secure) เพื่อให้มั่นใจถึงความปลอดภัยของข้อมูลไฟล์ในระดับเครือข่าย

SFTP ได้รับการพัฒนาเพื่อแทนที่ File Transfer Protocol (FTP) ซึ่งเป็นวิธีการถ่ายโอนไฟล์แบบดั้งเดิม ใช้สำหรับการถ่ายโอนไฟล์ที่ละเอียดอ่อนในแอปที่ใช้กันอย่างแพร่หลายของโลกเช่น Git, VSCode, Ansible, WordPress, และ AWS Transfer Family

S ใน SFTP คืออะไร

SFTP หรือที่เรียกอีกอย่างว่า SSH File Transfer Protocol เนื่องจากใช้โปรโตคอลการเชื่อมต่อ Secure Shell (SSH) S สามารถย่อมาจากทั้ง Secure และ Secure Shell

SSH

โปรโตคอล SSH เป็นโปรโตคอลการเชื่อมต่อแบบเข้ารหัสที่ใช้การยืนยันตัวตนสำหรับการสื่อสารของเครือข่าย SSH จัดการการส่งข้อมูลที่ปลอดภัย การยืนยันตัวตน และการเชื่อมต่อผ่าน TCP (Transmission Control Protocol) TCP เป็นหนึ่งในโปรโตคอลการส่งข้อมูลทางอินเทอร์เน็ตเป็นหลัก

SSH ช่วยให้มั่นใจได้ว่าผู้รับฟังระหว่างสองฝ่ายในเครือข่ายไม่สามารถถอดรหัสการสื่อสารที่เป็นความลับที่แชร์กันได้เมื่อมีการสร้างเซสชัน ตัวอย่างเช่น ผู้รับฟังบนเครือข่ายจะไม่สามารถดูรหัสผ่านหรือข้อมูลที่ระบุตัวตนของบุคคลได้ (PII) ที่ส่งผ่านการเชื่อมต่อด้วยการเข้ารหัส Secure Shell

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

โปรโตคอลการถ่ายโอนไฟล์ที่ปลอดภัยทำงานอย่างไร

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

สถาปัตยกรรมไคลเอนต์ - เซิร์ฟเวอร์

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

โครงสร้างพื้นฐานคีย์สาธารณะและคีย์ส่วนตัว

SFTP ใช้คีย์ SSH สาธารณะและคีย์ส่วนตัวเพื่อรับรองความถูกต้องเซสชันระหว่างไคลเอนต์และเซิร์ฟเวอร์ การใช้โครงสร้างพื้นฐานคีย์ SSH ช่วยให้การจัดการความปลอดภัยมีต้นทุนน้อยที่สุด ซึ่งเกี่ยวข้องกับไคลเอนต์ SFTP และเซิร์ฟเวอร์ SFTP เท่านั้น

พอร์ต 22 ตามค่าเริ่มต้น

SFTP ใช้พอร์ต 22 โดยค่าเริ่มต้นสำหรับการส่งข้อมูลที่เชื่อถือได้ด้วยการเชื่อมต่อ SSH ผ่าน TCP อย่างไรก็ตามคุณสามารถตั้งชื่อพอร์ตอื่นใน SFTP ในกรณีของการเชื่อมต่อที่มีอยู่บนพอร์ต 22

การกลับมาดำเนินการถ่ายโอนที่ถูกขัดจังหวะอีกครั้ง

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

คำสั่ง SFTP ทั่วไปมีอะไรบ้าง

ผู้ใช้สามารถดำเนินการคำสั่ง SFTP ผ่านอินเทอร์เฟซบรรทัดคำสั่ง (CLI) หรือทำตามเวิร์กโฟลว์แบบคลิกผ่านในแอปที่มี SFTP ในตัว ผู้ใช้ Windows, Mac และ Linux สามารถเข้าถึงบรรทัดคำสั่ง SFTP ผ่านแอปเชลล์ นี่คือคำสั่ง SFTP ที่มีประโยชน์โดยใช้เชลล์ bash

การเริ่มต้นและปิดเซสชัน SFTP

ผู้ใช้ sftp @hostname เช่น sftp dan@example.com

เปิดการเชื่อมต่อ SFTP ใหม่บนเซิร์ฟเวอร์ example.com พร้อมท์คำสั่งในเชลล์จะเปลี่ยนเป็น sftp> เพื่อระบุว่าเซสชันเริ่มขึ้นแล้ว มีตัวเลือกต่าง ๆ ที่คุณสามารถรวมไว้ในคำสั่งนี้ เช่น:

  • -P [หมายเลข] เพื่อระบุหมายเลขพอร์ต
  • -i [ไฟล์] เพื่อรวมไฟล์คีย์ส่วนตัว และ
  • -r เพื่อเปิดการถ่ายโอนไดเรกทอรีแบบซ้ำ

sftp exit ปิดเซสชัน SFTP

การถ่ายโอนไฟล์

get server_path_and_filename local_path คัดลอกไฟล์ที่กำหนดจากเซิร์ฟเวอร์ไปยังไดเรกทอรีที่ระบุ

เช่น get /projects/marketing/proposal.txt /newopportunities

put local_path_and_filename server_path ถ่ายโอนไฟล์ภายในไปยังไดเรกทอรีเซิร์ฟเวอร์ที่กำหนด

เช่น put /finances/invoices/march.txt /projects/marketing/payments

ในทำนองเดียวกันคำสั่ง reget และ reput จะดำเนินการโอนข้อมูลที่ถูกขัดจังหวะต่อ

การจัดการไฟล์ระยะไกล

  • chown user path เปลี่ยนความเป็นเจ้าของไฟล์หรือโฟลเดอร์ที่พาธที่กำหนดบนเซิร์ฟเวอร์ไปยังผู้ใช้ที่ระบุ
  • chmod number path เปลี่ยนสิทธิ์ของไฟล์หรือโฟลเดอร์ที่พาธที่กำหนดบนเซิร์ฟเวอร์
  • ls แสดงรายการไฟล์และโฟลเดอร์ในไดเรกทอรีเซิร์ฟเวอร์ปัจจุบัน
  • cd path นำทางไปยังไดเรกทอรีที่กำหนดบนเซิร์ฟเวอร์
  • mkdir dir_name สร้างโฟลเดอร์ใหม่บนเซิร์ฟเวอร์
  • rmdir dir_name ลบโฟลเดอร์ที่กำหนดบนเซิร์ฟเวอร์
  • rename old_file_name new_file_name เปลี่ยนชื่อไฟล์ที่กำหนดบนเซิร์ฟเวอร์
  • pwd แสดงไดเรกทอรีปัจจุบันบนเซิร์ฟเวอร์
  • lpwd แสดงไดเรกทอรีท้องถิ่นปัจจุบัน

SFTP เปรียบเทียบกับโปรโตคอลการถ่ายโอนไฟล์อื่นเป็นอย่างไร

SFTP เป็นหนึ่งในโปรโตคอลการถ่ายโอนไฟล์มาตรฐาน

SFTP เปรียบเทียบกับ FTPS

FTP Secure (FTPS) ใช้โปรโตคอล Transport Layer Security (TLS) และโปรโตคอล Secure Socket Layer (SSL)ทับบน File Transfer Protocol เพื่อดำเนินการถ่ายโอนไฟล์อย่างปลอดภัย การยืนยันตัวตนด้วย FTPS ขึ้นอยู่กับแนวทางปฏิบัติในการจัดการใบรับรอง SSL FTPS ถือว่าไม่ได้รับความนิยมอีกแล้ว

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

SFTP เปรียบเทียบกับ TFTP

Trivial File Transfer Protocol (TFTP) เป็นโปรโตคอลที่มีไม่ใช้ทรัพยากรมากสำหรับการถ่ายโอนไฟล์ที่ใช้สถาปัตยกรรมไคลเอนต์-เซิร์ฟเวอร์ TFTP ไม่มีมาตรการรักษาความปลอดภัยในตัวใด ๆ ดังนั้นจะต้องมีโปรโตคอลความปลอดภัยหรือการป้องกันแบบเลเยอร์สำหรับการถ่ายโอนไฟล์ในสภาพแวดล้อมทั่วไป

ในขณะที่ SFTP ใช้ในแอปพลิเคชันที่หลากหลาย TFTP มักจะใช้โดยตรงเฉพาะบนเครือข่ายท้องถิ่นที่ปลอดภัยเท่านั้นเมื่อตั้งค่าหรือบูตฮาร์ดแวร์ เฟิร์มแวร์ และระบบปฏิบัติการใหม่

แนวทางปฏิบัติที่ดีที่สุดในการใช้ SFTP คืออะไร

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

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

AWS สามารถรองรับข้อกำหนดดในการจัดเก็บไฟล์ของคุณได้อย่างไร

Amazon นำเสนอการจัดเก็บไฟล์ที่ปลอดภัยและโซลูชันการถ่ายโอนไฟล์ที่ปลอดภัย

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

Amazon Elastic File System (EFS) ให้บริการพื้นที่เก็บไฟล์คลาวด์แบบไม่ต้องใช้เซิร์ฟเวอร์และยืดหยุ่นเต็มรูปแบบซึ่งช่วยให้คุณสามารถสร้างระบบไฟล์ที่เข้าถึงได้จากอินสแตนซ์ Amazon Elastic Compute Cloud (EC2) และบริการคลาวด์ AWS อื่น ๆ โดยรองรับความหมายการเข้าถึงระบบไฟล์เต็มรูปแบบ เช่น ความสอดคล้องสูงและการล็อกไฟล์ คุณสามารถแชร์ข้อมูลไฟล์ได้โดยไม่ต้องจัดเตรียมหรือจัดการความจุและประสิทธิภาพ

AWS Transfer Family ให้การสนับสนุนที่มีการจัดการเต็มรูปแบบสำหรับการถ่ายโอนไฟล์ที่ปลอดภัยผ่าน SFTP, AS2, FTPS, FTP และเว็บเบราว์เซอร์เข้าและออกจาก Amazon S3 หรือ Amazon EFS โดยตรง คุณสามารถย้าย ดำเนินการอัตโนมัติ และตรวจสอบเวิร์กโฟลว์การถ่ายโอนไฟล์ของคุณได้อย่างราบรื่นโดยการรักษาการกำหนดค่าฝั่งไคลเอนต์ที่มีอยู่สำหรับการตรวจสอบสิทธิ์ การเข้าถึง และไฟร์วอลล์เอาไว้ – ดังนั้น สำหรับลูกค้า พันธมิตร ทีมงานภายในของคุณ รวมถึงแอปพลิเคชันของพวกเขาแล้ว จึงไม่มีสิ่งใดเปลี่ยนแปลง

เริ่มต้นใช้งานพื้นที่เก็บไฟล์บน AWS ด้วย การสร้างบัญชีฟรีวันนี้