← Cloudflare One / cloudflare-one / traffic-policies / packet-filtering / best-practices
Rozšířená sada pravidel
Rozšířená sada pravidel navazuje na Minimální sada pravidel vytvořením cílených pravidel pro různé typy systémů ve vaší síti. Než tato pravidla vytvoříte, musíte vytvořit seznamy IP adres pro každou kategorii.
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í pravidel 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
80nebo443: směrem k jejich efemérním portům (dočasné porty přidělované operačním systémem pro odchozí připojení, obvykle nad32768v moderních operačních systémech). - Připojení směřují ven, nikoli dovnitř, a proto nepřijímají nevyžádaná příchozí připojení TCP.
- 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: Umožňuje návratový provoz (odpovědi na odchozí požadavky) na dočasné porty a zároveň blokuje nevyžádaná příchozí spojení. Blokuje příchozí provoz pouze se SYN (SYN-ACK je tedy povoleno).
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
Případně, pokud máte ochranu Cloudflare Layer 7, můžete veřejné IP adresy Cloudflare povolit jako zdrojové IP adresy k cílovým IP adresám pro příchozí provoz HTTP/HTTPS. Toto doporučení fakticky nahrazuje pravidlo 1 v uvedeném příkladu.
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