← Cloudflare SSL/TLS / ssl / keyless-ssl / configuration
Cloudflare Tunnel
Prostřednictvím integrace s Cloudflare Tunnel, můžete posílat provoz na key server přes zabezpečený kanál, a vyhnout se tak jeho vystavení veřejnému internetu.
Než začnete
Podporované platformy
Keyless bylo otestováno na amd64 a arm architektur. Binární soubor key serveru bude pravděpodobně fungovat na všech architekturách, které podporuje Go. Podpora v kódu může existovat i pro jiné procesory, ale tyto další architektury nebyly otestované.
Kromě provozu na fyzickém serveru (bare metal) by měl key server bez problémů běžet i ve virtualizovaném nebo kontejnerizovaném prostředí. Je třeba dbát na správnou konfiguraci příchozího přístupu na příslušný port TCP a na přístup k souborovému systému pro soukromé klíče (pokud používáte úložiště v souborovém systému).
Podporované operační systémy
Ke spuštění Keyless budete potřebovat podporovaný operační systém (OS). Mezi podporované operační systémy patří:
- Ubuntu 20.04 LTS (Focal), 22.04 LTS (Jammy), 24.04 LTS (Noble)
- Debian 11 (Bullseye), 12 (Bookworm), 13 (Trixie)
- RHEL 8, 9, CentOS 8 a CentOS Stream 9
- Amazon Linux 2, 2023
Důrazně doporučujeme používat operační systém, který výrobce stále podporuje (a pro který stále vydává bezpečnostní aktualizace), protože váš key server bude mít přístup k vašim soukromým klíčům.
1. Instalace cloudflared na serveru klíčů
Nejprve nainstalujte cloudflared na vašem serveru klíčů.
Tento postup se liší podle toho, zda používáte příkazový řádek nebo Cloudflare dashboard.
2. Vytvoření tunelu a přidání trasy
Poté vytvořte Cloudflare Tunnel.
Tento postup se liší podle toho, zda používáte příkazový řádek nebo Cloudflare dashboard.
Při vytváření tunelu přejděte na CIDR kartě a zadejte privátní IP adresu vašeho key serveru. Můžete také přidat trasu CIDR po vytvoření tunelu.
Po vytvoření tunelu použijte Cloudflare API k Zobrazit trasy tunelu, přičemž si uložte následující hodnoty pro pozdější krok:
"virtual_network_id""network"
3. Nahrajte certifikáty Keyless SSL
Než budete moci nakonfigurovat své key servery, musíte nejprve nahrát odpovídající SSL certifikáty na edge Cloudflare. Během ukončení TLS spojení Cloudflare tyto certifikáty předloží připojujícím se prohlížečům a poté (u relací, které nejsou obnovené) komunikuje se zadaným key serverem, aby dokončil handshake.
Na Cloudflare nahrávejte certifikáty pouze s SAN, které chcete použít s Cloudflare Keyless SSL. Všechny hostname Keyless SSL musí být proxováno.
Každý certifikát používaný s Keyless SSL budete muset nahrát.
Chcete-li nahrát certifikát Keyless pomocí API, odešlete POST požadavek, který obsahuje "tunnel" objekt.
"tunnel": {
"vnet_id": "<VIRTUAL_NETWORK_ID>",
"private_ip": "<NETWORK>"
}4. Nastavte a aktivujte server klíčů
Nakonec musíte nainstalovat server klíčů ve vaší infrastruktuře, naplnit ho SSL klíči certifikátů, které chcete použít k ukončení TLS na hraně sítě Cloudflare, a aktivovat server klíčů, aby mohlo dojít k vzájemnému ověření.
Instalovat
Tyto kroky jsou uvedeny také v Repozitář balíčků Cloudflare ↗.
Balíčky Debian/Ubuntu
sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/gokeyless trixie main' | sudo tee /etc/apt/sources.list.d/cloudflare.list
sudo apt-get update && sudo apt-get install gokeylesssudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/gokeyless bookworm main' | sudo tee /etc/apt/sources.list.d/cloudflare.list
sudo apt-get update && sudo apt-get install gokeylesssudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/gokeyless bullseye main' | sudo tee /etc/apt/sources.list.d/cloudflare.list
sudo apt-get update && sudo apt-get install gokeylesssudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/gokeyless noble main' | sudo tee /etc/apt/sources.list.d/cloudflare.list
sudo apt-get update && sudo apt-get install gokeylesssudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/gokeyless jammy main' | sudo tee /etc/apt/sources.list.d/cloudflare.list
sudo apt-get update && sudo apt-get install gokeylesssudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/gokeyless focal main' | sudo tee /etc/apt/sources.list.d/cloudflare.list
sudo apt-get update && sudo apt-get install gokeylessBalíčky RHEL/CentOS/Amazon Linux
Gokeyless používá CGO pro podporu PKCS#11/HSM, což vytváří závislosti na glibc. Použijte repozitář, který odpovídá vaší distribuci.
sudo dnf config-manager --add-repo https://pkg.cloudflare.com/gokeyless/rpm/gokeyless.repo
sudo dnf install gokeylesscurl -fsSl https://pkg.cloudflare.com/gokeyless/rpm/gokeyless.repo | sudo tee /etc/yum.repos.d/gokeyless.repo
sudo yum update
sudo yum install gokeylesssudo dnf config-manager --add-repo https://pkg.cloudflare.com/gokeyless/rpm-el8/gokeyless.repo
sudo dnf install gokeylesscurl -fsSl https://pkg.cloudflare.com/gokeyless/rpm-el8/gokeyless.repo | sudo tee /etc/yum.repos.d/gokeyless.repo
sudo yum update
sudo yum install gokeylessKonfigurovat
Údaje o svém účtu Cloudflare přidejte do konfiguračního souboru umístěného v /etc/keyless/gokeyless.yaml:
-
Nastavte název hostitele klíčového serveru, například
keyserver.keyless.example.com. Je to zároveň hodnota, kterou jste zadali při nahrávání certifikátu keyless, a jde o hostitelský název vašeho key serveru, který uchovává klíč pro tento certifikát. -
Nastavte ID zóny (najdete jej na Přehled kartě v dashboardu Cloudflare).
-
Nastavte ověřovací údaj pro registraci certifikátu serveru. gokeyless podporuje dvě možnosti:
-
API Token (doporučeno): Vytvořte API token hodnotou Zone > SSL and Certificates > Edit oprávnění. Nastavte je v konfiguraci:
api_token: "<YOUR_API_TOKEN>"Nebo použijte proměnnou prostředí
KEYLESS_API_TOKEN. -
Klíč API Origin CA (zastaralé): Nastavte API klíč Origin CA. Tato možnost přestane fungovat 30. září 2026.
-
Naplnit klíče
Nainstalujte své soukromé klíče do /etc/keyless/keys/ a nastavte uživatele a skupinu na keyless s oprávněními 400. Klíče musí být ve formátu PEM nebo DER a mít příponu .key:
ls -l /etc/keyless/keys-r-------- 1 keyless keyless 1675 Nov 18 16:44 example.com.keyPři provozu více key serverů se ujistěte, že jsou na každý z nich distribuovány všechny potřebné klíče. Zákazníci k distribuci klíčů obvykle používají buď nástroj pro správu konfigurace, jako je Salt nebo Puppet, nebo připojují /etc/keyless/keys do síťového umístění přístupného pouze vašim key serverům. Klíče se při spuštění načítají do paměti, takže síťová cesta musí být dostupná během spouštění nebo restartu procesu gokeyless.
Activate
Pro aktivaci restartujte svou instanci keyless:
- systemd:
sudo service gokeyless restart - upstart/sysvinit:
sudo /etc/init.d/gokeyless restart
Pokud tento příkaz selže, zkuste problém vyřešit tak, že kontrola logů.