Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Biztonságos SQL Server
Vörös József Terméktámogató Mérnök Microsoft Magyarország
2
Miről lesz szó SQL Server biztonsági arhitektúra
SQL Server hálózati biztonság SQL Server auditálás Az SQL Server védelme „Best Practices”
3
SQL Server biztonsági architektúra
Autentikáció, Autorizáció Auditáljuk a hozzáférést Belépési azonosítók, felhasználók Szerepkörök (Roles) Jogosultságok (Permissions) Részletes információ: SQL Server Books Online
4
Javasolt Biztonsági modell
Windows 2000 Felhasználó Windows 2000 Csoport Login – SQL Server (a csoport számára) User Defined adatbázis szerepkör
5
Hálózati biztonság SQL Server hálózati kommunikáció áttekintés
Hálózati forgalom titkosítása
6
SQL Connection API áttekintése
TCP/IP sockets Kevesebb hálózati forgalmat generál, nincs overhead Named pipes Nagy hálózati forgalom az overhead miatt Authentikált felhasználót igényel Local pipes nagyon gyors (shared memory) Multiprotocol RPC
7
SQL Connection API áttekintése
Mindegyik API titkosítható “super sockets” wrapper – ssnetlib.dll Kliens oldali konfiguráció (SQL Client Netwok Utility) Szerver oldali konfiguráció (SQL Server Netwok Utility)
8
A hálózati forgalom titkosítása
A kommunikációs csatornát titkosítani kell Alapértelmezésben minden clear text a felhasználónév és a jelszó kivételével Sajnos a használt encryption gyenge Az SSL használata illetve a Windows Authentication használata jobb megoldás Mulitportocol Encryption Windows RPC titkosítás A titkosítás erőssége (40 bit, 128 bit) az operációs rendszertől függ
9
A hálózati forgalom titkosítása
SSL Előnye: mindegyik kommunikáció típussal használható A titkosítás erőssége (40 bit, 128 bit) az operációs rendszertől függ Hátránya: PKI infrastruktúrát igényel IPSec Előnye: alkalmazás független Hátránya: komplex menedzsment, leterhelheti a kommunikáló gépeket
10
A hálózati forgalom titkosítása
SSL titkosítás lépései: HOW TO: Enable SSL Encryption for SQL Server 2000 with Certificate Server: További információk: BUG: Turning On the 'Force Protocol Encryption' Option Is Irreversible HOW TO: Enable SSL Encryption for SQL Server 2000 with Microsoft INF: How SQL Server Uses a Certificate When the Force Protocol
11
A hálózati forgalom titkosítása
IPSEC titkosítás lépései További információk How to Block Specific Network Protocols and Ports by Using IPSec Basic IPSec Troubleshooting in Windows 2000 Support WebCast: Planning and Implementing IPSec in a Windows 2000
12
A hálózati forgalom titkosítása
DEMO
13
SQL Server auditálás Hozzáférés auditálás SQL Trace, SQL Profiler
Engedélyezés az SQL enterprise managerben SQL errorlog fájlba logol SQL Trace, SQL Profiler Hogyan auditáljunk? C2 auditálás
14
SQL Server Trace SQL Trace – szerver oldali komponens
SQL Profiler – Felhasználói interfész Audit az SQL trace segítségével készíthető SQLServr.exe processzen belül Biztonságos
15
SQL Server 2000 Security Audit Események
Add DB User Login Change Password Add Login to Server Role Login Change Property Add member to DB Role Login Failed Add Role Login Permission GDR Add login Object Derived Permissions App Role Change Password Object Permission GDR Backup/Restore Object Permission used Change Audit Server Start / Stop DBCC Executed Statement Permission GDR Login / Logout Statement Permission used
16
Audit Esemény adatok Mindegyik Audit trace konfigurálható, hogy milyen mezőket tartalmazzon A biztonsági audit számára fontos mezők: Success (boolean) Login name Statement text Start Time Duration
17
Hogyan Auditáljunk Az audit (C2 audit kivételével) egy profiler trace
Készítsük el a trace-t az SQL Profiler használatával Szkripteljük le a trace létrehozását az SQL számára Állítsuk be, hogy a trace a szerver indulásakor automatikusan induljon A trace setup kerüljön bele egy tárolt eljárásba Állítsuk be, hogy a tárolt eljárás automatikusan elinduljon (autostart)
18
C2 auditálás NTFS partíciót kell használnunk
Minden esemény rögzítésere kerül Ha az audit fájl nem írható leállítja a szervert A file roll-over mérete fixen 200MB Az audit fájlok az mssql\data könyvtárba kerülnek audit_YYYYMMDDHHMMSS_1 néven Engedélyezése: Exec sp_configure ‘C2 audit mode’, 1
19
Audit ajánlás Ne használjunk C2 audit logolást, csak ha feltétlen szükséges Csak a ténylegesen szükséges adatokat gyűjtsük be DBA Events, logins, password changes, etc.
20
SQL Server auditálás DEMO
21
Az SQL Server védelme „Best Practices”
Service Account követelmények SQL Login jelszóbiztonság Az sa login védelme Administrator accounts Kiterjesztett tárolteljárások (extended stored procedures) Proxy Accounts Szkript Biztonság Általános biztonsági szabályok
22
Service Account követelmények
A service account nevében fut az MSSQL és az MSSQLAGENT szerviz Jellemzően ez a LocalSystem Védekezés: Local account beállítása minimális jogosultságokkal Local vagy Domain Account Local account preferált. Domain account ugró pontot biztosíthat a betörők számára A local accountok adminisztárciója nehézkes. Szintén támadási felület lehet. Bizonyos esetekben (pl. replikáció) domain accountot kell használni
23
Service Account követelmények
Read-Write hozzáférés az SQL adatkönyvtárhoz és a registry-hez Read hozzáférés az SQL binárisokhoz és az EFS kulcshoz Szükséges account jogosultságok ‘log on as a service’ ‘user cannot change password’ ‘password never expires’ Az SQL Enterprise Manager beállítja a szükséges jogosultságokat HOW TO: Change the SQL Server or SQL Server Agent Service Account
24
SQL Login jelszóbiztonság
Az általános ökölszabályok érvényesek: Ne legyen üres jelszó Ne egyezzen meg a belépési azonosítóval Ne legyen egyszerű szó Legyen benne betű és szám Ezeket szkriptekkel tudjuk kikényszeríteni
25
Az sa Login védelme Az sa login nem távolítható el, ezért speciális figyelmet igényel Az sa jelszava legyen mindig bonyolult (kisbetű, nagybetű, szám, stb.) Még Windows Authentication Mode használata esetén is Ha esetleg változik a Szerver biztonsági módja, akkor is védve vagyunk Ha nem muszáj, ne használjuk Minden adminisztrátornak legyen saját azonosítója sysadmin szerepkörrel
26
Administrator Accounts
Alapértelmezésben a Windows BUILTIN\Administrators csoport sysadmin fix szerver szerepkörrel rendelkezik Ebből adódóan az összes Domain Administrator és Local Administrator sysadmin szerepkörrel rendelkezik BUILTIN\Administrators csoportot célszerű eltávolítani
27
Kiterjesztett tárolt eljárások
A master adatbázis tartalmazza az extended tárolt eljárásokat, amik az SQL szerver által regisztrált dll-k T-SQL–ből könnyen elérhető kibővített funkciók Legyünk nagyon körültekintőek, amikor ezen eljárásokhoz jogosultságot adunk Az xp_cmdshell kritikus, operációs rendszer parancsok futtatására ad lehetőséget, ha nem kell dobjuk el
28
Proxy Accounts Az adminisztrátor által megadott domain user azon felhasználók számára, akik nem tagjai a sysadmin szerepkörnek Lehetőséget ad a következők futtatására: xp_cmdshell SQL Server Agent job, amely CmdExec vagy ActiveX scripting műveletet hajt végre. Ha szükség van az xp_cmdshell használatára: Ne sysadmins csoport tagjaként futtassuk Konfiguráljunk minimális jogosultságokkal rendelkező proxy account-ot
29
Szkript biztonság Az adminisztratív szkriptek legyenek védve, csak a DBA csoport tagjai férjenek hozzá Auditáljuk a szkript változásokat Szigorú ACL-t állítsunk be a fájlokon Soha ne használjunk beégetett jelszavakat a szkriptekben
30
Általános biztonsági tanácsok
Rendszeresen telepítsük a Windows illetve SQL Server-hez megjelenő biztonsági javításokat Használjunk Windows authentikációt ahol csak lehet Az SQL XML konfigurálása IIS szerveren fokozott körültekintést igényel Vizsgáljuk felül az SQL Server összes használt elérési módját Enterprise Manager, Microsoft Access, Query Analyzer, osql, stb.
31
Általános biztonsági tanácsok
Az alkalmazások ne adjanak részletes hibaüzenetet a kliensek számára Az információs és hibaüzeneteket célszerű általánosabb érvényű üzenetekre lecserélni Az adminisztratív célú tárolt eljárások számára hozzunk létre külön adatbázist
32
Átalános biztonsági tanácsok
Egyik felhasználónak se legyen az alapértelmezett adatbázisa a master Ne engedjük a felhasználóknak objektum létrehozását a master és msdb adatbázisokban Dobjuk el a pubs és northwind példa adatbázisokat az éles üzemben lévő szerverekről
33
Átalános biztonsági tanácsok
A public szerepkör az alapértelmezett mindegyik adatbázisban az összes felhasználó, és szerepkör számára Ne adjunk további jogosultságokat public szerepkörhöz Ne adjunk deny jogosultságot public szerepkörhöz Az összes felhasználói adatbázisból töröljük a guest account-ot
34
DTS csomagok biztonsága
A DTS csomagokhoz rendelhető tulajdonos és felhasználó jelszó A tulajdonos jelszó lehetővé teszi a felhasználók számára, hogy megnézzék, és módosítsák a csomagot a DTS designer-ben A felhasználó jelszó lehetővé teszi, hogy a felhasználó futtassa az adott csomagot Minden csomaghoz rendeljünk tulajdonos jelszót
35
További információk SQL Server 2000 SP3 Security Features & Best Practices: SQL Server 2000 Operations Guide: SQL 2000 C2 Admin and User Guide
36
További információk SQL Server 2000 Security Tools 3rd party információk
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.