INTEGRITY Dokumentace

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ří:

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:

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 gokeyless
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 bookworm main' | sudo tee /etc/apt/sources.list.d/cloudflare.list

sudo apt-get update && sudo apt-get install gokeyless
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 bullseye main' | sudo tee /etc/apt/sources.list.d/cloudflare.list

sudo apt-get update && sudo apt-get install gokeyless
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 noble main' | sudo tee /etc/apt/sources.list.d/cloudflare.list

sudo apt-get update && sudo apt-get install gokeyless
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 jammy main' | sudo tee /etc/apt/sources.list.d/cloudflare.list

sudo apt-get update && sudo apt-get install gokeyless
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 focal main' | sudo tee /etc/apt/sources.list.d/cloudflare.list

sudo apt-get update && sudo apt-get install gokeyless

Balíč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 gokeyless
curl -fsSl https://pkg.cloudflare.com/gokeyless/rpm/gokeyless.repo | sudo tee /etc/yum.repos.d/gokeyless.repo
sudo yum update
sudo yum install gokeyless
sudo dnf config-manager --add-repo https://pkg.cloudflare.com/gokeyless/rpm-el8/gokeyless.repo
sudo dnf install gokeyless
curl -fsSl https://pkg.cloudflare.com/gokeyless/rpm-el8/gokeyless.repo | sudo tee /etc/yum.repos.d/gokeyless.repo
sudo yum update
sudo yum install gokeyless

Konfigurovat

Údaje o svém účtu Cloudflare přidejte do konfiguračního souboru umístěného v /etc/keyless/gokeyless.yaml:

  1. 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.

  2. Nastavte ID zóny (najdete jej na Přehled kartě v dashboardu Cloudflare).

  3. 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.key

Př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:

Pokud tento příkaz selže, zkuste problém vyřešit tak, že kontrola logů.