![Определяем IP за Cloudflare](https://stackoff.ru/wp-content/uploads/2015/02/cloudflare1-602x341.jpg)
Немного о CloudFlare
Cloudflre за последнее время стал очень популярен. Основное внимание людей сервис привлекает бесплатными SSL сертификатами, удобной панелью для редактирования DNS записей и хорошей системой кеширования ресурсов.
Что делать, когда нужен IP-адрес ресурса, а трафик идет через Cloudflare?
DNS
Просмотр DNS записей является наиболее популярным способом определения адреса сервера. Тут всё ясно:
Unix
dig -t ANY site.com
Windows
nslookup -type=ANY site.com
Почта
Популярные движки умеют работать через сторонние SMTP серверы, а эти серверы любят отправлять в заголовках ип-адрес отправителя. На StackOverflow находил информацию о том, что Gmail не выдает IP отправителя – это враньё. Gmail отправляет IP адрес отправителя в заголовках.
Все что нам нужно – получить письмо от сервера. Тут всё зависит от фантазии.
Использование информации из сертификата
Один серт на несколько доменов – это норма.
В стандарте X.509 есть расширение Subject Alternative Name (SAN), позволяющее указать список имен подтверждаемых данным сертификатом. Именно это расширение используется в CF.
Заглянув в информацию о сертификате (в Firefox: Инструменты -> Информация о странице -> Защита -> Просмотреть сертификат -> вкладка подробности) видим список доменов.
![Список субъектов сертификата](https://stackoff.ru/wp-content/uploads/2015/02/likes-com-sertificate-1024x526.jpg)
Когда проверял сайты на своем аккаунте, оказалось так, что почти все мои домены были в этом списке альтернативных имен, что является косвенным определением доменов одного аккаунта на CF. Проверяя домены из списка может попасться тот, который уже поможет в определении реального адреса сервера, например через те же поддомены.
Ближе к делу
Найти реальный пример не составило труда. За поиском домена сходил в гости к Кребсу. В посте указан домен grimbooter[dot]com, который и проанализируем.
![Нужный домен](https://stackoff.ru/wp-content/uploads/2015/02/grimbooter-1024x365.jpg)
Пройдемся по нему перечисленными выше методами.
![Запрос через DIG](https://stackoff.ru/wp-content/uploads/2015/02/dns-request-1024x373.jpg)
Две A записи указывают на IP из диапазона cloudflare, но почтовая MX запись ведет на интересный поддомен. Проверим.
![Запрос на поддомен](https://stackoff.ru/wp-content/uploads/2015/02/dns-request-to-subdomain.jpg)
В результате получаем реальный IP-адрес сервера.
![Адрес получен](https://stackoff.ru/wp-content/uploads/2015/02/result-1024x587.jpg)
Для проверки почты рассмотрим домен из того же поста Кребса – thehosted[dot]me.
После регистрации на почту приходит письмо. Посмотрим заголовки (в Gmail: меню сообщения -> показать оригинал).
![Заголовки письма](https://stackoff.ru/wp-content/uploads/2015/02/check-mail-records.jpg)
2 replies to “Немного о CloudFlare”
Onth
Понравилось руководство
С удовольствием почитал бы размышления по поводу определения реальных серверов, использующих различные балансировщики нагрузок, к примеру apache dispatcher/nginx dispatcher.
VY_CMa
Мыслей много, опыта тоже, мало только времени. В ближайшем времени планирую оживить блог.