Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Biztonságos SQL Server Vörös József Terméktámogató Mérnök Microsoft Magyarország.

Hasonló előadás


Az előadások a következő témára: "Biztonságos SQL Server Vörös József Terméktámogató Mérnök Microsoft Magyarország."— Előadás másolata:

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 biztonsági arhitektúra SQL Server hálózati biztonság SQL Server hálózati biztonság SQL Server auditálás SQL Server auditálás Az SQL Server védelme „Best Practices” Az SQL Server védelme „Best Practices”

3 SQL Server biztonsági architektúra Autentikáció, Autorizáció Autentikáció, Autorizáció  Auditáljuk a hozzáférést Belépési azonosítók, felhasználók Belépési azonosítók, felhasználók Szerepkörök (Roles) Szerepkörök (Roles) Jogosultságok (Permissions) Jogosultságok (Permissions) Részletes információ: SQL Server Books Online 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 SQL Server hálózati kommunikáció áttekintés Hálózati forgalom titkosítása Hálózati forgalom titkosítása

6 SQL Connection API áttekintése TCP/IP sockets TCP/IP sockets  Kevesebb hálózati forgalmat generál, nincs overhead Named pipes Named pipes  Nagy hálózati forgalom az overhead miatt  Authentikált felhasználót igényel  Local pipes nagyon gyors (shared memory) Multiprotocol Multiprotocol  RPC

7 SQL Connection API áttekintése Mindegyik API titkosítható Mindegyik API titkosítható  “super sockets” wrapper – ssnetlib.dll Kliens oldali konfiguráció (SQL Client Netwok Utility) Kliens oldali konfiguráció (SQL Client Netwok Utility) Szerver oldali konfiguráció (SQL Server 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 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 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 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 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: SSL titkosítás lépései:  HOW TO: Enable SSL Encryption for SQL Server 2000 with Certificate Server: További információk: 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 IPSEC titkosítás lépései  info/planning/security/ipsecsteps.asp További információk 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 DEMO

13 SQL Server auditálás Hozzáférés auditálás Hozzáférés auditálás  Engedélyezés az SQL enterprise managerben  SQL errorlog fájlba logol SQL Trace, SQL Profiler SQL Trace, SQL Profiler Hogyan auditáljunk? Hogyan auditáljunk? C2 auditálás C2 auditálás

14 SQL Server Trace SQL Trace – szerver oldali komponens SQL Trace – szerver oldali komponens SQL Profiler – Felhasználói interfész SQL Profiler – Felhasználói interfész Audit az SQL trace segítségével készíthető Audit az SQL trace segítségével készíthető  SQLServr.exe processzen belül Biztonságos 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 Mindegyik Audit trace konfigurálható, hogy milyen mezőket tartalmazzon A biztonsági audit számára fontos mezők: 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 Az audit (C2 audit kivételével) egy profiler trace Készítsük el a trace-t az SQL Profiler használatával 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 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 Á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 NTFS partíciót kell használnunk Minden esemény rögzítésere kerül Minden esemény rögzítésere kerül Ha az audit fájl nem írható leállítja a szervert Ha az audit fájl nem írható leállítja a szervert A file roll-over mérete fixen 200MB 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 Az audit fájlok az mssql\data könyvtárba kerülnek audit_YYYYMMDDHHMMSS_1 néven Engedélyezése: 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 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 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 DEMO

21 Az SQL Server védelme „Best Practices” Service Account követelmények Service Account követelmények SQL Login jelszóbiztonság SQL Login jelszóbiztonság Az sa login védelme Az sa login védelme Administrator accounts Administrator accounts Kiterjesztett tárolteljárások (extended stored procedures) Kiterjesztett tárolteljárások (extended stored procedures) Proxy Accounts Proxy Accounts Szkript Biztonság Szkript Biztonság Általános biztonsági szabályok Általános biztonsági szabályok

22 Service Account követelmények A service account nevében fut az MSSQL és az MSSQLAGENT szerviz 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 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-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 Read hozzáférés az SQL binárisokhoz és az EFS kulcshoz Szükséges account jogosultságok 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 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 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: 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 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 login nem távolítható el, ezért speciális figyelmet igényel Az sa jelszava legyen mindig bonyolult (kisbetű, nagybetű, szám, stb.) 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 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 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 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 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 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 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 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 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: 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: 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á Az adminisztratív szkriptek legyenek védve, csak a DBA csoport tagjai férjenek hozzá Auditáljuk a szkript változásokat Auditáljuk a szkript változásokat Szigorú ACL-t állítsunk be a fájlokon Szigorú ACL-t állítsunk be a fájlokon Soha ne használjunk beégetett jelszavakat a szkriptekben 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 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 Használjunk Windows authentikációt ahol csak lehet Az SQL XML konfigurálása IIS szerveren fokozott körültekintést igényel 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 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 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 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 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 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 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 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 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 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 Minden csomaghoz rendeljünk tulajdonos jelszót

35 További információk SQL Server 2000 SP3 Security Features & Best Practices: rity/sp3sec/default.asp SQL Server 2000 SP3 Security Features & Best Practices: rity/sp3sec/default.asp SQL Server 2000 Operations Guide: ate/opsguide/default.asp SQL Server 2000 Operations Guide: ate/opsguide/default.asp SQL 2000 C2 Admin and User Guide 146f cd-babf-3506ecd33254&displaylang=en SQL 2000 C2 Admin and User Guide 146f cd-babf-3506ecd33254&displaylang=en

36 További információk SQL Server 2000 Security Tools 04eb-4af9-9e24-6cde4d933600&displaylang=en SQL Server 2000 Security Tools 04eb-4af9-9e24-6cde4d933600&displaylang=en 3rd party információk 3rd party információkhttp://www.sqlsecurity.com

37


Letölteni ppt "Biztonságos SQL Server Vörös József Terméktámogató Mérnök Microsoft Magyarország."

Hasonló előadás


Google Hirdetések