Šifrovanie spojenia vo Firebirde 3 a VPN sú dve rôzne hranice
Fungujúca VPN nehovorí nič o tom, kto smie otvoriť listener Firebirdu ani o čom sa klient dohodol. Overujte dostupnosť, autentifikáciu a šifrovanie spojenia oddelene.
VPN sa pripojí, klient otvorí reláciu a všetci predpokladajú, že spojenie s databázou je zabezpečené. Práve sa zmiešali tri rôzne veci. Či je listener vôbec dostupný, či server prijal používateľa a či Firebird vyjednal šifrovanie spojenia, sú oddelené mechanizmy s oddelenými dôkazmi. Tunel odpovedá len na prvé, a to len pre zdroje, ktoré ste povolili.
Dve hranice, ktoré sa neprekrývajú
Hranica VPN chráni pakety medzi klientom a bránou. Šifrovanie spojenia vo Firebirde chráni databázový protokol medzi klientskou knižnicou a procesom servera. Obe môžu byť prítomné a ani jedno nenahrádza druhé.
Ak tunel končí pred hostiteľom databázy, prevádzku za ním chráni len to, čo si vyjednala databázová relácia. Práve v tejto medzere obvykle revízia nájde prekvapenie. Diagram tunela končí pri bráne a spojenie, ktoré nesie váš dotaz, pokračuje ďalej. Každý, kto tento diagram neskôr číta, tento predpoklad zdedí.
Hranica prvá: kto môže otvoriť listener
Určte skutočnú adresu servera a nakonfigurovaný port, ktorý je 3050, ak nebol zmenený, potom na firewalle hostiteľa aj siete povoľte len schválené zdroje VPN. Počítajte s prípadným prekladom adries na VPN bráne a dajte hostiteľovi databázy spätnú trasu do klientskeho fondu, ak je brána oddelená.
Potom dokážte negatív. Externá cesta, ktorá má byť zamietnutá, musí zostať zamietnutá, pretože otvorenie tunela samo o sebe listener Firebirdu neobmedzí.
Hranica druhá: čo Firebird vyjednáva
Firebird 3 zaviedol rámec šifrovania spojenia so serverovou politikou, ktorú možno vypnúť, zapnúť alebo vyžadovať. Politika určuje minimum. Skutočná relácia stále závisí od klientskej knižnice, ktorú načítava aplikácia, a od pluginov, ktoré podporujú obe strany.
V poznámkach k vydaniu Firebirdu 3 je Arc4 uvedený ako predvolený plugin na šifrovanie spojenia pre toto vydanie. Arc4 je historická predvolená hodnota, nie odporúčanie modernej šifry, a nie je to isté ako vonkajšia ochrana VPN.
Autentifikácia je tretia premenná v tom istom vyjednávaní. Server prijíma sadu autentifikačných pluginov, klientska knižnica ponúka nejakú podmnožinu a obe sa musia prekrývať.
Pasca Legacy_Auth
Podpora Legacy_Auth vyžaduje zmiernenie predvolenej politiky povinného šifrovania na serveri. To sú dokumentované náklady na kompatibilitu, a preto je zníženie politiky, aby sa utíšila chyba pripojenia, bezpečnostná zmena, nie oprava.
Ak klient po aktualizácii servera náhle zlyhá, porovnajte zoznamy pluginov, kým čokoľvek oslabíte. Zlyhanie je zvyčajne nesúlad vo vyjednávaní a odpoveďou je podporovaný plugin na oboch stranách.
Skontrolujte pripojenie, na ktorom záleží
Na zostavení, ktoré poskytuje kontextovú premennú, tento dotaz hlási stav šifrovania aktuálneho pripojenia:
SELECT RDB$GET_CONTEXT('SYSTEM', 'WIRE_ENCRYPTED')
FROM RDB$DATABASE;
Spusťte ho cez vlastné spojenie aplikácie, nie cez administrátorskú reláciu na tom istom serveri. Šifrované administrátorské pripojenie nehovorí nič o relácii inej klientskej knižnice a staršie zostavenie, ktoré premennú nepodporuje, nie je dôkazom, že šifrovanie je vypnuté.
Zaznamenajte spolu verziu klientskej knižnice, zostavenie servera a výsledok, pretože každé z nich samo o sebe je nečitateľné.
Oprávnenia a cesta aktualizácie
Obmedzenie zdrojov a šifrovanie prenosu nenahrádzajú autentifikáciu ani oprávnenia s najmenšími právami. Skontrolujte oprávnenia bežného databázového používateľa na objekty, ktorých sa skutočne dotýka.
Napokon berte dlhodobé nasadenie ako otázku údržby. Tunel neurobí zastaranú klientsku knižnicu bezpečnou neobmedzene a podporovaná cesta aktualizácie je lacnejšia než zistiť, že plugin, ktorý potrebuje, bol odstránený.