← Cloudflare One / cloudflare-one / access-controls / applications / non-http
Přidejte infrastrukturní aplikaci
Dostupnost funkcí
| Klientské režimy | Plány Zero Trust ↗ |
|---|---|
|
Všechny plány |
| Systém | Dostupnost |
|---|---|
| Windows | ✅ |
| macOS | ✅ |
| Linux | ✅ |
| iOS | ✅ |
| Android | ✅ |
| ChromeOS | ✅ |
Access for Infrastructure vám umožňuje mít podrobnou kontrolu nad tím, jak uživatelé přistupují k jednotlivým serverům, clusterům nebo databázím. Přidáním infrastrukturní aplikace do Cloudflare Access můžete nastavit, jak se uživatelé k danému prostředku ověřují, a zároveň řídit a autorizovat porty, protokoly a uživatelská jména, se kterými se mohou připojovat. Protokoly přístupu a příkazů zajišťují soulad s regulačními požadavky a umožňují audit aktivity uživatelů v případě narušení bezpečnosti.
Předpoklady
- Připojte svou infrastrukturu ke Cloudflare pomocí
cloudflarednebo Cloudflare Mesh. - Nasaďte Cloudflare One Client na uživatelských zařízeních v režimu Traffic and DNS.
1. Přidejte cíl
Cíl představuje jeden konkrétní prostředek ve vaší infrastruktuře (například server, cluster Kubernetes, databázi nebo kontejner), ke kterému se uživatelé připojují prostřednictvím Cloudflare.
Cíle jsou nezávislé na protokolu, což znamená, že pro každý protokol běžící na serveru není nutné definovat nový cíl. Postup vytvoření nového cíle:
- V Cloudflare dashboard ↗, přejděte na Zero Trust > Řízení přístupu > Cíle.
- Vyberte Přidejte cíl.
- V cílový hostname, zadejte uživatelsky přívětivý název pro cíl. Doporučujeme použít hostname serveru, například
production-server. Cílový hostname nemusí být jedinečný a lze jej použít opakovaně pro více cílů. Hostname se používají k definování cílů zabezpečených aplikací Access, nepoužívají se k překladu DNS adres.Omezení formátu hostname
- Nerozlišuje velká a malá písmena
- Obsahovat nejvýše 253 znaků
- Obsahovat pouze alfanumerické znaky,
-, nebo.(mezery nejsou povoleny) - Začínat a končit alfanumerickým znakem
- V IP adresy, zadejte adresu IPv4 a/nebo IPv6 cílového prostředku. Rozevírací nabídka se nenaplní, dokud nezadáte celou IP adresu.
- V rozbalovací nabídce vyberte IP adresu a virtuální síť kde se prostředek nachází. Tato dvojice IP adresy a virtuální sítě je nyní přiřazena k tomuto cíli a záměrně ji nelze znovu použít v jiném cíli.
- Vyberte Přidat cíl.
Vytvořte POST požadavek na Infrastructure Access Targets koncový bod:
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/infrastructure/targets" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"hostname": "infra-access-target",
"ip": {
"ipv4": {
"ip_addr": "187.26.29.249",
"virtual_network_id": "c77b744e-acc8-428f-9257-6878c046ed55"
},
"ipv6": {
"ip_addr": "64c0:64e8:f0b4:8dbf:7104:72b0:ec8f:f5e0",
"virtual_network_id": "c77b744e-acc8-428f-9257-6878c046ed55"
}
}
}'-
Přidejte následující oprávnění do svého
cloudflare_api_token↗:Zero Trust Write
-
Nakonfigurujte
cloudflare_zero_trust_infrastructure_access_target↗ prostředek:resource "cloudflare_zero_trust_infrastructure_access_target" "infra-ssh-target" { account_id = var.cloudflare_account_id hostname = "infra-access-target" ip = { ipv4 = { ip_addr = "187.26.29.249" virtual_network_id = "c77b744e-acc8-428f-9257-6878c046ed55" } ipv6 = { ip_addr = "64c0:64e8:f0b4:8dbf:7104:72b0:ec8f:f5e0" virtual_network_id = "c77b744e-acc8-428f-9257-6878c046ed55" } } }
Dále vytvořte aplikaci Access k zabezpečení cíle.
2. Přidejte infrastrukturní aplikaci
-
V Cloudflare dashboard ↗, přejděte na Zero Trust > Řízení přístupu > Aplikace.
-
Vyberte Vytvořit novou aplikaci.
-
Vyberte Infrastruktura.
-
Zadejte libovolný název aplikace.
-
V kritéria cíle, vyberte cílový hostname(y), které chcete zabezpečit. Tato definice aplikace se vztahuje na všechny cíle se stejným vybraným hostname, včetně těch, které přibudou v budoucnu. Pokud později u některého cíle hostname změníte, přejmenovaný cíl už touto aplikací pokrytý nebude.
-
Zadejte Protokol a Port který bude použit k připojení k serveru.
-
(Volitelné) Pokud protokol běží na více portech, vyberte Přidat nová kritéria cíle a znovu nakonfigurujte stejný cílový hostname a protokol s jiným číslem portu.
-
Vyberte Next.
-
Chcete-li zabezpečit své cíle, nakonfigurujte zásadu, která určuje, kdo se může připojit a jakým způsobem:
-
Zadejte libovolný název zásady.
-
Vytvořte pravidlo, které odpovídá uživatelům, kteří mají povolený přístup k cílům. Další informace najdete v Zásady Access a zkontrolujte seznam selektory zásad typu infrastructure.
-
V Kontext připojení, nakonfigurujte následující nastavení:
- Uživatel SSH: Zadejte uživatelská jména UNIX, pod kterými se uživatelé mohou přihlásit (například
rootneboec2-user). - Umožňuje uživatelům přihlásit se pod aliasem své e-mailové adresy: (Volitelné) Je-li vybráno, uživatelé odpovídající definici vaší zásady budou moci přistupovat k cíli pomocí prefixu své e-mailové adresy převedeného na malá písmena. Například
[email protected]by se mohl přihlásit jakojdoe.
- Uživatel SSH: Zadejte uživatelská jména UNIX, pod kterými se uživatelé mohou přihlásit (například
-
-
Vyberte Přidat aplikaci.
Vytvořte POST požadavek na Aplikace Access koncový bod:
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Access: Apps and Policies Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/apps" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Example infrastructure app",
"type": "infrastructure",
"target_criteria": [
{
"target_attributes": {
"hostname": [
"infra-access-target"
]
},
"port": 22,
"protocol": "SSH"
}
],
"policies": [
{
"name": "Allow a specific email",
"decision": "allow",
"include": [
{
"email": {
"email": "[email protected]"
}
}
],
"connection_rules": {
"ssh": {
"usernames": [
"root",
"ec2-user"
]
}
}
}
]
}'-
Přidejte následující oprávnění do svého
cloudflare_api_token↗:Access: Apps and Policies Write
-
Použijte
cloudflare_zero_trust_access_application↗ prostředek pro vytvoření aplikace infrastruktury:resource "cloudflare_zero_trust_access_application" "infra-app" { account_id = var.cloudflare_account_id name = "Example infrastructure app" type = "infrastructure" target_criteria { port = 22 protocol = "SSH" target_attributes { name = "hostname" values = ["infra-access-target"] } } } -
Použijte
cloudflare_zero_trust_access_policy↗ prostředek pro přidání zásady infrastruktury do aplikace:resource "cloudflare_zero_trust_access_policy" "infra-app-policy" { application_id = cloudflare_zero_trust_access_application.infra-app.id account_id = var.cloudflare_account_id name = "Allow a specific email" decision = "allow" precedence = 1 include { email = ["[email protected]"] } connection_rules { ssh { usernames = ["root", "ec2-user"] } } }
Cíle v této aplikaci jsou nyní zabezpečeny vašimi zásadami infrastruktury.
3. (Doporučeno) Upravte pořadí priority v Gateway
Cloudflare ve výchozím nastavení vyhodnotí zásady aplikace Access až po vyhodnocení všech Síťové zásady Gateway. Chcete-li vyhodnocovat aplikace Access před nebo po konkrétních zásadách Gateway:
V Cloudflare dashboard ↗, přejděte na Zero Trust > Zásady provozu > Zásady brány firewall. V Síť, vytvořit síťovou zásadu s následující konfigurací:
Selektor Operátor Hodnota Akce Access Infrastructure Target je Present Allow Aktualizujte zásady pořadí priority pomocí dashboardu nebo API.
Tato zásada Gateway se použije na všechny cíle Access for Infrastructure, včetně RDP a SSH.
4. (Volitelné) Vyžadujte nezávislé MFA
Před připojováním uživatelů přes SSH můžete vyžadovat nezávislé MFA. Konfigurace aplikace určuje, které infrastrukturní autentizátory jsou podporované: klíč PIV (piv_key), klíč FIDO2 (ssh_fido2_key), nebo obojí.
Nastavení na úrovni aplikace určuje výchozí ověřovací metody a dobu trvání relace. Zásada pak může pro konkrétní uživatele nebo uživatelská jména definovat vlastní nastavení.
Pokyny k nastavení viz Vynuťte MFA pro infrastrukturní aplikace.
5. Nakonfigurujte server
Některé protokoly vyžadují nastavení serveru tak, aby důvěřoval připojením přes Access for Infrastructure. Další informace najdete v návodu pro konkrétní protokol:
U SSH to zahrnuje důvěru certifikační autoritě Cloudflare SSH CA a v případě, že váš server omezuje principály certifikátu, autorizace uživatelských jmen SSH jste nakonfigurovali na cíli.
6. Připojte se jako uživatel
Uživatelé se připojují k IP adrese cíle pomocí preferovaného klientského softwaru. Uživatel musí být přihlášen do Cloudflare One Client na svém zařízení, ale žádná další konfigurace systému se nevyžaduje. Volitelně můžete nakonfigurovat privátní DNS resolver a umožněte připojení k soukromému hostname cíle.
Připojení k jiné síti VNET
Chcete-li se připojit k cílům, které se nachází v různých VNETS, budou uživatelé muset přepnout svou připojenou virtuální síť v Cloudflare One Client.
Zobrazit dostupné cíle
Dostupnost funkcí
| Systém | Dostupnost | Minimální verze klienta |
|---|---|---|
| Windows | ✅ | 2024.9.346.0 |
| macOS | ✅ | 2024.9.346.0 |
| Linux | ✅ | 2024.9.346.0 |
| iOS | ❌ | |
| Android | ❌ | |
| ChromeOS | ❌ |
Uživatelé mohou použít warp-cli zobrazit seznam cílů, ke kterým mají přístup. Na zařízení otevřete terminál a spusťte následující příkaz:
warp-cli target list╭──────────────────────────────────────┬──────────┬───────┬───────────────────────┬──────────────────────┬────────────╮
│ Target ID │ Protocol │ Port │ Attributes │ IP (Virtual Network) │ Usernames │
├──────────────────────────────────────┼──────────┼───────┼───────────────────────┼──────────────────────┼────────────┤
│ 0193f22a-9df3-78e3-b5bb-7ab631903306 │ SSH │ 22 │ hostname: do-target │ 10.116.0.3 (a1net) │ alice │
├──────────────────────────────────────┼──────────┼───────┼───────────────────────┼──────────────────────┼────────────┤
│ 0193f22a-9df3-78e3-b5bb-7ab631903306 │ SSH │ 23 │ hostname: do-target │ 10.116.0.3 (a1net) │ root │
├──────────────────────────────────────┼──────────┼───────┼───────────────────────┼──────────────────────┼────────────┤
│ 01943cff-6130-7989-8bff-cbc02b59a2b1 │ SSH │ 80 │ hostname: az-target │ 172.16.0.0 (b1net) │ alice, bob │
╰──────────────────────────────────────┴──────────┴───────┴───────────────────────┴──────────────────────┴────────────╯Volitelně můžete přidat příznaky pro filtrování výstupu, například:
warp-cli target list --attribute hostname=do-target --username rootChcete-li zobrazit všechny dostupné filtry, zadejte warp-cli target list --help.
Odvolat relaci uživatele
Chcete-li odvolat přístup uživatele ke všem cílům infrastruktury, můžete buď odvolat uživatele ze Zero Trust nebo odvolat jejich zařízení. Cloudflare v současnosti nepodporuje odvolání relace uživatele pro konkrétní cíl.
Podrobná oprávnění cílů
Infrastructure Access podporuje podrobná oprávnění pro čtení prostřednictvím Řízení přístupu na základě rolí (role-based access control) od Cloudflare. Správci mohou místo udělení přístupu v rámci celého účtu přiřadit role pouze pro čtení omezené na konkrétní cíle. Když uživatel s omezenou rolí zavolá API pro seznam cílů, odpověď se automaticky filtruje tak, aby obsahovala jen cíle, ke kterým má oprávnění.
Hodí se to pro organizace, které chtějí týmům umožnit přehled nad vlastními cíli infrastruktury, aniž by jim zpřístupnily úplný přehled všech cílů.
Selektory zásad pro Infrastructure
Následující Selektory zásad Access jsou k dispozici pro zabezpečení infrastrukturních aplikací:
- E-maily končící na
- skupina SAML
- Země
- Metoda ověřování
- Stav zařízení
- skupina Entra, organizace GitHub, skupina Google Workspace, skupina Okta