Я спеціально назвав статтю так, щоб вона добре шукалася в Яндексі) Ну ладно, жарти в сторону. Часом виникають ситуації, коли потрібно зробити так, щоб за певним url відкривався зовсім інший сайт.
Є кілька способів досягти цього. Можна додати сайт в файл / etc / hosts (C: \ windows \ system32 \ drivers \ etc \ hosts), але не завжди це можливо. По-перше, палево на стороні клієнта. Багато інструменти та антивірусні засоби палять цей файл. По-друге, недостатня гнучкість. Якщо нам буде потрібно додати ще один фейковий сайт - доведеться знову модифікувати hosts, що може бути вже неможливо.
Ми ж будемо робити практично універсальний засіб - підміна DNS.
Крок 1. Встановлюємо BIND9 на наш сервер.
Ну ситуація нічим не ускладнюється, вибираємо сервер (та хоч віртуальну машину в локалке), або VDS який-небудь, що краще.
# Apt-get install bind9
Крок 2. Налаштовуємо BIND9
1. Файл /etc/bind/named.conf.options
options directory "/ var / cache / bind";
auth-nxdomain no;
listen-on-v6
forwarders 192.168.1.1;
8.8.8.8;
>;
forward first; #
>;
2. Файл /etc/bind/named.conf.local
zone "vk.com" type master;
file "/etc/bind/db.com";
>;
zone "1.168.192.in-addr.arpa" type master;
file "/etc/bind/1.168.192.in-addr.arpa.zone";
>;
4. Файл /etc/bind/1.168.192.in-addr.arpa.zone
5. Файл / etc / default / bind9
Крок 3. Ставимо заглушку на nginx
# Apt-get install nginx
Прописуємо собі dns нашого "злого" сервера. Все, що потрібно буде хакеру - прописати яким-небудь способом свій підставний dns-сервер.
Не буду зараз наводити способи продукування фейків сайтів, це легко. Ми будемо показувати стандартну заглушку nginx-а.
додаємо новий інстанси сервера:
Як робити сертифікати для себе - буде описано тут.
P.S. Якщо потрібно скинути кеш DNS на винде (записи беруться спершу з кеша, а потім вже запити з сервера) виконуємо команду:
> Ipconfig / flushdns