Назад | Перейти на главную страницу

предотвратить изменение файлов пользователями: безопасен ли этот метод?

Сегодня мне было интересно, есть ли способ заставить пользователя без полномочий root иметь конкретный authorized_keys файл (среди других разумных файлов). Я придумал это решение.

Пока этот подход, кажется, работает. Пользователь не может изменять / удалять файлы, и нет риска, что пользователь оставит свою домашнюю папку доступной для чтения / записи (это кажется причиной StrictModes), потому что он не владеет своим домашним каталогом.

Возникает вопрос: я что-то упускаю? Можно ли это обойти? Есть ли недостатки?

Я бы оставил StrictModes включенным. Он предназначен для того, чтобы затруднить замену файла AuthorizedKeys другим пользователем. Возможно, вы защитили этого пользователя, но все остальные пользователи уязвимы.

Существует множество инструментов, которые можно использовать для восстановления нормальной конфигурации в случае ее поломки. Я использовал cfengine. puppet это популярная альтернатива. Даже если пользователь изменит свои настройки, инструмент вернет конфигурацию в нормальное состояние. При желании он может предупредить, что изменение было необходимо.

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

Выглядит нормально, но в Linux, вероятно, всегда есть способ обойти это, потому что, как только у вас есть учетная запись, вы повышаете свой статус. намного проще, чем взломать, если вы не доверяете своим пользователям. Если вы действительно обеспокоены, я бы предложил какую-то ограниченную или ограниченную оболочку. Они также не защищены от взлома, но, как правило, помогают в большинстве случаев.

Вы можете немного усложнить пользователю работу с файлом chattr + i, чтобы сделать его неизменяемым.