====== Cloudflare ====== ===== Список IP адресов CloudFlare ===== https://www.cloudflare.com/ips/ ==== IPv4 ==== https://www.cloudflare.com/ips-v4 173.245.48.0/20 103.21.244.0/22 103.22.200.0/22 103.31.4.0/22 141.101.64.0/18 108.162.192.0/18 190.93.240.0/20 188.114.96.0/20 197.234.240.0/22 198.41.128.0/17 162.158.0.0/15 104.16.0.0/12 172.64.0.0/13 131.0.72.0/22 ==== IPv6 ==== https://www.cloudflare.com/ips-v6 2400:cb00::/32 2606:4700::/32 2803:f800::/32 2405:b500::/32 2405:8100::/32 2a06:98c0::/29 2c0f:f248::/32 ===== Не работает почта через Cloudflare ===== Это не баг, это фича. Cloudflare и не должен кэшировать почтовый трафик. Поэтому нужно [[https://support.cloudflare.com/hc/en-us/articles/200168876-My-email-or-mail-stopped-working-What-should-I-do-|выключить облако в CF и сделать его серым]]. И всё сразу начнёт работать. ===== mod_cloudflare ===== Код на github: https://github.com/cloudflare/mod_cloudflare\\ Готовые пакеты и инструкция по установке: https://www.cloudflare.com/technical-resources/#mod_cloudflare **Ссылки на RPM/DEB** RHEL/CentOS/CloudLinux * [[https://www.cloudflare.com/static/misc/mod_cloudflare/centos/mod_cloudflare-el7-x86_64.latest.rpm|RHEL/CentOS/CloudLinux 7 (64-bit)]] * [[https://www.cloudflare.com/static/misc/mod_cloudflare/centos/mod_cloudflare-el6-x86_64.latest.rpm|RHEL/CentOS/CloudLinux 6 (64-bit)]] Debian * [[https://www.cloudflare.com/static/misc/mod_cloudflare/debian/mod_cloudflare-jessie-amd64.latest.deb|Debian 8 (64-bit)]] * [[https://www.cloudflare.com/static/misc/mod_cloudflare/debian/mod_cloudflare-wheezy-amd64.latest.deb|Debian 7 (64-bit)]] ===== Добавить IP в whitelist для WAF ===== Firewall → Firewall Rules → Field: IP Address → Operator: is in → Value: список адресов → Then... Bypass. [[https://help.intruder.io/en/articles/4255978-how-to-whitelist-intruder-in-cloudflare|Подробнее]] ===== Доступ только по 80 и 443 ===== Проблема: CF проксирует by design не только 80 и 443 порт, но ещё и порты cPanel/Plesk (8080, 8880, 2052, 2082, 2086, 2095, 2053, 2083, 2087, 2096, 8443). Об этом подробнее [[https://support.cloudflare.com/hc/en-us/articles/200169156-Identifying-network-ports-compatible-with-Cloudflare-s-proxy|здесь]] и [[https://blog.cloudflare.com/cloudflare-now-supporting-more-ports/|здесь]]. В результате на сайт можно попасть к примеру по адресу https://foobar.com:8443 Первое решение: включить WAF правило "100015 Anomaly:Port - Non Standard Port (not 80 or 443)" в разделе Firewall → Managed Rules → Cloudflare Specials {{:linux:cloudflare_waf_100015_01.png?nolink|}} {{:linux:cloudflare_waf_100015_02.png?nolink|}} Второе решение: в разделе Firewall → Firewall Rules добавить * Rule Name: Port Block * Rule Action: Block (http.host eq "rtfm.wiki") and not cf.edge.server_port in {80 443} В документации CF указан [[https://developers.cloudflare.com/firewall/recipes/require-specific-http-ports|НЕВЕРНЫЙ пример]] (ошибка parse error) host eq "www.example.com" and not cf.edge.server_port in {80 443} Разве нельзя просто закрыть все эти порты? [[https://community.cloudflare.com/t/close-port-8443-on-sslxxxxxx-cloudflaressl-com/155714|Нет, нельзя]]. {{:linux:cloudflare_close_port.png?nolink|}} Итого. Доступ можно закрыть и пользователь будет получать сообщение "Error 1020 Access Denied", но при этом nmap всё равно будет показывать "Discovered open port 8443/tcp on 104.x.y.z" ===== CloudFlare __cfduid (secure cookie) ===== https://community.cloudflare.com/t/pci-scan-failed-cookie-does-not-contain-the-secure-attribute/1636 https://support.cloudflare.com/hc/en-us/articles/200170156 ===== Ссылки ===== * [[https://support.cloudflare.com/hc/en-us/articles/201897700-Getting-Started-with-CloudFlare-Recommended-First-Steps-for-all-CloudFlare-users|Getting Started with CloudFlare]] * [[https://support.cloudflare.com/hc/en-us/articles/200170166|General website security guidelines]] {{tag>cloudflare waf ddos безопасность}}