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

Каталог файлов журнала LAMP

Я разработчик, работающий в компании, и, хорошо это или плохо, их ИТ-отдел обслуживает сервер, на котором существует мое текущее веб-приложение. Это сервер LAMP, и прямо сейчас файл журнала доступа находится в одной папке за пределами каталога сервера, то есть я не могу получить к нему доступ через сценарии на сервере.

Я написал простой парсер RegEx на JS, но поскольку файл находится за пределами каталога сервера, я должен войти в файл и вручную скопировать его содержимое в другой файл на сервере.

Если у меня простой вопрос, прошу прощения, но я никогда не работал с настройкой сервера Apache и не имею права что-либо тестировать. Поиск в Google не дал того, что я искал.

Мой вопрос: в стеке LAMP можно напрямую переместить файл журнала доступа на сервер? Если да, то по какой причине мне не следует просить об этом? Имейте в виду, что сайт работает только внутри, и мне нужны только разрешения на чтение файла.

Я предполагаю, что ваш JS выполняется в сеансе браузера, а не на самом сервере. Если это не так, дайте мне знать.

Да, журналы можно переместить в DocumentRoot. Однако размещение журналов доступа в этом месте считается довольно серьезной уязвимостью безопасности. Это связано с тем, что злоумышленникам очень легко разместить настраиваемый текст в месте, которое рассматривается в DOM, что, в свою очередь, значительно упрощает эксплойты. Хуже того: плохое поведение одного сайта может испортить весь сервер.

Из-за этого запросы на размещение журналов доступа в месте под DocumentRoot рассматриваются с глубоким подозрением; особенно на общих серверах. Есть способы сделать это безопаснее, но в общей системе они вряд ли будут реализованы.

Получить доступ к журналам с сайта можно. Такие продукты как Сделай так. Я считаю, что это обычно делается через CGI, Passenger или другой исполняемый файл на стороне сервера, который имеет доступ к каталогам за пределами DocumentRoot. Эти методы могут быть более безопасными, чем прямой доступ, поскольку они ограничивают доступ к javascript.

Открытие файлов журнала в корне документа создает серьезную уязвимость на сервере LAMP - без сложных элементов управления это позволяет кто угодно для развертывания и запуска кода на сервере.

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

Как разработчик, вы должны иметь общее представление о том, как работают ваши целевые системы.

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