Как безопасный сохраняет некорневые находящиеся в собственности сценарии в/etc/init.d?

complete -p ls

или плоскость complete перечислять все.

15
05.02.2014, 19:35
2 ответа

То, что сразу приходит на ум, является неимущей пользовательской способностью выполнить вещи на начальной загрузке как корень, который желателен взломщикам что:

  • Хочу нарастить полномочия других учетных записей
  • Хочу использовать Ваш сервер для хостинга сервиса жулика
  • Хочу запустить ботов IRC/спама если перезагрузки сервера
  • Хочу проверить с помощью ping-запросов корабль-носитель, чтобы сказать, что "я бодрствую снова", и, возможно, загрузите новую полезную нагрузку
  • Хочу очистить их дорожки
  • ... другая вредность.

Это возможно, если Ваш неимущий пользователь так или иначе скомпрометирован, возможно, через другой сервис (http/etc). Большинство взломщиков будет быстро работать ls или find на / всем в /etc только, чтобы видеть, существуют ли такие возможности, существуют оболочки, записанные на различных языках, которые они используют, который делает это простым.

Если Вы управляете сервером удаленно, главным образом через SSH, существует очень хороший шанс, что Вы не будете даже видеть это, если Вы не осмотрите init сценарий, потому что Вы не будете видеть вывода при начальной загрузке (хотя, необходимо использовать что-то, что проверяет хеши тех сценариев против известных хешей, чтобы видеть, изменилось ли что-то, или программное обеспечение управления версиями, и т.д.),

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

17
27.01.2020, 19:49
  • 1
    tl; доктор: Если Вы делаете это, некорневой пользователь так же хорош как корень на следующей начальной загрузке. Вы просите быть pwned. –  Warren Young 30.01.2014, 12:38

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

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

9
27.01.2020, 19:49
  • 1
    При Сохранении и сценариев и даже файлы данных конфигурации имеющими версию в конфигурации/системе управления версиями являются превосходной идеей, даже не рассматривая, могла ли система быть поставлена под угрозу. –  ChuckCottrill 30.01.2014, 21:51
  • 2
    Действительно - я использовал его для фиксации ошибок о нескольких величинах чаще, что я использовал его для фиксации поставленной под угрозу системы. –  Jenny D 31.01.2014, 08:56
  • 3
    . Поскольку здесь главным образом преданный пользователь использует это приложение, таким образом, sudo является работой quitely и этим, что я делал с долгого времени. НО я - ДЕЙСТВИТЕЛЬНО очень заинтересованная система управления версиями для конфигураций. Дорогая Jenny может Вы предоставлять мне любую ссылку для того, чтобы сделать так ИЛИ ЛЮБОЙ ПРИМЕР!! :). –  Akaks 31.01.2014, 09:10
  • 4
    Если бы Вы не хотите идти с полным puppet/chef/cfengine, и т.д. направляют, я лично использовал бы www.perforce.com. Мы использовали это для ~100 серверов во время, прежде чем марионетка существовала, и их лицензия оценки достаточно для одного сервера. Основное преимущество состоит в том, что Вы можете контроль файлы VC'd к любому месту в файловой системе вместо того, чтобы быть ограниченными одним подпутем. Другие опции являются joeyh.name/code/etckeeper, или использующий любой VC, объединенный со сценариями для перемещения файлов в надлежащий каталог. –  Jenny D 01.02.2014, 11:11

Теги

Похожие вопросы