лучший подход (безопасность), чтобы сделать некоторую работу администратора через веб-страницу в Linux? - PullRequest
1 голос
/ 23 мая 2010

Я хочу создать веб-инструменты администратора, которые позволят системному администратору запускать предварительно настроенные команды и сценарии через веб-страницу (простой и ограниченный веб-пользователь), каков наилучший подход?

Я уже начал с Ubuntu, устанавливая LAMP и дав пользователю привилегии root пользователя www-data !!! как я узнал (пожалуйста, проверьте ссылку) это действительно плохой шаг !!! так как же построить такую ​​веб-систему без риска для безопасности?

ура

Ответы [ 2 ]

3 голосов
/ 23 мая 2010

Я сделал что-то подобное пару лет назад. Это было (мне кажется, кажется) довольно безопасным и доступным только для ограниченного числа предварительно проверенных, аутентифицированных пользователей, но это все еще оставляло у меня неприятное чувство! Если вы можете избежать этого, я бы порекомендовал вам:)

У меня была база данных, расположенная между веб-уровнем веб-интерфейса и сценарием, который фактически выполнял действия. Соответствующая таблица содержала символическое имя команды и необязательный числовой аргумент, которого было достаточно для моих нужд. Это позволяет вам проверять то, что было выполнено, обеспечивает быстрый и грязный способ заставить пользователей, не принадлежащих к www, что-то делать, и означает, что если сайт скомпрометирован, они ограничены структурой БД (отчасти) и сценарием, который извлекает данные это.

Данные из БД могут быть прочитаны демоном, работающим в отдельной непривилегированной учетной записи. Демон извлекает и очищает данные из БД и отображает «команду» в фактический исполняемый файл (с жестко закодированной картой, поэтому команда A выполняет A, команда B выполняет foo, а все остальное будет помечено как ошибка). Учетная запись может быть заблокирована с помощью AppArmor (или SELinux, я думаю), чтобы предотвратить выполнение, чтение или запись того, чего вы не ожидаете. У вас есть система, которая предупреждает вас о любых ошибках либо демона, либо AppArmor / SELinux.

Исполняемые файлы, которые запускает демон, могут быть настроены при необходимости, или вы можете использовать механизм sudoers, чтобы позволить непривилегированной учетной записи выполнять их без пароля.

1 голос
/ 23 мая 2010

Я уже начал с Ubuntu, устанавливая LAMP и предоставляя пользователю привилегии root для www-data

Не делайте этого.

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

Обычно это плохая идея.

SSHтвой лучший друг.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...