Безопасное удаленное редактирование корневых файлов через SSH

8

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

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

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

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

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

Сервер Ubuntu 12.04.

Микко Охтамаа
источник
Так какая у вас клиентская ОС? Пожалуйста, будьте более конкретны в своем вопросе!
СПРБРН
Я не понимаю, почему прямой вход в систему на основе ключей root должен быть менее безопасным, чем sudo.
jpc

Ответы:

2

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

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

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

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

thejhh
источник
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
Миккель
источник
Это удаленное редактирование, как я и говорил; Вы запускаете gedit на сервере, а не в локальном текстовом редакторе, который редактирует файлы по SSH / SFTP
Mikko Ohtamaa