Cassandra iwwer VPN: getrennten Zougang fir Cliente an Noden
Een Cassandra-Cluster verstoppt dräi Zilgruppen. Entscheet getrennt, wéi Cliente, Peernoden an Operatoren en erreechen, a haalt d'Identitéit am VPN-Pad.
Eng Cassandra-Installatioun huet net ee universellt Datebanknetz. Applikatiounen schwätzen mat dem Client-Service, Clustermembere schwätzen mateneen, an Operatoren benotzen administrativ Schnëttstellen, an déi dräi Zilgruppe sollen net géigesäiteg hir Erreechbarkeet ierwen. E private Pad wéi eng VPN ass e gudden Ausgangspunkt, awer et ass net d'Benotzeridentitéit vun der Datebank an et ass net hir Verschlësselungspolitik. Behandelt d'Entscheedung iwwer d'Konnektivitéit an d'Entscheedung iwwer d'Autorisatioun als zwou getrennte Revuen.
Jiddwereen vun den dräi Zilgruppe kritt seng eege Äntwert, an d'Sektiounen hei drënner behandelen se an der Rei vum Ausgesinn.
Dräi Zilgruppen, dräi Entscheedungen
Bestëmmt, wat all Grupp wierklech brauch, ier dir eng Reegel ufässt. Cliente brauchen de Client-Listener an duerch genuch Informatioun, fir all Node z'erreechen, deen se kënne kréien, Peernoden brauchen sech géigesäiteg um Internode-Port, an Operatore brauchen d'Verwaltungsinterface fir dat, wat de Runbook wierklech verlaangt. Dräi Lëschten, dräi Zilgruppen, dräi Vertrauensniveauen.
De geleeflegen Feeler ass, ee flaacht private Segment ze bauen an unzehuelen, d'VPN-Grenz mécht de Rescht. Bannenan kann eng Applikatioun, déi de Client-Port erreecht, meeschtens och den Internode-Port erreechen, an d'administrativ Geschier vun engem Operateur sëtzen dacks um selwechte Spronghost wéi d'Applikatioun. Dës Ebenen zesummzeféieren heescht, eng kompromittéiert Applikatiounsidentitéit huet schonn eng méi grouss Erreechbarkeet wéi seng eege Ufroen. Zeechent déi dräi Zilgruppen als dräi Zeilen am Design-Dokument, jiddweree mat der Reegel déi et erlaabt, an d'Lücken ginn siichtbar ier iergendeen se baut.
Wat Cliente brauchen, an näischt méi
Erlaabt de virgesonnenen Applikatiounsquellen, d'Client-Endpunkte fir déi installéiert Versioun z'erreechen, an haalt onsagnoh Verbindungs- a Verwaltungsservicer aus dësem Erreechbarkeetsberäich. Kontrolléiert duerno, wéi den Treiber Noden entdeckt. E erreechbare Startkontaktpunkt beweist net, datt all Nodeadress, déi den Treiber duerno auswielt, aus dësem Client-Kontext erreechbar ass, well den Treiber de Cluster no Peeren freet an sech duerno mat de Adressen verbënnt, déi de Cluster annoncéiert.
Dofir produzéiert eng eenzeg Onstëmmegkeet vun enger privater Adress dat bekannte Muster: eng erfollegräich éischt Verbindung, duerno Zäitlimits. Konfiguréiert annoncéiert Adressen a Client-Routing bewosst; de ganze Cluster op den Internet ze verëffentlechen, fir eng Onstëmmegkeet ze reparéieren, tauscht e Routingfeeler géint eng Ausgesinnheet, déi dir net zeréckhuele kënnt.
Haalt och d'Datebankauthentifikatioun vun der Applikatioun an d'Rollberechtegungen op hirem Plaz. Eng gedeelt iwwersat VPN-Adress kann vill Benotzer oder Servicer duerstellen, also ass se ni en Ersatz fir getrennte Datebankidentitéiten.
Verschlësselt Client-zu-Node an Internode getrennt
D'Sécherheetsdokumentatioun vun Apache behandelt Client-zu-Node- an Internode-Verschlësselung als getrennt Konfiguratiounen, an d'Afschalte vun der enger schalt d'änner net an. Dee Ënnerscheed gëllt och bannen an enger VPN, well den Tunnel säin eegene Segment schützt an sech net automatesch vum Applikatiounsprozess zum Datebankprozess oder tëschent all Pair vu Clustermembere verlängert.
Eng Konfiguratioun déi béid explizit aschalt, amplaz eng Template-Standard ze ierwen, gesäit ongeféier esou aus:
client_encryption_options:
enabled: true
optional: false
server_encryption_options:
internode_encryption: allOp Serverkonfiguratiounen déi optional Client-Verschlësselung erlaben, kann d'Akzeptanz vun TLS nieft der Akzeptanz vun onverschlësselten Verbindungen existéieren, also liest déi effektiv Politik amplaz d'Intentioun. Plangt Zertifikatsnimm, Vertrauensverdeelung an Erneierung fir d'Endpunkten, déi all Client wierklech kontaktéiert; en Hostnumm duerch eng IP-Adress z'ersetzen ännert d'Identitéitspréifung vum Client, net just seng Route.
Haalt d'Administratioun op hirem eegene Pad
Den internode Verkéier brauch de erlaabten Peersatz a seng eege Schutzpolitik. Den administrative Zougang, inklusiv JMX do wou et benotzt gëtt, brauch eng getrennt Zilgrupp a seng eege Authentifikatioun. Eng Applikatioun déi berechtegt ass gewéinlech Ufroen ze stellen, brauch dofir net all Verwaltungskapazitéit, an dat Ëmgedréit ass méi schlëmm: en administrative Pad, deen dem Applikatiounssegment ausgesat ass, ass de kierzten Wee vun engem Feeler bis zum Neibau. Schreift déi zwou Zilgruppen getrennt op, a nennt hir Besëtzer, well et meeschtens verschidde Teams sinn deenen hir Reegele versehentlech fusionéiert goufen.
Haalt effektiv Cloud-Reegelen, Host-Reegelen an d'Listener-Konfiguratioun am Gläichgewiicht. En private Listener kann nach iwwer eng ongewollt Iwwersetzung oder e Proxy op sinn, an eng breet ëffentlech Reegel kann roueg nieft enger enker VPN-Reegel sëtzen, bis een déi zwee gläichzäiteg audit.
Wou Operatoren wierklech e Verwaltungspad brauchen, gitt him en genannten Besëtzer an eng méi kuerz Liewensdauer vun den Zertifikater wéi déi vun der Applikatioun. Dat hält d'Delegatioun siichtbar, wann déi nächst Persoun de Cluster ierft.
Wat den Design versprécht
Validéiert all dräi Verspriechen mat richtegen Rollen amplaz nëmme mat Verbindungstester. Eng genehmegt Applikatioun soll hir erlaabten Aarbecht ofschléissen an näischt méi, eng ausgeschloss Quell soll um Client-Agank fale, an eng Applikatiounsidentitéit soll op de reservéierten Administratiounspade verweigert ginn. Füügt d'Client-Neuschaltung an d'Nodeauswiel an den selwechten Ausrolltest, well do kommen d'Entdeckungsfeeler un d'Luucht.
Schléisst mat dräi Sätz am Design-Dokument of: wéi eng Cliente kënne froen, wéi eng Noden kënne kommunizéieren a wéi eng Operatore kënne verwalten. Hannert enger VPN ze sinn ass nëtzlech Topologieinformatioun, awer et ass keng Äntwert op eng vun dësen dräi Froen.