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

Правильная маска на веб-серверах Linux?

У большинства VPS есть команда из 1+ пользователей, которые ничего не делают, кроме настройки системы и работы с веб-сайтом и / или базой данных. Я предполагаю, что все члены команды будут группой, подобной «разработчикам», чтобы все они могли работать с файлами в корневом веб-каталоге по мере необходимости.

Имея это в виду, umask 007 быть намного лучше, чем значение по умолчанию 022? В конце концов, не должно быть никаких "других / мировых" пользователей, поскольку основная цель этих машин - обслуживать веб-страницы. Доступ есть у всех разработчиков, и никаких "гостей" не входит ...

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

Например, модуль PERL устанавливается через CPAN, который не устанавливает разрешения для общего чтения как часть установки, а затем веб-приложение не может его прочитать.

Действительно, основное преимущество усиления разрешений будет видно в многопользовательской системе. Тем не менее, важно особенно внимательно относиться ко всему, что легко доступно в рамках демона, доступного в Интернете.

Для усиления защиты часто лучше взглянуть на что-нибудь с SUID или общедоступную запись. Я ловлю себя на том, что проверяю разрешения и настраиваю их до наименее необходимых привилегий, как я обычно делаю. Когда я меняю umask, это часто делается для определенной цели, например, для определенного набора пользователей или когда файлы создаются программно.

Если вы ищете некоторые «лучшие практики» для вашего сервера и общие методы повышения безопасности, взгляните на Bastille. Если я правильно помню, там было что-то, что изменило umask по умолчанию.

Бастилия

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