SFTP сервер: лучше использовать SSH внутреннюю подсистему sftp или плагин ProFTPD?

11

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

Однако я всегда стараюсь использовать как минимум два разных подхода к одной и той же проблеме, и я понял, что могу использовать ProFTPDплагин sftp для того же, с дополнительным преимуществом более детальных параметров, связанных с передачей файлов (например, регулирование пропускной способности). ). С другой стороны, этот плагин не компилируется (и не связывается) по умолчанию, и я хотел бы избежать (возможно) «менее проверенного» решения.

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

Принимая во внимание, что я собираюсь найти пользователей в их домах, что вы считаете лучшим решением?

  1. использовать SSH internal-sftpи отдельный FTP-сервер ( vsftpdили proftpd) для служб FTP / S
  2. использовать сервис ProFTPD только с соответствующим плагином
shodanshok
источник
1
это, вероятно, основано на мнении. Если вы не используете internal-sftpиз sshd, вы, вероятно , придется использовать SFTP на различных чем deffault порта (если вы все еще хотите SSHd) , который, безусловно , вопрос практичности.
Jakuje
Привет, спасибо за ваш вклад. Я не в поисках мнений, а скорее для совета лучшей практики от кого-то, кто уже оценил два описанных варианта. Вы указываете на то, что прослушивающий порт TCP прав, но в этой настройке использование другого порта для SSH не является проблемой.
Шоданшок
1
Я не уверен, что «непроверенный» - это справедливое суждение о mod_sftpмодуле ProFTPD ; Есть много сайтов, которые фактически используют его ежедневно.
Касталья
Спасибо за комментарий. Так mod_sftpчаще используется, чем я? Отлично. Во всяком случае, я не буду судить mod_sftpкак непроверенный, именно по этой причине я использовал цитаты. Я перефразирую эту часть вопроса.
Шоданшок

Ответы:

4

Сервер sftp SSH предъявляет некоторые дополнительные требования к каталогам chroot, т.е. пользователь не может иметь права на запись в chroot dir в некоторых средах, это может быть проблемой.

Если вам также нужны ftp / ftps, я бы предложил попробовать mod_sftp. Мы используем его в работе примерно на 20 серверах с более чем 10 тысячами учетных записей с почти нулевыми проблемами (sftp - наименее используемый протокол). Недостатком может быть то, что он не поддерживает метод аутентификации по паролю, но он поддерживает клавиши rsa и интерактивную клавиатуру, поэтому это проблема только для очень старых клиентов.

Lazy404
источник
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>
Диоген Делайт
источник