Назад | Перейти на главную страницу

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

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

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

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

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

  1. использовать SSH internal-sftp и автономный FTP-сервер (vsftpd или proftpd) для служб FTP / S
  2. используйте службу ProFTPD только с соответствующим плагином

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

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

Это более старый поток, но я просто хотел бы добавить для будущих читателей, что мы годами настраивали серверы для использования 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>