เซิร์ฟเวอร์ SFTP: ควรใช้ระบบย่อย sftp ภายในหรือปลั๊กอิน ProFTPD ดีกว่าหรือไม่


11

ฉันได้รับมอบหมายให้ติดตั้งเซิร์ฟเวอร์ SFTP ใหม่ ต่อไปนี่คือการดำเนินการที่ง่ายมากเพียงแค่ใช้internal-sftpบทบาทของบริการ SSH ที่แพร่หลาย (พร้อม chrooting) ก็เพียงพอที่จะมีเซิร์ฟเวอร์ SFTP ที่เชื่อถือได้

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

ในขณะนี้บริการที่จำเป็นเท่านั้นคือ SFTP อย่างไรก็ตามฉันกำลังเล่นล่วงหน้าและฉันต้องการใช้โซลูชันที่ไม่เพียง แต่สามารถทำงานร่วมกับ SFTP แต่ยังมี FTP / S ด้วย

เมื่อพิจารณาว่าฉันจะ chroot ผู้ใช้ภายในบ้านของพวกเขาคุณรู้สึกอย่างไรเป็นทางออกที่ดีกว่า

  1. ใช้ SSH internal-sftpและเซิร์ฟเวอร์ FTP แบบสแตนด์อโลน ( vsftpdหรือproftpd) สำหรับบริการ FTP / S
  2. ใช้บริการ ProFTPD กับปลั๊กอินที่เกี่ยวข้องเท่านั้น

1
นี่อาจเป็นไปตามความคิดเห็น หากคุณไม่ได้ใช้internal-sftpของsshdคุณอาจจะต้องใช้ SFTP ในที่แตกต่างกันกว่าพอร์ต deffault (ถ้าคุณยังต้องการ sshd) อย่างแน่นอนซึ่งเป็นปัญหาการใช้งาน
Jakuje

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

1
ฉันไม่แน่ใจว่า "ยังไม่ทดลอง" คือการตัดสินที่ยุติธรรมของmod_sftpโมดูลของ ProFTPD มีหลายเว็บไซต์ที่ใช้งานจริงในชีวิตประจำวัน
Castaglia

ขอบคุณสำหรับความคิดเห็น ดังนั้นmod_sftpมักใช้มากกว่าฉันว่า? ยิ่งใหญ่ อย่างไรก็ตามฉันจะไม่ตัดสินmod_sftpว่ายังไม่ได้ทดสอบมันเป็นเพราะเหตุนี้ฉันจึงใช้คำพูด ฉันจะตั้งชื่อใหม่เป็นส่วนหนึ่งของคำถาม
shodanshok

คำตอบ:


4

เซิร์ฟเวอร์ sftp ของ SSH มีข้อกำหนดเพิ่มเติมบางประการสำหรับไดเรกทอรี chroot เช่น ผู้ใช้ไม่สามารถเข้าถึงการเขียนไปยัง chroot dir ในสภาพแวดล้อมบางอย่างซึ่งอาจเป็นปัญหา

หากคุณต้องการ ftp / ftps ฉันขอแนะนำให้ใช้ mod_sftp ต่อไป เราใช้มันในการผลิตบนเซิร์ฟเวอร์ประมาณ 20 แห่งที่มีบัญชีมากกว่า 10k บัญชีที่มีปัญหาเกือบทั้งหมด (sftp เป็นโปรโตคอลที่ใช้น้อยที่สุด) ข้อเสียอาจเป็นเพราะไม่รองรับวิธีการตรวจสอบรหัสผ่าน แต่รองรับคีย์ rsa และแป้นพิมพ์แบบโต้ตอบดังนั้นจึงเป็นเพียงปัญหาสำหรับไคลเอนต์เก่ามาก


20 servers with over 10k accounts- ขอบคุณมากสำหรับรายงานของคุณขอบคุณมาก เกี่ยวกับความแตกต่างในสิทธิ์ในการเขียนบ้านของผมอยู่แล้วทำงานรอบ ๆ ;)
shodanshok

3

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

คุณสามารถกำหนดค่า proftpd เพื่อสนับสนุนรหัสผ่าน / คีย์อย่างใดอย่างหนึ่งหรือทั้งสองอย่างด้วย mod_sftp หากคุณรวมโมดูล sftp_pam ต่อไปนี้เป็นตัวอย่างการกำหนดค่าที่เปิดใช้งานทั้งสอง:

# Include all available modules
Include /etc/proftpd/modules.conf

<Global>
  <IfModule mod_sftp.c>
    <IfModule mod_sftp_pam.c>
      SFTPPAMEngine on
      SFTPPAMServiceName sftp
    </IfModule>

    SFTPEngine on
    SFTPLog /var/log/proftpd/sftp.log

    # Configure both the host keys
    SFTPHostKey /etc/ssh/ssh_host_rsa_key
    SFTPHostKey /etc/ssh/ssh_host_dsa_key

    SFTPAuthMethods publickey password keyboard-interactive
    SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u

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