Мой сайт открывается по чужому доменному имени

"Мой сайт украли! Срочно заблокируйте мерзавца!" - так обычно кричат горе пользователи, которые не предприняли необходимых мер по защите своего сайта от мошенников.

Что произошло?

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

Итак, слабое место для данного типа "атаки" - это доступ к сайту напрямую по IP адресу сервера.
Что же происходит с технической стороны:
Поскольку Ваш сайт доступен напрямую по IP адресу и при вводе, к примеру, в адресную строку браузера: http://188.166.48.248 Вы видите свой сайт, то злоумышленники используют эту уязвимость в своих целях. Они заводят какой либо домен, прописывают в нем A-запись с IP-адресом Вашего домена, и вуаля - по доменному имени злоумышленника открывается Ваш сайт

Как защититься?

Есть несколько способов для защиты от воровства.

  1. Заблокировать доступ к сайту по IP-адресу.
  2. Сделать сайт заглушку, которая через некоторое время будет производить редирект на Ваш сайт.

Блокируем доступ к сайту по IP-адресу. Если у Вас nginx, то необходимо создать новый конфиг файл назвав его, к примеру 0-nobody.conf и разместив его в папке: /etc/nginx/sites-available (если у Вас нет никакой либо панели управления хостингом, в противном случае пути могут отличаться)
Далее необходимо написать в данный файл нечто типа:

server {  
    listen      80;
    listen      443;
    server_name <server_ip>;
    return      444;
}

Где <server_ip> это IP-адрес Вашего сервера. После этого перезапускаем nginx командой service nginx restart

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

<!DOCTYPE html>
<html>
<head>
  <title>Добро пожаловать!</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
</head>
<body>
<div class="container">
    <div class="row">
        <div class="col-md-push-3 col-md-6">
            <div class="error-template">
                <h1>Упс, Вы попали не туда</h1>
                <h2>Вы будуте автоматически перенаправлены на основной сайт</h2>
                <div class="error-details">
                    До автоматического перенаправления осталось: <span id='time'>5</span> секунд
                </div>
            </div>
        </div>
    </div>
</div>
<script>
    var count = 5;
    setInterval(function(){
        count--;
        document.getElementById('time').innerHTML = count;
        if (count == 0) {
            window.location = 'https://typaknote.ru'; 
        }
    },1000);
</script>
</body>
</html>