Интеграция ISPmanager с Cloudflare

Материал из ISPWiki
Перейти к: навигация, поиск

Данная функциональность доступна для ISPmanager с версии 5.132.

Введение

Модуль Cloudflare (далее Cf) в ISPmanager - CDN-proxy сервис, предоставляющий широкий спектр услуг по ускорению работы сайта и его защите. На данный момент пользователям панели доступна функциональность бесплатной версии Cf, однако и ее возможности довольно обширны. Подробно ознакомиться с возможностями данного сервиса можно на сайте официальной документации. Данное руководство описывает первичную настройку модуля Cf под администратором панели, а также содержит инструкцию по работе с модулем для пользователя.

Установка и первоначальная настройка плагина

Установка и первоначальная настройка плагина осуществляется под Администратором (admin).

Установка плагина осуществляется в разделе бокового меню панели "Интеграция" -> "Модули". В списке модулей необходимо выбрать модуль "Cloudflare" и нажать кнопку "Установить". После этого панель перезапустится и плагин будет готов к настройке.

Предоставление пользователям доступа к сервису Cf возможно при наличии ключа Host Api Key. Для его получения необходимо зарегистрироваться в партнерской программе. С помощью ключа Host Api Key выполняются все запросы в Cf. После получения ключа необходимо снова зайти в список модулей (раздел "Интеграция" -> "Модули") и нажать на кнопку "Настроить". В открывшемся окне требуется ввести имя организации партнера (с учетом регистра) и полученный ключ Host Api Key.

Настройка Cf
После завершения настройки сервис Cf будет доступен пользователям.

Администратору доступен только просмотр доменов, подключенных пользователями к сервису Cf. Управление параметрами доменов осуществляется только под учетными записями пользователей.

Работа с плагином

Основная работа с плагином осуществляется под Пользователем (user).

Регистрация

Регистрация нового пользователя в Cf осуществляется в разделе панели "Инструменты" -> "Cloudflare". Предусмотрена возможность как создания нового пользователя Cf, так и подключения уже существующего. При регистрации необходимо указать "Почтовый ящик" и "Пароль" пользователя.

Добавление пользователя CF

Возможности работы с Cf

После регистрации пользователю будет предоставлена возможность подключения веб-доменов к сервису Cf. В меню "Cloudflare" (раздел панели "Инструменты" -> "Cloudflare") доступен список доменов, которые могут быть подключены к Cf.

Список доменов

В списке отображаются только домены второго уровня, т.к. работа с доменами более низких уровней не поддерживается в Cf. Для выбранной доменной зоны в ISPmanager доступна следующая функциональность:

  • Добавить - подключение к Cf;
  • Удалить - удаление из Cf;
  • Пользователь - информация о пользователе Cf;
  • Правила страниц - настройка правил для конкретных страниц;
  • DNS-записи - управление доменными записями;
  • Брандмауэр - управление правилами доступа к сайтам;
  • Настройки - изменение настроек;
  • Журнал - список уведомлений, связанных с работоспособностью доменной зоны;
  • Чистка кэша - удаление кэшированных данных;
  • Статистика - статистическая информация;
  • Обновить - обновление информации обо всех доменных зонах пользователя.

Добавить

Все домены необходимо подключать через панель. Домены, созданные через личный кабинет на сайте Cf, не будут активированы в модуле Cf панели ISPmanager. Для подключения доменной зоны к Cf необходимо выбрать "Тип подключения".

Добавление домена с типом подключения "Полное"

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

Возможны два типа подключения доменной зоны:

  • Полное подключение - доменная зона полностью подключается в Cf;
  • Частичное подключение - к Cf подключаются выборочно страницы из доменной зоны:
При выборе данного типа подключения необходимо также указать:
  • CNAME - запись для Cf, которая будет вести на один из IP-адресов подключаемой доменной зоны;
  • Псевдонимы - данное поле содержит все псевдонимы домена в панели. При необходимости можно указать дополнительные имена (через пробел).
