Firebird 3 šifriranje veze i VPN su dvije različite granice
VPN koji radi ne govori ništa o tome ko smije otvoriti Firebird listener ni šta je klijent dogovorio. Provjerite dostupnost, autentifikaciju i šifriranje veze odvojeno.
VPN se povezuje, klijent otvara sesiju i svi pretpostavljaju da je veza s bazom podataka zaštićena. Upravo su pomiješane tri različite stvari. Je li listener uopšte dostupan, je li server prihvatio korisnika i je li Firebird dogovorio šifriranje veze odvojeni su mehanizmi s odvojenim dokazima. Tunel odgovara samo na prvo, i to samo za izvore koje ste dozvolili.
Dvije granice koje se ne preklapaju
VPN granica štiti pakete između klijenta i pristupnika. Firebirdovo šifriranje veze štiti protokol baze podataka između klijentske biblioteke i serverskog procesa. Oba mogu biti prisutna i nijedno ne zamjenjuje ono drugo.
Ako tunel završava prije hosta baze podataka, promet iza njega štiti samo ono što je dogovorila sesija baze podataka. Upravo u tom jazu pregled obično pronalazi iznenađenje. Dijagram tunela završava na pristupniku, a veza koja nosi vaš upit nastavlja se dalje. Svatko tko kasnije pročita taj dijagram nasljeđuje tu pretpostavku.
Prva granica: ko može otvoriti listener
Identificirajte stvarnu adresu servera i konfigurirani port, koji je 3050 ako nije promijenjen, pa dopustite samo odobrene VPN izvore na vatrozidu hosta i mreže. Uzmite u obzir svako prevođenje adresa na VPN pristupniku i dajte hostu baze podataka povratnu rutu do klijentskog skupa ako je pristupnik odvojen.
Zatim dokažite negativno. Vanjska putanja koja mora biti odbijena mora ostati odbijena, jer otvaranje tunela samo po sebi ne ograničava Firebird listener.
Druga granica: šta Firebird dogovara
Firebird 3 uveo je okvir za šifriranje veze sa serverskom politikom koja može biti onemogućena, omogućena ili obavezna. Politika postavlja minimum. Stvarna sesija ipak zavisi od klijentske biblioteke koju učitava aplikacija i od dodataka koje obje strane podržavaju.
U bilješkama o izdanju Firebird 3 Arc4 je naveden kao zadani dodatak za šifriranje veze za to izdanje. Arc4 je povijesna zadana vrijednost, a ne preporuka za modernu šifru, i nije isto što i vanjska VPN zaštita.
Autentifikacija je treća varijabla u istom dogovaranju. Server prihvaća skup dodataka za autentifikaciju, klijentska biblioteka nudi neki podskup i njih dvoje se moraju preklopiti.
Zamka Legacy_Auth
Podrška za Legacy_Auth zahtijeva popuštanje zadane politike obaveznog šifriranja na serveru. To je dokumentirani trošak kompatibilnosti i zato je snižavanje politike da bi se ušutkala pogreška veze sigurnosna promjena, a ne popravak.
Ako klijent iznenada zakaže nakon nadogradnje servera, usporedite popise dodataka prije nego što bilo što oslabite. Kvar je obično nesklad u dogovaranju, a odgovor je podržani dodatak na obje strane.
Provjerite vezu koja je bitna
Na gradnji koja pruža kontekstnu varijablu, ovaj upit prijavljuje stanje šifriranja trenutačne veze:
SELECT RDB$GET_CONTEXT('SYSTEM', 'WIRE_ENCRYPTED')
FROM RDB$DATABASE;
Pokrenite ga kroz vlastitu vezu aplikacije, ne kroz administratorsku sesiju na istom serveru. Šifrirana administratorska veza ne govori ništa o sesiji druge klijentske biblioteke, a starija gradnja koja ne podržava varijablu nije dokaz da je šifriranje isključeno.
Zabilježite verziju klijentske biblioteke, gradnju servera i rezultat zajedno, jer nijedno od toga samo za sebe nije čitljivo.
Ovlasti i put nadogradnje
Ograničavanje izvora i šifriranje prijenosa ne zamjenjuju autentifikaciju ni ovlasti najmanjih privilegija. Provjerite dopuštenja običnog korisnika baze podataka na objektima koje doista dotiče.
Na kraju, dugotrajnu implementaciju tretirajte kao pitanje održavanja. Tunel ne čini zastarjelu klijentsku biblioteku trajno sigurnom, a podržan put nadogradnje jeftiniji je od otkrića da je dodatak koji joj treba uklonjen.