Это появилось в комментарии к другому вопросу, и я был бы рад, если бы кто-то мог объяснить мне причины этого.
Я предложил, чтобы Apache регистрировал ошибки для данного VHost в домашнем каталоге пользователя. Это было сбито, потому что это было небезопасно. Зачем?
Я попросил разъяснений в ответном комментарии, но все, что я получил, было то, что небезопасно иметь записи root в папке, не принадлежащей root. Опять же, кто-нибудь может объяснить?
Благодарность,
Барт.
linux
security
permissions
Барт Б
источник
источник
Ответы:
Поскольку пользователь зло может злонамеренно попытаться указать файл записывает в другое место . Это не так просто, но реально возможно.
root
Например, если пользователь найдет способ сделать символическую ссылку из предполагаемого журнала Apache, скажем, в / etc / shadow, вы внезапно получите непригодную систему. Apache (
root
) перезапишет учетные данные ваших пользователей, что сделает систему неисправной.Если файл access.log недоступен для записи пользователем, может быть трудно его взломать, но лучше избегать такой возможности!
Можно было бы использовать logrotate для выполнения работы , создавая ссылку на файл, который еще не существует, но этот logrotate перезапишет, как только журналы будут расти:
Примечание :
Символический метод только один из возможных атак, учитывая , как доказательство концепции.
Безопасность должна делаться с умом из Белого списка , а не из черного списка того, что, как мы знаем, является проблемой.
источник
+t
бит закрепления), даже если у них нет разрешения на запись в сами файлы (поскольку unlink () - это запись в каталог, а не файл). Даже если root создает файл заранее, владелец каталога может удалить его и заменить символической ссылкой на что-то другое.Хороший принцип отсутствия записи процессов в каталог, которому они не владеют или которому они не доверяют. Но в этом конкретном случае разумно полагать, что код Apache открывает журнал с помощью
O_NOFOLLOW
etc: вход в домашний каталог пользователя является обычной установкой.источник