Добавление домена с типом подключения "Частичное"

После успешного запроса:

  1. В журнале будут отображены новые доменные имена сервера имен. Данные имена необходимо указать вместо текущих в NS-записях на сервере имен, который содержит подключаемую доменную зону;
  2. Статус домена будет изменен с "Домен не подключен к Cloudflare" на "Идет процедура подключения домена к Cloudflare". Информация о статусе доменов автоматически обновляется раз в полчаса, либо может быть обновлена вручную нажатием кнопки "обновить".

При частичном подключении, для того чтобы Cf обрабатывал указанные при подключении псевдонимы, их A-записи в доменной зоне должны быть изменены на CNAME-записи, ведущие на указанные в ответе от Cf имена. Например: "www.domain1.ru" : "www.domain1.ru.cdn.cloudflare.net". При подключении модуль попробует сделать это автоматически, в случае ошибки будет выдано соответствующее уведомление.

Пример добавления записей в доменных именах ISPmanager

  cloudflare-resolve-a.domain1.ru.    3600     A (адрес Internet v4)         172.168.1.1 
  cloudflare-resolve-to.domain1.ru    3600     CNAME (каноническое имя)      cloudflare-resolve-a.domain1.ru.
  www.domain1.ru.                     3600     CNAME (каноническое имя)      www.domain1.ru.cdn.cloudflare.net.

Проверить работу Cloudflare можно утилитой dig:

  dig www.domain1.ru

При неактивном Cf результат будет следующего вида:

www.domain1.ru.  10782  IN   CNAME    www.domain1.ru.     

При активном Cf результат будет следующего вида:

www.domain1.ru.  10782  IN   CNAME    www.domain1.ru.cdn.cloudflare.net

Если присутствует '.cdn.cloudflare.net', значит Cf включен. В панели встроен механизм доступности данной записи в сети. Как только запись станет доступной во всемирной сети, зона в панели автоматически перейдет в статус "Включено".

Настройки

Первоначальные настройки отправляются в Cf автоматически в зависимости от настроек домена и сервера в целом:

  • Автоматический редирект HTTPS;
  • Поддержка IPv6;
  • HSTS;
  • SSL;
  • TLS 1.3.

При открытии формы загружаются настройки из Cf, а при подтверждении изменений соответственно сохраняются в Cf.

Из панели управления можно настроить следующие параметры:

