SFTP-сервер: краще використовувати внутрішню підсистему sftp SSH або плагін ProFTPD?


11

Мені доручено встановити новий сервер SFTP. По-перше, це дуже проста операція: internal-sftpдостатньо просто використовувати роль всюдисущої служби SSH (з хронотуванням), щоб мати надійний сервер SFTP.

Однак в моїй природі завжди намагатися принаймні два різних підходи для однієї і тієї ж проблеми, і я зрозумів, що я можу використовувати ProFTPDплагін sftp, щоб зробити те саме, з додатковою перевагою більш деталізованих параметрів, пов'язаних з передачею файлів (наприклад, пропускна здатність пропускної здатності. ). З іншого боку, цей плагін за замовчуванням не компілюється (а постачається в комплекті), і я хотів би уникати (можливо) "менш перевіреного" рішення.

На даний момент єдиною необхідною послугою є SFTP; однак я граю заздалегідь, і я хотів би реалізувати рішення, яке може працювати не тільки з SFTP, але і з FTP / S.

Зважаючи на те, що я збираюся хронізувати користувачів всередині їхніх будинків, як ви вважаєте, це краще рішення?

  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 ; Є багато сайтів, які насправді користуються ним щодня.
Касталья

Дякую за коментар Тож mod_sftpчастіше використовується, ніж я, хоча? Чудово. У всякому разі, я б не оцінив їх mod_sftpяк перевірений, саме тому я використав цитати. Я переформулюю цю частину питання.
shodanshok

Відповіді:


4

SSH-сервер SSH має деякі додаткові вимоги до chroot-каталогів, тобто. Користувач не може мати доступ до запису до chroot dir у деяких середовищах, це може бути проблемою.

Якщо вам також потрібні ftp / ftps, я б запропонував дати mod_sftp піти. Ми використовуємо його у виробництві на близько 20 серверах з більш ніж 10 к акаунтами з майже нульовими проблемами (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>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.