D'Plack start vum gemeinsamen Image, kritt en DHCP-Lease, an e Provisioning-Skript leeft ier iergendeen den Apparat ugefaang huet. Iergendwou an deem Skript muss et eng WireGuard-Identitéit kréien, déi zu dëser Plack gehéiert an zu kenger anerer, déi Identitéit autoriséiere loossen an e Profil schreiwen, deen de Gateway akzeptéiert. D'Image kann d'Client-Software, eng iwwerpréift Schabloun an de ëffentleche Schlëssel vum Gateway droen. Wat et ni droe soll, ass een eenzegen private Schlëssel, deen déi ganz Flott deelt, well dat eng eenzeg geklaut Plack zu engem Incident fir déi ganz Flott mécht. D'Reiefolleg hei drënner hält d'Identitéit lokal an d'Autorisatioun explizit.

Wat d'Image dréit, a wat net

Schéckt de Pak, d'Schabloun mat Plazhalter, den ëffentleche Schlëssel vum Gateway an de Client fir d'Umeldung mat. D'Schabloun ass eng Form, keen Geheimnis: se soll vum Provisioning-Benotzer liesbar sinn an kee Schlësselmaterial enthalen.

De private Schlëssel gëtt beim éischte Start um Apparat generéiert an verléisst en ni. Nëmmen déi ëffentlech Halschent reest, bannen an enger Umeldungsufro, déi duerch eppes Aneres autoriséiert gëtt wéi duerch d'Behauptung vum Apparat selwer, wien en ass. Genau dësen Ënnerscheed verhënnert, datt eng geklaut Plack e Problem fir déi ganz Flott gëtt. An et ass och deen Deel, dee meescht Éischt-Start-Skripte falsch maachen.

Schrëtt 1: de Schlëssel lokal generéieren

Féiert d'Generatioun an engem geschützte Verzeechnis aus, nodeems d'Grondlag-Netzwierkverbindung approuvéiert ass an funktionéiert. D'Subshell hält d'umask-Ännerung lokal fir dës Operatioun, an set -C refuséiert eng existéierend Datei z'iwwerschreiwen:

(
    umask 077
    set -C
    wg genkey > /etc/wireguard/device.key &&
        wg pubkey < /etc/wireguard/device.key > /etc/wireguard/device.pub
)

WireGuard Quickstart dokumentéiert d'Schlësselgeneratiounsbezéiung, op déi dës zwou Kommandoen sech stäipen. Wann d'Generatioun ënnerbrach gëtt, loosst den Apparat net ugemellt an loosst de Workflow d'Dateien auserneen huelen. Läscht keng existéierend Identitéit just well d'Skript vun uewen erof propper soll lafen.

Behält de waarde Schlëssel iwwer nei Versich. Eng Identitéit no all temporärem Netzwierkfehler nei ze generéieren ass de Wee, wéi eng Flott mat verweeste Peers bleift, déi keen engem Apparat zouuerdne kann.

Schrëtt 2: en Apparat-Satz autoriséieren

Stellt Iech vir, d'Inventar nennt dës Plack device-042 an deelt hir 10.90.0.42/32 zou. Den Umeldungsservice muss verifizéieren, datt dësen Ufroer op dee Satz berechtegt ass. Eng Seriennummer, déi an e Formulaire getippt gëtt, ass kee Beweis, well Seriennummeren op der baussenzeger Säit vun der Këscht gedréckt sinn.

E Bootstrap-Identitéitsnoweis pro Apparat, eng Approuvatioun vun engem Bedreiwer oder eng hardwaregestäipt Attestatioun kënnen d'Behauptung etabléieren. Schützt d'Integritéit vun der Ufro an d'Authentizitéit vun der Äntwert, a ersetzt net een gemeeschte VPN-Geheimnis duerch een gemeeschten Fabricksnoweis.

De registréierte Satz verbënnt den Apparat, säin ëffentleche Schlëssel, déi zougedeelt Adress an seng erlaabte Verwaltungsroll. WireGuard selwer definéiert keng Umeldungs-API, dofir ass dee Service eppes, wat Dir bewosst baut a bedreift.

Schrëtt 3: zwou passend Konfiguratiounen schreiwen

Den Apparat brauch e Profil, deen d'Verwaltungspräfixer an den Tunnel routet, an de Gateway brauch en Peer-Andrag, deen nëmmen dem Apparat seng eegen Quelladress erlaabt. Mat engem Gateway op 10.90.0.1 an engem Verwaltungsnetz vun 10.60.0.0/16 gesäit d'Apparatsäit sou aus:

[Interface]
PrivateKey = <device-042 private key>
Address = 10.90.0.42/32

[Peer]
PublicKey = <trusted gateway public key>
Endpoint = vpn.example.com:51820
AllowedIPs = 10.90.0.1/32, 10.60.0.0/16
PersistentKeepalive = 25

D'Wäerter an de Klameren si Plazhalter, keng Schlësselen. De keepalive ass wichteg, wann d'Plack hannert NAT sëtzt an erreechbar misst bleiwen; en ass net iwwerall néideg, an en aus Gewunnecht dobäizesetzen hält en Radio ouni Grond waakreg.

Op dem Gateway ass de Peer-Andrag bewosst enk:

[Peer]
PublicKey = <device-042 public key>
AllowedIPs = 10.90.0.42/32

Kopéiert dem Apparat seng Destinatiounslist net op de Peer vum Gateway. Um Apparat seet dës Lëscht, wat an den Tunnel geroutet soll ginn; um Gateway seet se, wéi Quelladressen dësen Peer benotze kann, an dat sinn ënnerschiddlech Aussoen.

Weiderginn, Firewall-Reegelen an de Wee zréck an d'Verwaltungsnetz mussen de geneemten Zougang nach ëmmer erlaben. En registréierte Peer ass keng Erlaabnis fir all Applikatioun hannendrun.

Schrëtt 4: d'Umeldung als Liewenszyklus-Status festleeën

Wend dem Gateway säi Satz an dem Apparat säi Profil iwwer deen un, wat déi jeweileg Konfiguratioun besëtzt, a markéiert d'Umeldung eréischt als fäerdeg, wann déi virgesinn Identitéit an Adress akzeptéiert sinn. Nei Versich sollten dee selwechte Satz auserneen huelen, amplaz en zweet Peer oder eng zweet Adress zouzedeelen.

Hält e Recuperatiounswee fir ënnerbrache Provisioning, och de Fall, wou de Gateway de Schlëssel akzeptéiert huet an den Apparat säi Profil ni geschriwwen huet.

Wann eng Plack ersat oder aus dem Betrib geholl gëtt, huelt hire ëffentleche Schlëssel an hir Autorisatioun zesummen ewech. En neie Schlëssel ass en bewosst Nei-Umeldungsereegnis, net en Nieweneffekt vun engem Reimage. Uerdnung vun der Aarbecht: lokal generéieren, géint d'Inventar autoriséieren, béid Säiten schreiwen, de Status festleeën, an duerno eng Verwaltungsufro duerch den Tunnel testen.

Ähnlech Artikelen