Настройка домена
  • Уровень безопасности - выбранный уровень безопасности определяет, какие пользователи считаются подозрительными:
    • Не установлено;
    • Режим атаки - уровень безопасности, который стоит использовать только в случае, если веб-сайт находится под DDoS-атакой;
    • Высокий - проверяются все пользователи, проявившие подозрительное поведение в течение последних 14 дней;
    • Средний - проверяются только пользователи, представляющие опасную или умеренную угрозу;
    • Низкий - проверяются только пользователи, представляющие очень опасную угрозу;
    • Выключено - проверяются только пользователи, представляющие критическую угрозу.
  • Время доступа (сек.) - определяет время доступа, в течение которого посетитель с плохой IP-репутацией, прошедший проверку, может получать доступ к защищаемому веб-сайту. После истечения времени доступа, посетитель должен снова пройти проверку;
  • Минимизирование - уменьшение размера файлов, за счет удаления ненужных символов в файлах html, js, css (в зависимости от выбора);
  • SSL - шифрование данных, поступающих к веб-сайту и передаваемых от него по протоколу SSL:
    • Не установлено;
    • Отключено - актуально, если сайт недоступен через HTTPS. Включается перенаправление с HTTPS на HTTP;
    • Самоподписанный - актуально, в случае, если сервер с веб-сайтом поддерживает HTTPS, но установленный сертификат не соответствует домену или является самоподписанным;
    • Гибкий - актуально, в случае, если нет возможности настроить HTTPS на сервере с веб-сайтом. Посетители могут получать доступ к сайту по HTTPS, но запросы к серверу с веб-сайтом будут отправляться по HTTP-протоколу;
    • Существующий - актуально, в случае, если на сервере с веб-сайтом установлен сертификат, действующий и подписанный доверенным удостоверяющим центром или удостоверяющим центром Cf. Cf будет обеспечивать доступ по HTTPS и проверять при каждом запросе сертификат.
  • Загружать DNS-записи - при включении данной опции любые изменения DNS-записей будут загружены в Cf;
  • Всегда онлайн - при включении данной опции в случае недоступности сервера, доступ к веб-сайту будет обеспечиваться за счет статической копии из кэша Cf;
  • Мобильное перенаправление - при включении данной опции, посетители с мобильными устройствами автоматическими перенаправляются на страницу поддомена, оптимизированную специально для мобильных устройств:
    • Псевдоним для перенаправления - поддомен доменной зоны, на котором расположены страницы веб-сайта, оптимизированные для мобильных устройств;
    • Перенаправлять на главную - при включении данной опции перенаправление будет всегда осуществляться на главную страницу;
  • Режим разработчика - при включенном режиме, все запросы будут передаваться напрямую серверу, на котором расположен веб-сайт. Это позволяет проверить все изменения, прежде чем кэшировать их и может быть полезным, если требуется увидеть внесенные изменения непосредственно после их внесения. Режим разработчика автоматически отключается через три часа после его включения;
  • Обфускация почтового ящика - при включении данной опции производится обфускация почтовых адресов, содержащихся на страницах защищаемого сайта. Обфускация почтовых адресов позволяет преобразовать e-mail-адреса таким образом, что они будут видны пользователям, но скрыты от спам-ботов;
  • Защита хотлинков - при включении данной опции другим сайтам будет запрещено загружать изображения с защищаемого сайта. Это позволяет предотвратить отображение изображений на таких сатйах, как Google Images, Pinterest и т.д. Поддерживаемые изображения: gif, ico, jpg, jpeg, png;
  • Автоматический редирект HTTPS - при включении данной опции все запросы к доменной зоне по протоколу "HTTP" будут перенаправляться на протокол "HTTPS";
  • HSTS - заголовок, который позволяет настроить и применять политику веб-сайта в клиентских веб-браузерах. Обратите внимание: для использования HSTS необходимо сконфигурировать настройки HTTPS таким образом, чтобы они соответствовали политике HSTS. Также, отключение SSL с помощью других средств (веб-сайте Flexible SSL или перемещение сайта с Cf), может привести к недоступности веб-сайта для пользователей пока не истечет время кэширования HSTS-заголовков, либо до тех пор, пока HTTPS не будет подключен повторно при значении времени жизни заголовка HSTS "0".
    • Время (сек.) - указывает время в течение которого HSTS кэшируется и принудительно применяется веб-браузером;
    • Включить поддомены - при включении данной опции политика HSTS буде также применена к поддоменам родительского домена;
    • No sniff - добавляет в заголовок опцию “X-Content-Type-Options: nosniff”, которая позволяет предотвратить динамическое определение MIME-контента средствами Internet Explorer и Google Chrome;
  • TLS 1.3 - при включении данной опции разрешается использовать TLS-протокол последней версии - TLS 1.3. В TLS 1.3 реализованы наиболее устойчивые шифры, но протокол может не поддерживаться старыми версиями браузеров - соответственно будет использоваться только тогда, когда браузер клиента его поддерживает;
  • SSE - при включении данной опции определенный контент скрывается от подозрительных пользователей. Контент, который планируется скрывать в таких случаях, необходимо поместить в следующие SSE теги:
  • Поддержка IPv6 - при включении данной опции активируется поддержка IPv6 и соответствующий шлюз.

Статистика

В данном разделе отображается статистика доменной зоны за выбранный период (1 день, 1 неделя или 1 месяц): количество запросов, объем закэшированного трафика, количество угроз.

Отображение статистики

Правила страниц

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

Панель не настраивает следующие правила: Cache Level, WebSockets, Opportunistic Encryption, Rocket Loader, Ip Geolocation.

