8

Согласно рекомендациям по безопасности, не следует разрешать root-вход через SSH с паролем или ключами. Вместо этого следует использовать sudo.

Однако, если кто-то хочет использовать SSH (SFTP) для удаленного редактирования файлов конфигурации сервера, например, тех, которые живут в /etc (Apache, Cron, вы его называете), как это должно быть сделано?

  • Может ли удаленное редактирование файлов с правами root-доступа по протоколу SFTP быть совместимым с рекомендациями по безопасности

  • Как установить права доступа к файлам, группы пользователей и так, чтобы следовать рекомендациям по безопасности

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

Сервер Ubuntu 12.04.

3 ответа3

2

Если удаленное редактирование действительно необходимо, одним простым решением может быть сохранение копии /etc (или ее части) у другого локального пользователя и настройка системы для копирования изменений оттуда в настоящий /etc. Еще лучше было бы использовать git - или svn, или любую другую систему управления версиями по вашему выбору - и у вас также будет дополнительный журнал изменений.

Также возможно настроить chroot на SFTP и отключить обычную регистрацию для конкретной учетной записи - или ограничить регистрацию для этого пользователя только с указанных IP-адресов - с той же функцией OpenSSH (Match Group и т.д.). Об этом смотрите http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/

Однако, пожалуйста, помните, что большинство конфигурационных файлов в /etc позволяют получить root-доступ, просто отредактировав их. Я видел системы, сконфигурированные с помощью svn /git, для проверки правильности файлов конфигурации перед принятием изменений файлов - которые можно использовать для принятия только безопасных форматов конфигурации.

Во всяком случае, есть много разных решений этой проблемы. Это был только один подход.

1

Я не понимаю, почему было бы неправильно редактировать эти файлы через SSH. Я делаю это все время, например

sudo nano /etc/apache2/sites-available/default

Если вы хотите использовать графический редактор, вы можете использовать X-туннелирование. Вы должны разрешить это в файле ssh conf и затем использовать опцию -X в командной строке ssh.

ssh -X server.example.com

Затем вы можете отредактировать файл файла в графическом редакторе:

sudo gedit /etc/apache2/sites-available/default
0

Посмотрите этот ответ SO для примера того, как сделать это через туннель SSH в Sublime Text.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .