Firebird 3 wire-encryptie en het VPN zijn twee verschillende grenzen
Een werkend VPN zegt niets over wie de Firebird-listener mag openen of wat de client heeft onderhandeld. Controleer bereikbaarheid, authenticatie en wire-encryptie apart.
Het VPN verbindt, de client opent een sessie, en iedereen gaat ervan uit dat de databaseverbinding beveiligd is. Er zijn net drie verschillende dingen door elkaar gehaald. Of de listener überhaupt bereikbaar is, of de server de gebruiker heeft geaccepteerd, en of Firebird wire-encryptie heeft onderhandeld zijn afzonderlijke mechanismen met afzonderlijk bewijs. Een tunnel beantwoordt alleen het eerste, en alleen voor de bronnen die u hebt toegestaan.
Twee grenzen die elkaar niet overlappen
De VPN-grens beschermt pakketten tussen een client en een gateway. De wire-encryptie van Firebird beschermt het databaseprotocol tussen de clientbibliotheek en het serverproces. Beide kunnen aanwezig zijn, en geen van beide vervangt de andere.
Als de tunnel eindigt vóór de databasehost, wordt het verkeer daarachter alleen beschermd door wat de databasesessie heeft onderhandeld. Juist in die kloof vindt een beoordeling meestal de verrassing. Het tunneldiagram eindigt bij een gateway, en de verbinding die uw query draagt loopt daar voorbij. Wie dat diagram later leest, erft de aanname.
Grens één: wie de listener mag openen
Stel het echte serveradres en de geconfigureerde poort vast, die 3050 is tenzij die is gewijzigd, en sta daarna alleen de goedgekeurde VPN-bronnen toe in de host- en netwerkfirewall. Houd rekening met eventuele adresvertaling bij de VPN-gateway, en geef de databasehost een terugroute naar de clientpool als de gateway apart is.
Bewijs vervolgens het negatieve. Een extern pad dat geweigerd moet worden, moet geweigerd blijven, omdat het openen van de tunnel de Firebird-listener op zichzelf niet beperkt.
Grens twee: wat Firebird onderhandelt
Firebird 3 introduceerde een raamwerk voor wire-encryptie met een serverbeleid dat kan worden uitgeschakeld, ingeschakeld of vereist. Het beleid bepaalt de ondergrens. De werkelijke sessie hangt nog steeds af van de clientbibliotheek die de applicatie laadt en de plug-ins die beide kanten ondersteunen.
In de release notes van Firebird 3 staat Arc4 vermeld als de standaard plug-in voor wire-encryptie voor die release. Arc4 is een historische standaard, geen aanbeveling voor een moderne cipher, en het is niet hetzelfde als de buitenste VPN-bescherming.
Authenticatie is een derde variabele in dezelfde onderhandeling. De server accepteert een reeks authenticatie-plug-ins, de clientbibliotheek biedt daarvan een subset aan, en de twee moeten overlappen.
De Legacy_Auth-valkuil
Het ondersteunen van Legacy_Auth vereist dat het standaardbeleid voor verplichte encryptie van de server wordt versoepeld. Dat is de gedocumenteerde compatibiliteitskosten, en daarom is het verlagen van het beleid om een verbindingsfout te dempen een beveiligingswijziging en geen reparatie.
Als een client na een server-upgrade plotseling faalt, vergelijk dan de plug-inlijsten voordat u iets verzwakt. De fout is meestal een onderhandelingsverschil, en het antwoord is een ondersteunde plug-in aan beide kanten.
Controleer de verbinding die ertoe doet
Op een build die de contextvariabele biedt, meldt deze query de encryptiestatus van de huidige verbinding:
SELECT RDB$GET_CONTEXT('SYSTEM', 'WIRE_ENCRYPTED')
FROM RDB$DATABASE;
Voer hem uit via de eigen verbinding van de applicatie, niet via een administratorsessie op dezelfde server. Een versleutelde adminverbinding zegt niets over de sessie van een andere clientbibliotheek, en een oudere build die de variabele niet ondersteunt is geen bewijs dat encryptie uit staat.
Noteer de versie van de clientbibliotheek, de build van de server en het resultaat samen, want elk daarvan alleen is onleesbaar.
Rechten en het upgradepad
Bronnen beperken en transport versleutelen vervangen authenticatie of rechten volgens het minste privilege niet. Controleer de machtigingen van de gewone databasegebruiker op de objecten die hij werkelijk aanraakt.
Behandel een langdurige uitrol ten slotte als een onderhoudsvraag. Een tunnel maakt een verouderde clientbibliotheek niet onbeperkt veilig, en een ondersteund upgradepad is goedkoper dan ontdekken dat de plug-in die nodig is, is verwijderd.