Обратите внимание на следующие особенности настройки правил страниц:

  • Включение любой настройки из группы "Перенаправление" делает невозможным редактирование прочих настроек;
  • После создания набора правил нельзя отредактировать его приоритет;
  • Бесплатная функциональность позволяет создать только три набора правил для страниц.
  • Для одной страницы можно создать только один набор правил.

Из панели управления можно настроить следующие правила:

Насройка правил страницы
  • Страница:
    • Адрес - URL-адрес страницы, для которой создаются правила;
    • Приоритет правила - в соответствии с приотетами правил опредеяется порядок, в котором они будут выполняться;
  • Перенаправление:
    • HTTPS - данная опция позволяет избежать проблемы со смешанным контентом, изменяя "HTTP" на "HTTPS" для всех ресурсов и ссылок веб-сайта, к которым возможен доступ по "HTTPS".
    • Перенаправление:
      • Адрес назначения - URL страницы, на которую будет осуществляться перенаправление;
      • Код возврата - определяет возвращаемый при перенаправлении код ("301 - постонное перенаправление", либо "302 - временное перенаправление")
  • Настройки:
    • Всегда онлайн - при включении данной опции в случае недоступности сервера, доступ к веб-сайту будет обеспечиваться за счет статической копии из кэша Cf;
    • Автоматический редирект HTTPS - при включении данной опции все запросы к доменной зоне по протоколу "HTTP" будут перенаправляться на протокол "HTTPS";
    • TTL браузера - время, в течение которого кэшированные файлы будут оставаться в кэше браузеров постетелей;
    • Проверка целостности браузера - при включении данной опции Cf определяет запросы с HTTP-заголовками, обычно используемыми спамерами, ботами и сканерами, такие как запросы с отсутствующим или нестандартнымклиентским приложением (User agent). В случае обнаружения угрозы, доступ будет заблокирован.
    • Уровень кэширования:
      • Не установлено;
      • Не кэшировать - кэширование не выполняется;
      • Без параметров запроса - данные кэшируются только тогда, когда строка запроса отсутствует;
      • Игнорировать параметры запроса - вне зависимости от строки запроса используются одни и те же кэшированные данные;
      • С параметрами запроса - для каждой новой строки запроса кэшируются новые данные;
      • Кэшировать все - кэшируются все данные;
    • Отключить функции - позволяет деактивировать любые из функций:
      • Защита - отключает "Обфускацию почтового ящика (Email Obfuscation)", "SSE (Server Side Excludes)", "Брандмауэр веб-приложений (WAF)", "Ограничение скорости (Rate Limiting)", защиту от атаки "Web scraping" ("Scrape Shield");
      • Улучшение производительности - отключает "Минимизацию (Minification)", "Ракетный загрузчик (Rocket Loader)", "Мираж (Mirage)", "Полировку (Polish)";
      • Приложения - отключение всех приложений Cf.
    • Обфускация почтового ящика - при включении данной опции производится обфускация почтовых адресов, содержащихся на страницах защищаемого сайта. Обфускация почтовых адресов позволяет преобразовать e-mail-адреса таким образом, что они будут видны пользователям, но скрыты от спам-ботов;
    • Уровень безопасности - выбранный уровень безопасности определяет, какие пользователи считаются подозрительными:
      • Не установлено;
      • Режим атаки - уровень безопасности, который стоит использовать только в случае, если веб-сайт находится под DDoS-атакой;
      • Высокий - проверяются все пользователи, проявившие подозрительное поведение в течение последних 14 дней;
      • Средний - проверяются только пользователи, представляющие опасную или умеренную угрозу;
      • Низкий - проверяются только пользователи, представляющие очень опасную угрозу;
      • Выключено - проверяются только пользователи, представляющие критическую угрозу.
    • SSE - при включении данной опции определенный контент скрывается от подозрительных пользователей. Контент, который планируется скрывать в таких случаях, необходимо поместить в следующие SSE теги:
    • SSL - шифрование данных, поступающих к веб-сайту и передаваемых от него по протоколу SSL:
    • Не установлено;
    • Отключено - актуально, если сайт недоступен через HTTPS. Включается перенаправление с HTTPS на HTTP;
    • Самоподписанный - актуально, в случае, если сервер с веб-сайтом поддерживает HTTPS, но установленный сертификат не соответствует домену или является самоподписанным;
    • Гибкий - актуально, в случае, если нет возможности настроить HTTPS на сервере с веб-сайтом. Посетители могут получать доступ к сайту по HTTPS, но запросы к серверу с веб-сайтом будут отправляться по HTTP-протоколу;
    • Существующий - актуально, в случае, если на сервере с веб-сайтом установлен сертификат, действующий и подписанный доверенным удостоверяющим центром или удостоверяющим центром Cf. Cf будет обеспечивать доступ по HTTPS и проверять при каждом запросе сертификат.

DNS-записи

Раздел предназначен для создания, редактирования и удаления записями в доменной зоне. В Cf не поддерживаются записи типа PTR и DNAME, а записи CAA находятся в стадии закрытого бета-тестирования. Обратите внимание, что при включении автоматической передачи при редактировании/создании записей в доменных именах, записи SRV должны иметь вид _%сервис%._%протокол%.домен.

Поддерживаются следующие протоколы:

  • TCP;
  • UDP;
  • TLS.

Для создания новой записи домена необходимо указать:

Создание DNS-записи
  • Тип - поддерживаются типы записей A, AAAA, NS, MX, TXT, SRV, CNAME;
  • Имя - имя записи (доменное имя, либо поддомен);
  • TTL - время обновления информации о записи;
  • IP-адрес - указанный IP-адрес будет ассоциироваться с доменным именем, указанным в поле "Имя";
  • Включить проксирование - при включении данной опции активируется проксирование записи (CDN).

Брандмауэр

Брандмауэр - позволяет создавать и управлять доступом к доменной зоне по правилам IP, страны или запроса.

При нажатии на кнопку обновить, правила синхронизируются с Cf.

Предусмотрены следующие возможности при создании правила:

Настройка брандмауэра
  • Тип источника:
    • IP или диапазон IP - поддерживается маска типа /16 и /24 для IPv4-адресов и типа /64, /48, и /32 для IPv6-адресов;
    • Страна;
  • Адрес источника - в зависимости от выбранного типа источника указывается IP, диапазон IP, либо код страны.
  • Действие - действие, предпринимаемые по отношению к источнику запроса, определяемому полем "адрес источника":
    • Разрешить - источник запроса всегда будет иметь доступ к защищаемому веб-сайту;
    • Проверка - прежде, чем источник сможет получить доступ к веб-сайту, ему необходимо пройти проверку CAPTCHA;
    • JS-проверка - в течение 5 секунд Cf определяет, является ли браузер пользователя реальным. Для проверки Cf отправляет математическую задачу, которая требует немного времени для вычисления. В случае успешного ответа браузер будет запомнен и доступ источнику разрешен;
    • Запретить - источник запроса никогда не будет иметь доступ к защищаемому веб-сайту.
  • Комментарий - необязательное поле, которое не несет информативной нагрузки.

Возможные трудности

  1. Данные доменных зон, измененные через личный кабинет Cf, в плагине панели будут отображены только после обновления статусов доменных зон (автоматически выполняется раз в полчаса). Либо необходимо обновить информацию вручную по нажатию кнопки "Обновить";
  2. Удаление домена в личном кабинете Cf приведет к невозможности выполнения действий над этим доменом в плагине (любое действие приведет к ошибке вида: Invalid zone identifier). При очередном обновлении информации о статусе доменных зон, удаленный домен перейдет в состояние неактивного;
  3. При использовании переменной $_SERVER['REMOTE_ADDR'] в пользовательских скриптах будет возвращаться IP проксирующих серверов. Вместо неё следует использовать $_SERVER["HTTP_CF_CONNECTING_IP"].