Sdílet prostřednictvím


IPV6_PROTECTION_LEVEL

Možnost IPV6_PROTECTION_LEVEL soketu umožňuje vývojářům umístit omezení přístupu na sokety IPv6. Taková omezení umožňují aplikacím běžícím na privátní síti LAN jednoduše a robustně posílit zabezpečení proti externím útokům. Možnost IPV6_PROTECTION_LEVEL soketu rozšiřuje nebo zužuje rozsah naslouchacího soketu, což v případě potřeby umožňuje neomezený přístup od veřejných a soukromých uživatelů nebo omezuje přístup pouze na stejnou lokalitu, jak je potřeba.

IPV6_PROTECTION_LEVEL má aktuálně tři definované úrovně ochrany.

Úroveň ochrany Popis
PROTECTION_LEVEL_UNRESTRICTED
Používá se aplikacemi navrženými pro provoz přes internet, včetně aplikací, které využívají možnosti procházení překladu adres (NAT) IPv6 integrované do Windows (například Teredo). Tyto aplikace můžou obejít brány firewall IPv4, takže aplikace musí být posíleny proti internetovým útokům orientovaným na otevřený port.
PROTECTION_LEVEL_EDGERESTRICTED
Používají se aplikace navržené tak, aby fungovaly přes internet. Toto nastavení neumožňuje procházení překladu adres (NAT) pomocí implementace Windows Teredo. Tyto aplikace můžou obejít brány firewall IPv4, takže aplikace musí být posíleny proti internetovým útokům orientovaným na otevřený port.
PROTECTION_LEVEL_RESTRICTED
Používá se v intranetových aplikacích, které neimplementují scénáře internetu. Tyto aplikace se obecně neotestují ani neotuzují proti útokům ve stylu internetu.
Toto nastavení omezí přijatý provoz pouze na místní propojení.

 

Následující příklad kódu poskytuje definované hodnoty pro každý z nich:

#define PROTECTION_LEVEL_UNRESTRICTED   10  /* for peer-to-peer apps */
#define PROTECTION_LEVEL_EDGERESTRICTED 20  /* Same as unrestricted, except for Teredo  */
#define PROTECTION_LEVEL_RESTRICTED     30  /* for Intranet apps     */

Tyto hodnoty se vzájemně vylučují a nelze je zkombinovat v jednom volání setsockopt funkce. Další hodnoty pro tuto možnost soketu jsou vyhrazeny. Tyto úrovně ochrany platí jenom pro příchozí připojení. Nastavení této možnosti soketu nemá žádný vliv na odchozí pakety nebo připojení.

V systémech Windows 7 a Windows Server 2008 R2 není zadána výchozí hodnota pro IPV6_PROTECTION_LEVEL a PROTECTION_LEVEL_DEFAULT je definována na -1, neplatná hodnota pro IPV6_PROTECTION_LEVEL.

V systémech Windows Vista a Windows Server 2008 je výchozí hodnota pro IPV6_PROTECTION_LEVEL PROTECTION_LEVEL_UNRESTRICTED a PROTECTION_LEVEL_DEFAULT je definována na -1, neplatná hodnota pro IPV6_PROTECTION_LEVEL.

V systémech Windows Server 2003 a Windows XP je výchozí hodnota pro IPV6_PROTECTION_LEVEL PROTECTION_LEVEL_EDGERESTRICTED a PROTECTION_LEVEL_DEFAULT je definována tak, aby byla PROTECTION_LEVEL_EDGERESTRICTED.

Poznámka

Možnost IPV6_PROTECTION_LEVEL soketu by měla být nastavena před vazbou soketu. Jinak pakety přijaté mezi vazbou a setsockopt volání budou odpovídat PROTECTION_LEVEL_EDGERESTRICTEDa mohou být doručeny do aplikace.

 

Následující tabulka popisuje účinek použití jednotlivých úrovní ochrany na naslouchání soketu.

Úroveň ochrany

Povolený příchozí provoz

Stejný web

Externí

Procházení NAT (Teredo)

PROTECTION_LEVEL_RESTRICTED

Ano

Ne

Ne

PROTECTION_LEVEL_EDGERESTRICTED

Ano

Ano

Ne

PROTECTION_LEVEL_UNRESTRICTED

Ano

Ano

Ano

 

