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


8

Відповідно до найкращих практик безпеки, не слід допускати вхід у систему через SSH паролем або ключами. Натомість слід використовувати судо.

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

  • Чи може віддалене редагування файлів із кореневим доступ через SFTP бути сумісним із найкращими методами безпеки

  • Як слід встановлювати права доступу до файлів, групи користувачів та такі, щоб дотримуватися кращих практик безпеки

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

Сервер - Ubuntu 12.04.


То яка ваша ОС клієнта? Будь ласка, будьте більш конкретними у своєму питанні!
SPRBRN

Я не розумію, чому прямий вхід на основі ключа на основі ключа повинен бути менш захищеним, ніж sudo.
jpc

Відповіді:


2

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

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

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

У всякому разі, існує багато різних рішень проблеми. Це був лише один підхід.


1

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

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

Якщо ви хочете використовувати GUI-редактор, ви можете використовувати X-тунелювання. Ви повинні дозволити це у вашому файлі ssh conf, а потім скористатися -Xпараметром у командному рядку ssh.

ssh -X server.example.com

Потім ви можете відредагувати файл файлу редактором GUI:

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

Це дистанційне редагування, оскільки я мав на увазі сенс; Ви працюєте на сервері gedit, а не в локальному текстовому редакторі, який редагує файли через SSH / SFTP
Mikko Ohtamaa

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.