VPN se připojí, klient otevře relaci a všichni předpokládají, že spojení s databází je zabezpečené. Právě se smíchaly tři různé věci. Zda je listener vůbec dostupný, zda server přijal uživatele a zda Firebird vyjednal šifrování spojení, jsou oddělené mechanismy s oddělenými důkazy. Tunel odpovídá jen na první z nich, a to jen pro zdroje, které jste povolili.

Dvě hranice, které se nepřekrývají

Hranice VPN chrání pakety mezi klientem a bránou. Šifrování spojení ve Firebirdu chrání databázový protokol mezi klientskou knihovnou a procesem serveru. Obě mohou být přítomny a ani jedno nenahrazuje druhé.

Pokud tunel končí před hostitelem databáze, provoz za ním chrání jen to, co si vyjednala databázová relace. Právě v této mezeře obvykle revize najde překvapení. Diagram tunelu končí u brány a spojení, které nese váš dotaz, pokračuje dál. Každý, kdo tento diagram později čte, tento předpoklad zdědí.

Hranice první: kdo může otevřít listener

Určete skutečnou adresu serveru a nakonfigurovaný port, což je 3050, pokud nebyl změněn, a potom na firewallu hostitele i sítě povolte jen schválené zdroje VPN. Počítejte s případným překladem adres na VPN bráně a dejte hostiteli databáze zpětnou trasu do klientského fondu, pokud je brána oddělená.

Pak dokažte negativ. Externí cesta, která má být zamítnuta, musí zůstat zamítnutá, protože otevření tunelu samo o sobě listener Firebirdu neomezí.

Hranice druhá: co Firebird vyjednává

Firebird 3 zavedl rámec šifrování spojení se serverovou politikou, kterou lze vypnout, zapnout nebo vyžadovat. Politika určuje minimum. Skutečná relace stále závisí na klientské knihovně načtené aplikací a na pluginech, které obě strany podporují.

V poznámkách k vydání Firebirdu 3 je Arc4 uveden jako výchozí plugin pro šifrování spojení pro toto vydání. Arc4 je historická výchozí hodnota, nikoli doporučení moderní šifry, a není totéž jako vnější ochrana VPN.

Autentizace je třetí proměnnou ve stejném vyjednávání. Server přijímá sadu autentizačních pluginů, klientská knihovna nabízí nějakou podmnožinu a obě se musí překrývat.

Past Legacy_Auth

Podpora Legacy_Auth vyžaduje zmírnění výchozí politiky povinného šifrování na serveru. To jsou dokumentované náklady na kompatibilitu, a proto je snížení politiky, aby se umlčela chyba připojení, bezpečnostní změna, nikoli oprava.

Pokud klient po upgradu serveru náhle selže, porovnejte seznamy pluginů, než cokoli oslabíte. Selhání je obvykle nesoulad ve vyjednávání a odpovědí je podporovaný plugin na obou stranách.

Zkontrolujte připojení, na kterém záleží

Na sestavení, které poskytuje kontextovou proměnnou, tento dotaz hlásí stav šifrování aktuálního připojení:

SELECT RDB$GET_CONTEXT('SYSTEM', 'WIRE_ENCRYPTED')
FROM RDB$DATABASE;

Spusťte jej přes vlastní spojení aplikace, ne přes administrátorskou relaci na stejném serveru. Šifrované administrátorské připojení nic neříká o relaci jiné klientské knihovny a starší sestavení, které proměnnou nepodporuje, není důkazem, že je šifrování vypnuté.

Zaznamenejte verzi klientské knihovny, sestavení serveru a výsledek společně, protože každé z nich samo o sobě je nečitelné.

Oprávnění a cesta upgradu

Omezení zdrojů a šifrování přenosu nenahrazují autentizaci ani oprávnění s nejmenšími právy. Zkontrolujte oprávnění běžného databázového uživatele na objekty, kterých se skutečně dotýká.

Nakonec berte dlouhodobé nasazení jako otázku údržby. Tunel nečiní zastaralou klientskou knihovnu bezpečnou neomezeně a podporovaná cesta upgradu je levnější než zjistit, že plugin, který potřebuje, byl odstraněn.

Související články