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

Следует ли удалить apache ScriptAlias ​​/ cgi-bin / / usr / lib / cgi-bin / line в производственной среде?

Вот часть моей текущей конфигурации apache, которая относится к материалам cgi-bin. Эта информация была включена в конфигурацию по умолчанию в debian. Следует ли это удалить на действующей / производственной машине?

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

Да, его следует удалить в производственной системе - если (конечно) вы не используете его. Если вы не уверены, это, вероятно, означает, что вы его не используете.

Вот почему: в этой конфигурации cgi-bin/ указывает на /usr/lib/cgi-bin и все, что там есть, может быть выполнено. Это системный каталог, поэтому его содержимое обычно зависит от того, что вы установили с помощью системы управления пакетами. Любое программное обеспечение с веб-интерфейсом (например, какое-то программное обеспечение для мониторинга или управления) может иметь файл сценария cgi. Это означает, что простой установки такой программы достаточно, чтобы ЛЮБОЙ, имеющий доступ к этому веб-серверу (в случае общедоступного веб-сервера: все), мог получить доступ к этому веб-интерфейсу.

Предположим, вы только что установили какое-то программное обеспечение для управления системой, которое имеет веб-интерфейс в виде файла cgi в /usr/lib/cgi-bin и в качестве пароля по умолчанию используется что-то вроде «1234». Что еще хуже, это на общедоступном веб-сервере. Теперь каждый может открыть http://www.yourserver.com/cgi-bin/foowebadmin, войдите в систему с помощью «1234» и измените системную конфигурацию вашего сервера PRODUCTION.

Конечно, если вы используете эту функцию специально, вы позаботитесь о надлежащей безопасности / аутентификации и так далее, все будет в порядке.

Если вы не запускаете CGI из / usr / lib / cgi-bin /, тогда в этом нет необходимости. Тем не менее, это серийная машина, так что действуйте осторожно.

Лично я всегда удаляю vhost по умолчанию, который поставляется с debian, из каталога с поддержкой сайтов. Я также заменяю apache.conf чем-то подходящим для нашей среды.

Это файлы конфигурации, и dpkg (backend для apt-get) должен ожидать их изменения. Такие инструменты, как puppet, запускают apt-get таким образом, чтобы сохранить «старую конфигурацию» на случай, если пакет обновит свою конфигурацию, и если вы запустите apt-get в интерактивном режиме, он спросит вас, что делать, если он обнаружит изменение в файлах конфигурации. .

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

Чтобы разорвать флейм (извините, это действительно стоит обсудить в другом месте, но мне просто нужно это сказать): я считаю, что даже после установки демона он не должен запускаться автоматически. Для любого приличного сайта конфигурация по умолчанию почти всегда неверна. (Да, я знаю, что могу установить параметры dpkg, чтобы он не запускался, я бы предпочел, чтобы он был по умолчанию)