Ve výše uvedené tabulce je sloupec Stejný web kombinací následujících:

  • Propojení místních adres
  • Místní adresy webu
  • Globální adresy, o kterých je známo, že patří do stejné lokality (odpovídající tabulce předpony webu)

V systémech Windows 7 a Windows Server 2008 R2 není zadána výchozí hodnota pro IPV6_PROTECTION_LEVEL. Pokud není v místním počítači nainstalovaný žádný software brány firewall pracující s hraničními procházeními (brána Windows Firewall je zakázaná nebo je nainstalovaná jiná brána firewall, která ignoruje provoz Teredo), obdržíte provoz Teredo pouze v případě, že nastavíte možnost IPV6_PROTECTION_LEVEL soketu na PROTECTION_LEVEL_UNRESTRICTED. Brána Windows Firewall nebo jakákoli zásada brány firewall pracující s procházením hraničních zařízení ale může tuto možnost ignorovat na základě nastavení zásad brány firewall. Nastavením této možnosti soketu na PROTECTION_LEVEL_UNRESTRICTEDaplikace komunikuje s explicitním záměrem přijímat přenosy přes hraniční zařízení bránou firewall nainstalovanou na místním počítači. Pokud je tedy nainstalovaná brána firewall hostitele s podporou procházení hraničních zařízení, bude mít konečné rozhodnutí o přijetí paketu. Ve výchozím nastavení bez sady možností soketu:

  • o Pokud je v místním počítači povolená brána Windows Firewall (nebo je nainstalovaná jiná brána firewall hostitele s podporou procházení hraničních zařízení), zjistí se vše, co vynucuje. Typická brána firewall hostitele pracující s procházením hraničních sítí ve výchozím nastavení blokuje provoz Teredo. Aplikace proto budou sledovat výchozí, jako by to bylo PROTECTION_LEVEL_EDGERESTRICTED.
  • o Pokud není povolená brána Windows Firewall a v místním systému není nainstalovaná žádná jiná brána firewall hostitele s podporou procházení hraničních zařízení, výchozí hodnota bude PROTECTION_LEVEL_EDGERESTRICTED.

V systému Windows Vista a Windows Server 2008 je výchozí hodnota pro IPV6_PROTECTION_LEVEL PROTECTION_LEVEL_UNRESTRICTED. Efektivní hodnota ale závisí na tom, jestli je povolená brána Windows Firewall. Brána Windows Firewall je s podporou procházení hraničních zařízení (Teredo aware), bez ohledu na to, jakou hodnotu je nastavená pro IPV6_PROTECTION_LEVEL, a ignoruje se, pokud je IPV6_PROTECTION_LEVEL PROTECTION_LEVEL_UNRESTRICTED. Efektivní hodnota proto závisí na zásadách brány firewall. Pokud je brána Windows Firewall zakázaná a v místním počítači není nainstalovaná žádná jiná brána firewall s podporou procházení hraničních zařízení, výchozí hodnota pro IPV6_PROTECTION_LEVEL je PROTECTION_LEVEL_UNRESTRICTED.

V systémech Windows Server 2003 a Windows XP je výchozí hodnota pro IPV6_PROTECTION_LEVEL PROTECTION_LEVEL_EDGERESTRICTED. Pokud jste nenastavili možnost IPV6_PROTECTION_LEVEL soketu na PROTECTION_LEVEL_UNRESTRICTED, nebudete dostávat žádný provoz Teredo.

V závislosti na IPV6_PROTECTION_LEVEL nemusí být aplikace, která vyžaduje nevyžádaný provoz z internetu, schopná přijímat nevyžádaný provoz. Tyto požadavky však nejsou nezbytné pro příjem požadovaných přenosů přes rozhraní Windows Teredo. Další podrobnosti o interakci s Teredo naleznete v tématu Příjem nevyžádaného provozu Over Teredo.

Pokud jsou příchozí pakety nebo připojení odmítnuty z důvodu nastavené úrovně ochrany, zachytá se zamítnutí, jako by na daném soketu neposlouchala žádná aplikace.

Poznámka

Možnost IPV6_PROTECTION_LEVEL soketu nemusí nutně umisťovat omezení přístupu na sokety IPv6 nebo omezit procházení NAT pomocí jiné metody než Windows Teredo nebo dokonce použít jinou implementaci Teredo jiným dodavatelem.

 

příjem nevyžádaného provozu přes teredo

setockopt