Домен, о котором я никогда не слышал, разрешается на моем веб-сайте [дубликат]

Я обнаружил (просматривая записи кеша mod_pagespeed), что совершенно случайный домен, о котором я никогда раньше не слышал, разрешается на моем веб-сайте.

Если я захожу в этот домен, мой сайт загружается. DNS для этого домена указывает на IP-адрес моего сервера.

Прямо сейчас у меня в конфигурации vhost указано *: 80, и, как я полагаю, я ошибаюсь.

Я немедленно изменил это на example.com:80, где example.com - мой домен. Предполагая, что это будет означать, что сервер будет отвечать и выполнять запросы только для моего доменного имени, а не любой запрос на порт 80.

Моя исходная конфигурация vhost;

<VirtualHost *:80>
    DocumentRoot "/var/www/example.com"
    <Directory "/var/www/example.com">
        Order allow,deny
        Allow from all
        Allowoverride all
    </Directory>
</VirtualHost>

Моя новая проверенная конфигурация;

Listen 80
ServerName example.com

<VirtualHost example.com:80>
    DocumentRoot "/var/www/example.com"
    <Directory "/var/www/example.com">
        Order allow,deny
        Allow from all
        Allowoverride all
    </Directory>
</VirtualHost>

Когда я пытался перезапустить apache с новой конфигурацией я получил следующую ошибку:

 * Restarting web server apache2 [Fri Mar 28  08:55:47.821904 2014] [core:error] [pid 5555] (EAI 2)Name or service not known: AH00549: Failed to resolve server name for 152.155.254.241 (check DNS) -- or specify an explicit ServerName
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80

Примечание. IP-адрес, начинающийся со 152 в приведенной выше ошибке, был немного отредактирован, но исходный IP-адрес в любом случае не был IP-адресом моего сервера.

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

Спасибо.

25
задан 28 March 2014 в 11:43
5 ответов

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

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName example.com
    # example.com configuration
</VirtualHost>
<VirtualHost *:80>
    ServerName baddomain.com
    Deny from all
</VirtualHost>

Вместо Запретить всем вы можете использовать Перенаправить постоянный /error.html, чтобы показать им настраиваемую ошибку сообщение.

Вы можете повторить второй VirtualHost для каждого домена, который хотите заблокировать, или, если их много, поместите его первым, чтобы сделать его VirtualHost по умолчанию, и сделать исключения для вашего домена (ов):

NameVirtualHost *:80
<VirtualHost *:80>
    # default VirtualHost
    Deny from all
</VirtualHost>
<VirtualHost *:80>
    ServerName example.com
    # example.com config
</VirtualHost>

Как что касается сообщений об ошибках, похоже, что Apache не смог разрешить имя хоста example.com при запуске или не смог найти вашу директиву ServerName . Не знаю почему. Вторая ошибка говорит о том, что порт 80 уже используется на вашем хосте.

30
ответ дан 28 November 2019 в 20:13

Apache serves as a sort of default the first domain you define.

If you want to serve up myowndomain.com with the content you desire and all other domains some behavior (perhaps redirecting to the corresponding page on your preferred domain), define the "catchall" domain first, handle traffic appropriately (I recommend redirecting to your real domain), and then define your real domain etc. with subsequent VirtualHosts.

4
ответ дан 28 November 2019 в 20:13

Лучше всего, если вы действительно хотите избежать того, чтобы случайные домены указывали на ваш веб-сайт, это вероятно, как ответил Эндрю Шульман и прокомментировал BeowulfNode42:

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

  • Раздача пресной страницы "При нормальных обстоятельствах вы не должны этого видеть, пожалуйста, свяжитесь с blah blah для Помогите." вид сообщения. Таким образом, если что-то нежелательное произойдет позже (неправильная конфигурация), у вас будет полезный запасной вариант.
  • Перенаправление с 301 на ваш реальный домен / веб-сайт, хотя, если возникнут определенные проблемы, вы можете закончить цикл перенаправления.
  • Создайте своего рода мини-сайт, который затем направляет пользователя на ваш реальный веб-сайт, возможно, объясняя, что домен, на который они попали, «больше не используется».

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

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

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

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

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

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

1
ответ дан 28 November 2019 в 20:13

Что касается того, «откуда, черт возьми, это другое имя для моего веб-сайта?», Любой может поместить любую запись A, которая ему нравится, на любое имя под доменом, который они контролируют. Вы можете немного исследовать, используя whois , чтобы узнать, кто зарегистрировал домен второго уровня, содержащий неправильное DNS-имя.

4
ответ дан 28 November 2019 в 20:13

Вы всегда должны сначала ставить VirtualHost по умолчанию, как во втором решении @Andrew Schulman.

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

Также многие (большинство?) атак будут приходить на ваш IP, а не на ваше имя хоста . Опять же, это сохранит чистоту ваших реальных журналов сайта и сразу отклонит их вместе с отказом от всех.

0
ответ дан 28 November 2019 в 20:13

Теги

Похожие вопросы