SQLServer 4. téma DBMS védelem konfiguráció
Kovács László, ME GEIAL
Védelmi struktúra -szintek: - mit tudsz -jelszó - mid van -kártya - ki vagy -bimetria
- Authentikáció - Authorizáció - Audit Védelmi modellek - DAC - MAC
Kovács László, ME GEIAL
1
Védelmi modell DAC - Hozzáférés mátrix - szubjektum - objektum - művelet
Egységek: - csoportok - szerepkörök MAC
- Keretrendszer - centralizált - La Padulla elv
-Security - level - area
Kovács László, ME GEIAL
Védelmi struktúra szerver
USER_1 ROLE
LOGIN USER_2
jog ROLE jog
jog
jog
Kovács László, ME GEIAL
2
Service jogkörei Lehetőleg ne az OS rendszer adminisztrátori csoportba tegyük Minden szolgáltatáshoz külön OS login
Kovács László, ME GEIAL
LOGIN adatok beállítása Nyilvántartási módok: - WINDOWS - MIXED LOGIN létrehozása: CREATE LOGIN nev FROM WINDOWS CREATE LOGIN nev WITH PASSWORD=pwd MUST_CHANGE = m CHECK_EXPIRATION=m CHECK_POLICY=m Kovács László, ME GEIAL
3
Login adatok kezelése • LOGIN blokkolása, engedélyezés: – ALTER LOGIN login DISABLE – ALTER LOGIN login ENABLE
• LOGIN bejelentkezés kezelése: – GRANT CONNECT TO login – DENY CONNECT TO login
• LOGIN módosítás: – ALTER LOGIN nev WITH PASSWORD… – DROP LOGIN nev Kovács László, ME GEIAL
LOGIN módok Windows mód előnyei: - megbízhatóbb ellenőrzés - szakértőbb csoport kezelheti - csoportosíthatók (az SA login is letiltásra kerül) - a jelszó nem megy át a hálón Mixed mód előnyei: - rugalmasabb szereposztás - nem Windows kliens eléréshez használható Kovács László, ME GEIAL
4
Jelszó ellenőrzés DES működési mechanizmusa - blokk orientált - egykulcsos - műveleti blokkok - XOR, permutáció - műveleti egységek - S-BOX
Kovács László, ME GEIAL
Kovács László, ME GEIAL
5
Credentials Egy külső szolgáltatás eléréséhez szükséges jogosultságok együttese (pl. név, jelszó) Login-hoz rendelhető CREATE CREDENTIAL sqlusers WITH IDENTITY = 'machinesqlusers', SECRET =..)‘ go CREATE LOGIN mary WITH PASSWORD = 'mary' GO ALTER LOGIN mary WITH CREDENTIAL = sqlusers Kovács László, ME GEIAL
Proxy Az SQLAgent esetében használatos Célja: alkalmazások összekötése a Credentials-szal
Kovács László, ME GEIAL
6
DB felhasználók USER: egy adatbázishoz kötött Létrehozás: CREATE USER unev FOR LOGIN nev ALTER USER unev … DROP USER unev A default USER: GUEST Jogosultság megadása: GRANT jog TO user REVOKE jog FROM user DENY jog TO user
Kovács László, ME GEIAL
Roles (szerepkörök) • Jogosultságok halmaza. – Szerver szintű – Adatbázis szintű
• Létrehozása: – CREATE ROLE nnn
• Jogosultság felvitele – GRANT jog TO szerepkör
• Felhasználó kijelölése: – EXECUTE sp_addrolemember role, user Kovács László, ME GEIAL
7
Roles (szerepkörök) Server szintűek Sysadmin Serveradmin Setupadmin
DBA Konfiguráció Kapcsolt szerverek kezelése Védelem kezelése Alkalmazások, processzek CRATE ALTER DB Állományok kezelése BULK INSERT kezelése
Securityadmin Processadmin Dbcreator Diskadmin Bulkadmin
Kovács László, ME GEIAL
Roles (szerepkörök) DB szintűek Db_owner DB_accessadmin DB_securityadmin Db_datareader Db_datawriter Db_ddladmin DB_backuporeator
DB-szintű DBA CONNECT jog felügyelet Védelmi jogok felügyelete SELECT jog DML jog Séma módosítás mentések kezelése
Kovács László, ME GEIAL
8
Application role • Nem személyhez, hanem megadott alkalmazáshoz kötődik • Csak az alkalmazás ideje alatt él • Felvétele: sp_setapprole • Jelszó védi
Kovács László, ME GEIAL
Adattitkosítási lehetőségek • Service master key: – Szimmetrikus kulcs, automatikusan generált – Server password, connection strings, account passowords, DB master keys
• DB master key – CREATE MASTER KEY ENCRYPTION BY pwd – DB passwords
Kovács László, ME GEIAL
9
Adattitkosítási lehetőségek • Adat kódolás: – Szimmetrikus vagy asszimmetrikus kulcs – CREATE SYMMETRIC KEY kk WITH ALGORITHM = mod ENCRYPTION BY PASSWORD=pwd – Felhasználása: • EncryptByKey(Key_GUID(kk),szöveg) • DecryptByKey(szöveg)
Kovács László, ME GEIAL
Adattitkosítási lehetőségek -- Create a Master Key USE MASTER GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = GO -- Create a Certificate USE MASTER GO CREATE CERTIFICATE tdeCertificate WITH SUBJECT = 'TDE Certificate'; GO Kovács László, ME GEIAL
10
Adattitkosítási lehetőségek -- Backup the certificate -- Required if restoring encrypted databases to another server -- Also required for server rebuild scenarios USE MASTER GO BACKUP CERTIFICATE tdeCertificate TO FILE = '' WITH PRIVATE KEY (FILE = 'e:\cert\tdeCertificatePrivateKey.backup', ENCRYPTION BY PASSWORD = 'jjKiid_%%4-9') GO
Kovács László, ME GEIAL
Adattitkosítási lehetőségek -- Create a Database Encryption Key USE [AdventureWorks2008] GO CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_128 ENCRYPTION BY SERVER CERTIFICATE tdeCertificate GO -- Encrypt the database using TDE -- Encryption will proceed as a background task ALTER DATABASE [AdventureWorks2008] SET ENCRYPTION ON GO Kovács László, ME GEIAL
11
Auditing • A felhasználói tevékenységek naplózása • Szintjei: – Server vagy adatbázis – Személy – Tevékenység
Kovács László, ME GEIAL
Auditing
Kovács László, ME GEIAL
12
DDL Trigger CREATE TRIGGER DDLTrigger_CreateTable ON DATABASE FOR create_table AS CREATE TRIGGER DDLTrigger_PreventTableChanges ON DATABASE FOR DROP_TABLE, ALTER_TABLE AS PRINT 'Cannot drop or modify tables in this database' ROLLBACK Kovács László, ME GEIAL
Login Trigger CREATE TRIGGER validateLogonTrigger ON ALL SERVER WITH EXECUTE AS 'logonTrigger‘ FOR LOGON AS BEGIN DECLARE @time time(0) = getdate() IF ORIGINAL_LOGIN() = 'ReportUser' AND @time BETWEEN '23:00:00' and'23:30:00' ROLLBACK END Kovács László, ME GEIAL
13
Policy–based management
Kovács László, ME GEIAL
source: SQLServer manual
Policy–based management A DBA fontosabb feladatai: - objektumok menedzselése - a minimális igényelt jogosultsági rendszer beállítása - full recovery modell működtetése - beállítások menedzselése - művelet optimalizálás A Policy-based management egy speciális Active Directory az SQLServer felé. Célja a DB rendszer integritásának, védelmének felügyelete Eszközrendszer arra, hogy a védelmi, működési paraméterek a megszabott értéken maradjanak Kovács László, ME GEIAL
14
Policy–based management Alapfogalmak: Target: az engeldély tárgya, pl. tábla, adatfile,.. Facets: egységbe fogott paraméterek Conditions: a paraméterekre kiszabott felételek Mode: az ellenőrzés módja Policy: target + conditions + mode Enterprise Policy manager: szerver park adminisztrálása
Kovács László, ME GEIAL
Policy–based management - tábla - file - index - eljárás - user - mentés - memória - SQL -…
Target kijelölése Kovács László, ME GEIAL
15
Policy–based management
Facets kijelölése Kovács László, ME GEIAL
Policy–based management param Op érték elemek megadása
Kovács László, ME GEIAL
Conditions kijelölése
16
Policy–based management Működési módok: On Change – Prevent: egy DDL triggeren keresztül ellenőriz, és visszavonja a szabályt sértő művelet On Change – Log Only egy DDL triggeren keresztül ellenőriz, és csak naplózza a sértő műveletet On Schedule ütemezett indítás On Demand kézi indítás Kovács László, ME GEIAL
Policy–based management
Kovács László, ME GEIAL
A policy ellenőrzésének hatása (példa)
17
Policy–based management A policy - exportálható - importálható - van gyárilag definiált
Kovács László, ME GEIAL
18