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

Запретить загрузку ключей ssh ​​с помощью vsftp

Я настраиваю vsftpd для загрузки с устройства в моей сети. FTP необходим по устаревшим причинам. Это то, что я не могу изменить, как бы сильно я этого ни хотел. Поэтому, пожалуйста, не предлагайте мне не использовать ftp! Этот интерфейс встроен в прошивку устройства, с которым я должен взаимодействовать, но не могу изменять или контролировать.

Моя проблема: я хочу предотвратить доступ к оболочке (или любой другой тип доступа, помимо передачи файлов) в максимально возможной степени.

Я настраиваю оболочку /usr/sbin/nologin. В интересах глубокой защиты (например, для защиты от случайных изменений в оболочке) меня интересуют любые другие идеи, которые могут у вас возникнуть.

Например, я рассматриваю возможность создания .ssh каталог в домашний каталог учетной записи, принадлежащий root:root режим 0550, с установленным неизменяемым битом. Это сделано для того, чтобы учетная запись устройства не могла настроить для себя доступ по SSH.

Есть ли лучший способ предотвратить загрузку ключей SSH через vsftpd? Есть ли какие-либо другие файлы или каталоги, которые вы бы "запретили" загружать в интересах безопасности?

Я бы сделал шаг назад и полностью отключил SSH для этой / этих учетных записей.

В твоем sshd_config, вы можете указать, какие пользователи могут входить в систему через SSH, или вы можете указать, какие пользователи не имеют доступа. Соответствующие ключевые слова:

AllowGroups
         This keyword can be followed by a list of group name patterns, separated by
         spaces.  If specified, login is allowed only for users whose primary group or
         supplementary group list matches one of the patterns.
AllowUsers
         This keyword can be followed by a list of user name patterns, separated by
         spaces.  If specified, login is allowed only for user names that match one of
         the patterns.

и их аналоги DenyUsers и DenyGroups.

Вы также можете запутать проблему, изменив имя файла авторизованных ключей ssh, чтобы даже если кто-то загрузил файл в .ssh/authorized_keys, SSH не будет использовать этот файл. Соответствующее ключевое слово

AuthorizedKeysFile
         Specifies the file that contains the public keys that can be used for user
         authentication.  

Или вы можете вообще отказаться от аутентификации по ssh-ключу, хотя я бы обычно этого не рекомендовал.

Дополнение:

Вы также можете использовать vsftpd deny_file возможность ограничить загрузку файлов в ftpd, и я бы посоветовал вам взглянуть на ваш pam конфигурация для блокировки пользователей от входа в систему с помощью других методов, кроме SSH.