Как я могу сделать мой файл конфигурации apache видимым на веб-странице? Есть ли короткий способ сделать это?

Это безопасно? Я имею в виду .. это должно быть видно только мне? Или это нормально, если никто не знает, что это за страница?

3 ответа3

1

Насколько это безопасно или нет, зависит от вашей конкретной конфигурации Apache. Но на самом деле вы не должны раскрывать детали конфигурации какой-либо системы широкой публике, если только у вас нет особой необходимости сделать это (то есть вы используете веб-сайт о безопасности Apache и используете сам веб-сайт в качестве примера).

Тем не менее, если вы действительно хотите это сделать, просто сделайте символическую ссылку в вашем веб-каталоге на ваш файл конфигурации. Что-то вроде:

ln -s /etc/apache2/apache2.conf /var/www/apache2.conf

Затем пользователи могут ввести http://www.yourdomain.example/apache2.conf и просмотреть его. Конечно, ваш файл конфигурации должен быть доступен для чтения всем.

Обратите внимание, что обычно в конфигурации Apache есть нечто большее, чем просто этот файл, вам нужно будет предоставить весь файл /etc /apache2 conf (ln -s /etc/apache2 /var/www/my-apache-configuration-directory), если Вы хотите увидеть полную конфигурацию.

Теперь, если вы имели в виду, что вы хотите, чтобы файл конфигурации отображался как часть веб-страницы, в основном вам потребуется скрипт CGI или другой исполняемый файл, который создает веб-страницу и включает содержимое этого файла как часть этого процесса. , Или вы можете создать внешний скрипт, который создает эту веб-страницу, а затем просто выводит куда-нибудь файл HTML. Вы можете запускать этот скрипт через cron очень часто (раз в день?) чтобы проверить наличие обновлений для вашего файла, или, если вы используете Linux, вы можете сделать некоторые сложные вещи с помощью inotify и заставить его вызывать скрипт перестройки всякий раз, когда вы изменяете файл. Или вы можете пойти по простому маршруту и использовать серверную часть.

Но на самом деле это плохая идея. Не делай этого.

0

Мой вопрос будет: зачем вам это внешне выставлять? Apache в значительной степени должен быть сервером «установил и забыл». Я не хочу слишком много предполагать, но, по-моему, если вы хотите это сделать, в вашей модели Apache что-то не так. Зачем вам нужно видеть это (но не иметь возможности его изменить) на расстоянии или достаточно часто, чтобы это стоило работы, необходимой для его выхода. Конфигурационные файлы могут включать в себя другие конфигурационные файлы, и вам нужно сделать все это доступным, чтобы убедиться, что вы видите все, что вовлечено в конфигурацию.

И да, это может быть опасно. Это ОГРОМНАЯ утечка информации злоумышленникам о том, каков ваш конфиг. Если у вас небезопасный конфиг, вы бы выставили его. Если вы хотите сделать это, пожалуйста, заблокируйте его. Не думайте, что, не ссылаясь на этот файл, люди не найдут его. Если вы делаете что-то подобное, создайте для него каталог и заблокируйте его паролями, ограничениями IP или обоими.

У меня есть два предложения для вас. Одним из них является предоставление подмножества config, которое доступно через модуль mod_info . Конфигурация уже есть в httpd.conf по умолчанию, которая отображает URL /server-info в модуль mod_info, но по умолчанию она закомментирована. Обязательно разберитесь с конфигами Allow/Deny и заприте их там, где только вы можете видеть данные. Он не раскрывает так много, как истинные конфиги, но должен быть заблокирован.

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

0

Нет, это небезопасно, пользователь www (или любой другой пользователь, работающий под apache) не должен иметь возможность читать файлы за пределами веб-дерева.

Лучший способ - скопировать файл в подпапку веб-корня (возможно, сделать это в периодическом издании с помощью cron) и защитить его с помощью .htaccess.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .