Microsoft SQL Server 2005 – správa security

sqlserver2005 – pravo PUBLIC na db = pouze pravo connect k db – a ostatni prava se pak nasledne ridi pravy GUEST
– role – rovnocena skupine uzivatelu => pokud pouzivam AD groups, tak vlastne mi jsou role k nicemu
– aplikacni role – protoze sice davam uzivateli plna prava k db, chci mu ji dat jen pomoci nejake aplikace
– schema – rovnocena skupine objektu – slouzi jako nositele opravneni a zjednodusuje si jimi pridelovani prav
– vsechny loginy jsou v sys.db master v tabluce syslogins (pro jejich vypis tedy "SELECT * FROM sys.syslogins" – zde jsou i hesla u SQL loginu, ale zahashovane)
– login – umoznuje se pripojit k SQL serveru/instanci
– user – umoznuje se pripojit k SQL db (pro jejich vypis pouziji onu db a dam "SELECT * FROM sys.users") – pozor pri jeho vytvareni na checkboxy Enforce Password Policy (pokud je SQLserver v domene, tak si nacte GPO a aplikuje si password policy z ni / pokud neni v domene tak se ridi Local Security Policy na serveru == ignoruje ale nastaveni Password History a Password Age) a Enforce Policy Expiration (pokud zustane zaskrtnuto Change Password on next, tak si uzivatel nemuze prihlasit k SQL napr. pres sqlcmd, protoze tam nema moznost zmenit si to heslo
– mapping user+login – je 1:1 (pokud se uz vaze jeden db user na jeden srv login, tak uz dalsi db user k tomu srv loginu neudelam!!)
– pokud je WinUser clenem jeste WinGroup a WinUser mel udelany SQL Login a WinGroup mela taky SQL Login, tak overeni se provede na zaklade WinUser, protoze pri overovani Windows se v Tokenu posila nejdrive SIDUser a teprve potom SIDGroups (to je natvrdo ve Win)
– toto umoznuje prenos db, protoze ta obsahuje users, ale musim pak jeste prenest i master db, nebo alespon loginy mapovane na users
– objekty v db – (pro jejich vypis pouziji onu db a dam "SELECT * FROM sys.sysobjects")
– prava na objekty – (pro jejich vypis pouziji onu db a dam "SELECT * FROM sys.sysprotects") – reseno primitivne temito (a jeste dalsimi) tabulkami, a tyto musi SQL server projit, aby zjistil prava – proto je to vsechno nabufferovane v RAM, aby byla odpoved okamzita /// objekt ma nejvyssi prioritu ohledne prav
– 3 stupne efektivnich prav na urovni SQL (na urovni Windows je to ACL) = grant/revoke/deny (deny ma nejvyssi prioritu)
-aplikacni role – daji se ji prava povysit i ponizit – vytvori se role, uzivatel se prihlasi (nastavi se mu prava podle user prav), pak zavola
sp_setapprole nazevrole, heslorole a nyni ma prava presne takova, ktera ma approle
-1. vytvorim login (= uroven SQL server/instance) – zvolim authentikaci, server role, default language (podle tohoto nastaveni se zobrazuji zpravy tomu uzivateli – musi samozrejme byt nainstalovane znakove sady onoho jazyka ve Win) – v tuto chvili se muze pripojit pouze k sys. dbs
-2. vytvorim user (= uroven db) – vlastnosti loginu – user mapping – zaskrtnu databazi a tim se vytvori user na te one db — zvolim mu default schema (tim mu jen jakoby priradim vychozi prekladani)
Keys and Certificates
– symmetric key – jako klic u dveri – odemykam i zamykam nim (kdyz ho ztratim, tak ho nekdo kompletne pouzije)
– asymmetric key – je to par – nejcasteji se pouziva s certifikaty, ktere ho vylepsuji
– v SQL se daji vytvorit pouze 1kB klice, vetsi klice se musi vytvorit mimo a pak je naimportovat do SQL
– service master key (asymm) – vytvori se automaticky pri instalaci!
– db master key (asymm) – muze se vytvorit na db a po vytvoreni se kopiruje do master db, takze pozor na to
– certificate – pouziva se k podepisovani aplikace (pri editace aplikace se klic porusi), k sifrovani dat v tabulkach/desifrovani
– – k namapovani user na certifikat
SQL Server 2005 Best Practise Analyzer – vyborna utilita na audit security</div>

Written on January 1, 2010