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

Обычный подстановочный знак для ServerAlias ​​Apache

Возможны ли проблемы с использованием ServerAlias * в конфигурации Apache?

Я подумал об одном: ServerAlias основан на HTTP_HOST в заголовках HTTP, доставленных клиентом, которые, очевидно, могут быть изменены клиентом вручную. Есть ли какое-либо значение, которое пользователь может отправить через HTTP_HOST, который может нанести вред серверу?

Нет, насколько я понимаю, это краткий ответ. Как упоминалось Эса Йокинен Сам Apache не может пострадать от простого использования HTTP_HOST Однако это может создать проблемы для приложения, работающего на Apache. Отсюда возможность злонамеренных атак растет в геометрической прогрессии.

После прочтения этой статьи Практические атаки заголовка HTTP-хоста можно лучше понять как HTTP_HOST атаки могут произойти, и на что они могут повлиять. В статье пример атаки использует curl для подмены HTTP_HOST для включения лишнего непреднамеренного содержания. Вот аналогичный пример подключения к вашему локальному хосту и сохранения вывода:

curl -H "Host: fakehostPLUS\"onerror='alert(1)'rel='stylesheet'" localhost -o file.html

Что ж, в этом не должно быть необходимости. Если никто другой VirtualHosts сопоставить имя хоста, сервер будет использовать виртуальный хост по умолчанию, который является первым виртуальным хостом в конфигурации. Поэтому виртуальный хост по умолчанию обычно называется 000-default; просто стать первым в /etc/apache2/sites-enabled.

Таким образом, вы можете добиться того же результата, переименовав символическую ссылку в sites-enabled быть первым. Или вы могли бы сделать 000-default чтобы быть перенаправлением на ваш реальный домен.

Я не думаю, что в настоящее время в Apache есть известная уязвимость, которая могла бы использовать только HTTP_HOST. Однако это зависит от приложений, которые вы запускаете на виртуальном хосте по умолчанию, например скрипт PHP, который позволяет изменять некоторые используемые переменные через HTTP_HOST. Фактически, сделав 000-default просто перенаправление, вы также можете предотвратить этот (незначительный) риск.