Cassandra VPN-en át: külön hozzáférés az ügyfeleknek és a csomópontoknak
Egy Cassandra fürt három közönséget rejt. Döntse el külön, hogyan érheti el az ügyfelek, a társcsomópontok és az üzemeltetők, és tartsa az identitást a VPN útvonalán belül.
A Cassandra-telepítésnek nincs egyetlen egyetemes adatbázis-hálózata. Az alkalmazások az ügyfélszolgálattal beszélnek, a fürt tagjai egymással beszélnek, az üzemeltetők pedig adminisztratív felületeket használnak, és ennek a három közönségnek nem kellene egymás elérhetőségét örökölnie. A VPN-hez hasonló privát útvonal jó kiindulópont, de nem az adatbázis felhasználói identitása, és nem a titkosítási szabályzata. Kezelje a kapcsolódási döntést és az engedélyezési döntést két külön felülvizsgálatként.
A három közönség mindegyike saját választ kap, és az alábbi szakaszok a kitettség sorrendjében tárgyalják őket.
Három közönség, három döntés
Határozza meg, mire van valójában szüksége az egyes csoportoknak, mielőtt bármelyik szabályhoz nyúlna. Az ügyfeleknek az ügyfél-figyelőre és arra elegendő információra van szükségük, hogy elérjék minden csomópontot, amelyet kaphatnak, a társcsomópontoknak egymásra van szükségük a csomópontok közötti porton, az üzemeltetőknek pedig a felügyeleti felületre ahhoz, amit a runbook valóban előír. Három lista, három közönség, három bizalmi szint.
A gyakori hiba egyetlen lapos privát szegmenst építeni, és feltételezni, hogy a VPN határa elvégzi a többit. Ezen belül az ügyfélporthoz elérő alkalmazás általában a csomópontok közötti portot is eléri, és az üzemeltető adminisztratív eszközei gyakran ugyanazon az ugró gazdagépen ülnek, mint az alkalmazás. Ezek összelapítása azt jelenti, hogy egy feltört alkalmazás-identitásnak már nagyobb a hatóköre, mint a saját lekérdezéseinek. Rajzolja fel a három közönséget három sorként a tervezési dokumentumban, mindegyiket azzal a szabállyal, amely engedi, és a rések láthatóvá válnak, mielőtt bárki megépíti őket.
Amire az ügyfeleknek szükségük van, és semmi több
Engedje, hogy a szándékolt alkalmazásforrások elérjék az ügyfélvégpontokat a telepített verzióhoz, és tartsa a nem kapcsolódó fürt- és felügyeleti szolgáltatásokat e hatókörön kívül. Ezután ellenőrizze, hogyan fedezi fel az illesztőprogram a csomópontokat. Egy elérhető kezdeti kapcsolódási pont nem bizonyítja, hogy minden csomópont-cím, amelyet az illesztőprogram később kiválaszt, elérhető abból az ügyfélkörnyezetből, mert az illesztőprogram társakat kér a fürttől, majd azokhoz a címekhez kapcsolódik, amelyeket a fürt hirdet.
Ezért egyetlen privát cím-eltérés hozza létre az ismerős mintát: sikeres első kapcsolat, majd időtúllépések. A hirdetett címeket és az ügyfél-útválasztást szándékosan állítsa be; a teljes fürt internetre publikálása egyetlen eltérés javításáért útválasztási hibát cserél olyan kitettségre, amelyet nem lehet visszavonni.
Tartsa meg az alkalmazás adatbázis-hitelesítését és szerepkör-engedélyeit is. Egy megosztott, lefordított VPN-cím sok felhasználót vagy szolgáltatást képviselhet, ezért soha nem helyettesíti a különálló adatbázis-identitásokat.
Titkosítsa külön az ügyfél-csomópont és a csomópontok közötti kapcsolatot
Az Apache biztonsági dokumentációja külön konfigurációként kezeli az ügyfél-csomópont és a csomópontok közötti titkosítást, és az egyik engedélyezése nem engedélyezi a másikat. Ez a megkülönböztetés VPN-en belül is érvényes, mert az alagút a saját szegmensét védi, és nem terjed ki automatikusan az alkalmazásfolyamattól az adatbázis-folyamatig, sem a fürt tagjainak minden párja között.
Egy konfiguráció, amely mindkettőt kifejezetten bekapcsolja, ahelyett hogy sablon-alapértelmezést örökölne, nagyjából így néz ki:
client_encryption_options:
enabled: true
optional: false
server_encryption_options:
internode_encryption: allAzokon a kiszolgálókonfigurációkon, amelyek opcionális ügyfél-titkosítást engednek, a TLS elfogadása együtt létezhet a titkosítatlan kapcsolatok elfogadásával, ezért a tényleges szabályzatot olvassa, ne a szándékot. Tervezze meg a tanúsítványneveket, a bizalomelosztást és a megújítást azokhoz a végpontokhoz, amelyeket az egyes ügyfelek valóban elérnek; a gazdagépnév IP-címre cserélése az ügyfél identitásellenőrzését változtatja meg, nem csak az útvonalát.
Tartsa a felügyeletet a saját útvonalán
A csomópontok közötti forgalomnak az engedélyezett társak halmazára és saját védelmi szabályzatra van szüksége. Az adminisztratív hozzáférésnek, beleértve a JMX-et ahol használják, külön közönségre és saját hitelesítésre van szüksége. Egy alkalmazás, amelynek engedélyezett rendes lekérdezéseket kiadni, ezáltal nem igényel minden felügyeleti képességet, és a fordított eset rosszabb: az alkalmazásszegmensnek kitett adminisztratív útvonal a legrövidebb út a hibától az újraépítésig. Írja le ezt a két közönséget külön, és nevezze meg a tulajdonosaikat, mert általában különböző csapatok, amelyek szabályai véletlenül összeolvadtak.
Tartsa összehangban a tényleges felhőszabályokat, a gazdagépszabályokat és a figyelő konfigurációját. Egy privát figyelő továbbra is nyitva lehet egy nem szándékos fordítás vagy proxy miatt, és egy széles nyilvános szabály csendesen ott ülhet egy szűk VPN-szabály mellett, amíg valaki egyszerre nem auditálja mindkettőt.
Ahol az üzemeltetőknek valóban szükségük van felügyeleti útvonalra, adjon neki nevesített tulajdonost és rövidebb hitelesítőadat-élettartamot, mint az alkalmazásnak. Ez láthatóan tartja a delegálást, amikor a következő ember örökli a fürtöt.
Mit ígér a tervezés
Érvényesítse mindhárom ígéretet valódi szerepkörökkel, ne csak kapcsolódási tesztekkel. Egy jóváhagyott alkalmazásnak be kell fejeznie az engedélyezett munkáját és semmi többet, egy kizárt forrásnak el kell buknia az ügyfél-belépésnél, és egy alkalmazás-identitást el kell utasítani a fenntartott adminisztratív útvonalakon. Adja hozzá az ügyfél újracsatlakozását és a csomópontválasztást ugyanahhoz a bevezetési teszthez, mert ott kerülnek felszínre a felderítési hibák.
Fejezze be három mondattal a tervezési dokumentumban: mely ügyfelek kérdezhetnek, mely csomópontok kommunikálhatnak és mely üzemeltetők felügyelhetnek. A VPN mögött lenni hasznos topológiai információ, de nem válasz egyikre sem e három kérdés közül.