← Cloudflare Network Firewall / cloudflare-network-firewall / best-practices
Rozšířená sada pravidel
Pokud nemůžete exportovat stávající pravidla perimetrového firewallu, zvažte identifikaci kategorií systémů nebo skupin uživatelů, které se nacházejí na vašich prefixech Magic Transit. Například:
U každé z výše uvedených položek zvažte požadavky z hlediska povoleného přístupu k internetu. Povolte například vše, co je nutné pro legitimní provoz, a zbytek zablokujte.
Vytvořte seznamy pro použití v pravidlech Cloudflare Network Firewall
Další informace o seznamech najdete v Použít seznamy pravidel.
Seznam můžete také vytvořit z dashboardu z Konfigurace > Seznamy na vašem Domovská stránka účtu.
Endpoints (Uživatelská zařízení)
Endpoint zařízení nefungují jako servery, což znamená:
- Přijímají provoz ze standardních běžných portů, například
80nebo443směrem k jejich efemérním portům, nad32768v moderních operačních systémech (nad1025ve starších verzích Windows Server 2003 a Windows XP). - Spojení směřují ven, nikoli dovnitř, a proto nepřijímají pakety TCP SYN ani ACK.
- Obvykle potřebují pouze klientský TCP a UDP provoz, bez požadavku na příchozí ICMP.
Můžete například vytvořit seznam pro kombinaci obecného klienta TCP a klienta UDP, který povoluje externí pingy nebo traceroute, a obecné pravidlo pro veškeré ostatní protokoly a provoz.
Vytvořte seznam s názvem Endpointy a zadejte seznam endpointů nebo IP adres uživatelů, na které chcete v rámci pravidel odkazovat.
Doporučená pravidla
ID pravidla: 1
Popis: Koncové body (klienti) budou přijímat provoz určený pro efemérní porty. Blokuje příchozí provoz obsahující pouze SYN. (To znamená, že pakety SYN-ACK jsou povoleny.)
Shoda: ip.proto eq "tcp" and ip.dst in $endpoints and tcp.dstport in {32768..60999} and not (tcp.flags.syn and not tcp.flags.ack)
Akce: Allow
ID pravidla: 2
Popis: Endpointy (klienti) budou přijímat provoz určený pro efemérní porty
Shoda: ip.proto eq "udp" and ip.dst in $endpoints and udp.dstport in {32768..60999}
Akce: Allow
ID pravidla: 3
Popis: Povoluje provoz ICMP na cílové IP adresy v $endpoints seznam s typy ICMP:
- Type 0 = Echo Reply
- Type 3 = Destination Unreachable
- Type 11 = Time Exceeded
Shoda: ip.proto eq "icmp" and ip.dst in $endpoints and (icmp.type eq 0 or icmp.type eq 3 or icmp.type eq 11)
Akce: Allow
ID pravidla: 10
Popis: V opačném případě odepřete veškerý provoz do IP adres v $endpoints seznam
Shoda: ip.dst in $endpoints
Akce: Block
IP adresy interního routeru/firewallu
Dodržujte níže uvedené osvědčené postupy pro IP adresy rozhraní interních routerů nebo firewallů na vašich MT prefixech.
- Vytvořit seznam IP adres, Interní routery například s vašimi IP adresami.
- Pokud není ICMP potřeba, zablokujte ho.
- V případě potřeby povolte GRE/ESP, pokud zařízení používají tunely GRE/IPsec přes internet.
Doporučená pravidla
ID pravidla: 1 Popis: Povolte omezený příchozí provoz ICMP, včetně:
- Type 0 - Echo Reply
- Type 3 - Destination Unreachable
- Type 8 - Echo
- Type 11 - Time Exceeded
Shoda: ip.proto eq "icmp" and ip.dst in $internal_routers and ( (icmp.type eq 0 or icmp.type eq 3) or (icmp.type eq 11) or (icmp.type eq 8) )
Akce: Allow
ID pravidla: 2
Popis: Blokovat veškerý ostatní provoz směřující na tyto IP adresy
Shoda: ip.dst in $internal_routers
Akce: Block
Webové servery
Webové servery vyžadují pečlivé zvážení potřebných toků provozu. Provoz pro webový server funkce je potřeba navíc k tokům provozu, ve kterých webový server vystupuje v roli klienta.
Pokud je to možné, povolte požadované cílové IP adresy a porty pro webové servery a vše ostatní blokujte. Kromě portů pro webový provoz mohou být zapotřebí i další služby, například NTP/DNS.
Následuje příklad doporučených pravidel. Změny provádějte pouze podle svých konkrétních požadavků. Pokud například nevyužíváte ochranu Cloudflare Layer 7 a očekáváte provoz z webu směřující na vaše webové servery:
- Vytvořit seznam IP adres, webové servery například pro výpis IP adres vašich webových serverů.
- Povolte provoz webového serveru přicházející z internetu.
- Povolte provoz pro infrastrukturu nebo klientské toky provozu z internetu, například DNS a NTP.
- Blokujte veškerý ostatní provoz směřující na IP adresy webového serveru.
Doporučená pravidla
ID pravidla: 1
Popis: Umožňuje příchozí provoz HTTP/S z internetu s příznakem pouze SYN nebo pouze ACK (nikoli SYN/ACK)
Shoda: ip.proto eq "tcp" and tcp.srcport in {32768..60999} and ip.dst in $web_servers and tcp.dstport in {80 443} and not (tcp.flags.syn and tcp.flags.ack)
Akce: Allow
ID pravidla: 2
Popis: Umožňuje odpovědi UDP pro DNS a NTP webovým serverům
Shoda: ip.dst in $web_servers and ip.proto eq "udp" and udp.srcport in {53 123} and udp.dstport in {1024..65535}
Akce: Povolit, pokud je to nutné, ale zakázat, pokud dojde k útoku
ID pravidla: 3
Popis: Catch-all pravidlo, které blokuje veškerý ostatní provoz směřující na IP adresy webového serveru
Shoda: ip.dst in $web_servers
Akce: Block
Pokud používáte ochranu Cloudflare Layer 7, můžete alternativně povolit veřejné IP adresy Cloudflare jako zdrojové IP adresy směřující k cílovým IP adresám pro příchozí provoz HTTP/HTTPS. Toto doporučení fakticky nahrazuje pravidlo 1 z výše uvedeného příkladu.
Seznam IP adres Cloudflare naleznete v IP adresy Cloudflare ↗.
Doporučená pravidla pro provoz procházející přes Cloudflare proxy
Popis: Povolit příchozí provoz HTTP/S z Cloudflare se SYN nebo ACK
Shoda: ip.proto eq "tcp" and ip.dst in $web_servers and tcp.dstport in {80 443} and not (tcp.flags.syn and tcp.flags.ack) and ip.src in {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/13 104.24.0.0/14 172.64.0.0/13 131.0.72.0/22}
Akce: Allow
Servery jiné než webové
Zdroj omezte podle toho, zda server očekává provoz z internetu obecně, nebo pouze od konkrétních uživatelů.
- Pokud je to možné, používejte pravidla založená na zdrojové IP adrese nebo portech.
- Povolené cílové porty omezte pouze na ty, které jsou potřeba.
- Blokujte příchozí SYN na uzavřených portech.
Doporučená pravidla
IP Destination Address { non-web server } and TCP dst port in \<valid ports> — PermitIP Destination Address { non-web server } and UDP dst port in \<valid ports> — PermitIP Destination Address { web server } — Block