|
![]() | Nastavení bezpečnostní politiky databáze | ![]() | Administrace a bezpečnost databáze | Principy zabezpečení systému | ![]() |
Míru zajištění serveru proti útokům zvenčí lze nastavit pomocí řady vlastností. Jednotlivé vlastnosti se dají nastavit buď pomocí API funkce (cd_)Set_property_value nebo interaktivně na Řídicím panelu klientského a vývojového prostředí.
Na každém 602SQL serveru existuje anonymní uživatel, který se přihlašuje s prázdným jménem i heslem. Pro bezpečnost provozu serveru přístupného zvenčí je třeba omezit možnosti anonymního uživatele. To lze provést na několika úrovních:
Zákaz anonymního přístupu řídí vlastnost serveru DisableAnonymous. Interaktivně ji lze nastavit z Řídicího panelu ve složce Systém v dialogu Provozní parametry na stránce Bezpečnost. Tuto vlastnost nastavuje bezpečnostní správce.
Je-li na SQL serveru nastaveno takovéto omezení, pak jako vedlejší efekt se v dialogu pro přihlášení nezobrazuje seznam uživatelů v combu, nýbrž je nutné zadat jméno z klávesnice.
Pomocí filtrování IP adres (vlastnosti IP_enabled_addr[N], IP_enabled_mask[N], IP_disabled_addr[N] a IP_disabled_addr[N]) lze určit, ze kterých IP adres se mohou na server připojovat klienti. Lze například omezit přístup na server na IP adresy ve firmě a její pobočkách. Takové omezení má smysl, pokud se obáváme, že by neoprávněná osoba zvenčí mohla uhodnout heslo některého uživatele. Tyto vlastnosti nastavuje provozní správce.
Vlastnost DisableFastLogin určuje, zda další klient přicházející ze stejné síťové adresy jako již přihlášený klient musí projít normálním přihlášením, nebo se přihlásí automaticky a pod stejným jménem. Vlastnost je nutno aktivovat, pokud více stanic může sdílet stejnou síťovou adresu. Tuto vlastnost nastavuje bezpečnostní správce.
Vlastnost MinPasswordLen udává minimální délku uživatelského hesla. Pokud má hodnotu 0, pak hesla mohou být libovolně dlouhá. Nastavením minimální délky hesla lze zabránit použití příliš krátkých hesel a snížit pravděpodobnost uhádnutí hesla. Tuto vlastnost nastavuje bezpečnostní správce.
Vlastnost PasswordExpiration udává počet dnů, po který uživatel může používat stejné heslo. Po uplynutí této doby si uživatel musí heslo změnit. Pokud vlastnost má hodnotu 0, pak hesla mají neomezenou platnost. Pomocí této vlastnosti může bezpečnostní správce nutit uživatele, aby pravidelně obměňovali svá hesla.
Mechanismus "one-time-password" vyžaduje, aby každé heslo bylo změněno po dosažení maxima počtu použití (řádově tisíce). To může vadit, pokud heslo využívají klienti, kteří se velmi často přihlašují a odhlašují (např. aplikace přistupující přes PHP klienta). Bezpečnostní správce může pomocí vlastnosti UnlimitedPasswords změnit způsob přihlašování tak, že hesla jsou použitelná neomezený počet krát.
Procedury uložené na serveru mohou volat funkce umístěné v externích knihovnách DLL (so na Linuxu). Teoreticky by tak mohly spustit destruktivní akce na počítači, na němž běží SQL server. Proto je nutno dovolit přístup pouze ke knihovnám určeným pro podporu běhu databázových aplikací. Adresáře, ze kterých je možné spouštět tyto knihovny se specifikují pomocí vlastností Dir[N], které nastavuje provozní správce.
Interaktivní nastavení všech zde zmíněných vlastností se provede z Řídicího panelu pomocí dialogu Provozní parametry ze složky Systém.
Databázový soubor je nutno zajistit proti poškození. Toho lze docílit kombinací fyzické ochrany počítače obsahujícího databázi a ochrany databázového souboru pomocí přístupových práv. Databázový soubor by neměl být viditelný ze sítě.
Pro provoz SQL serveru není třeba přidělit uživatelům (operačního systému) žádná práva k databázovému souboru. Tato práva stačí přidělit účtu, pod nimž poběží server. Pokud SQL server pracuje jako Win služba na systémový účet, pak práva pro přístup k databázovému souboru je třeba přidělit systému. Situace na Linuxu je popsána zde
V praxi však může nastat situace, kdy není možno provozovat server pod účtem, k němuž nemá přístup žádný uživatel. Kvalifikovaný uživatel by pak mohl analyzovat databázový soubor, přečíst z něj utajená data nebo nějaká data v něm pozměnit. Proti tomuto nebezpečí je vhodné databázový soubor šifrovat.
V 602SQL jsou implementovány tři způsoby šifrování:
První způsob šifrování může být prolomen odborníkem při vynaložení středního úsilí, druhý způsob lze prolomit při použití značného úsilí. Třetí způsob je založen na kvalitním šifrovacím algoritmu a šance na jeho prolomení existuje pouze teoreticky při vynaložení extrémních nákladů. Použití třetího způsobu však zpomalí činnost serveru.
Při použití druhého nebo třetího způsobu je nutno při spouštění serveru zadat šifrovací heslo. Nehodí se proto v těchto případech:
Šifrování nastavuje bezpečnostní správce pomocí akce Šifrování databáze ze složky Systém / Nástroje nebo nastavením vlastnosti FilEncrypt.
Narušitel může vyrobit falešný síťový SQL server vystupující pod stejným jménem jak pravý server a napodobující jeho činnost. Tímto způsobem se může pokusit získat tajné informace od klientů nebo uvést je v omyl poskytnutím falešných dat. Proti tomuto nebezpečí se lze bránit spolehlivým ověřením identity SQL serveru.
V počítačových sítích je možno zachytávat cizí přenášená data a při využití vhodných nástrojů je lze i pozměňovat. Proti tomu se lze chránit šifrováním síťové komunikace mezi klientem a serverem.
![]() | Nastavení bezpečnostní politiky databáze | ![]() | Administrace a bezpečnost databáze | Principy zabezpečení systému | ![]() |