1 / 37

Biztonságos SQL Server

Biztonságos SQL Server. Vörös József Terméktámogató Mérnök Microsoft Magyarország. 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”. SQL S erver biztonsági architektúra.

Télécharger la présentation

Biztonságos SQL Server

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Windows2000Felhasználó Windows2000Csoport 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: • 276553 HOW TO: Enable SSL Encryption for SQL Server 2000 with Certificate Server: • További információk: • 319349 BUG: Turning On the 'Force Protocol Encryption' Option Is Irreversible • 316898 HOW TO: Enable SSL Encryption for SQL Server 2000 with Microsoft • 318605 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 • http://www.microsoft.com/windows2000/techinfo/planning/security/ipsecsteps.asp • További információk • 813878 How to Block Specific Network Protocols and Ports by Using IPSec • 257225 Basic IPSec Troubleshooting in Windows 2000 • 325383 Support WebCast: Planning and Implementing IPSec in a Windows 2000

  12. Ahálózati forgalom titkosítása • DEMO

  13. SQL Server 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 • 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

  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 • Kiterjesztetttá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’ • AzSQL Enterprise Manager beállítja a szükséges jogosultságokat • 283811 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\Administratorscsoportsysadmin 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. Kiterjesztetttá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ágitanácsok • Rendszeresen telepítsük a Windows illetve SQL Server-hez megjelenő biztonsági javításokat • Használjunk Windows authentikációtahol 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ágitaná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:http://www.microsoft.com/technet/prodtechnol/sql/maintain/security/sp3sec/default.asp • SQL Server 2000 Operations Guide:http://www.microsoft.com/technet/prodtechnol/sql/maintain/operate/opsguide/default.asp • SQL 2000 C2 Admin and User Guidehttp://www.microsoft.com/downloads/details.aspx?FamilyID=71c146f3-9907-40cd-babf-3506ecd33254&displaylang=en

  36. További információk • SQL Server 2000 Security Toolshttp://www.microsoft.com/downloads/details.aspx?FamilyID=9552d43b-04eb-4af9-9e24-6cde4d933600&displaylang=en • 3rd party információk http://www.sqlsecurity.com

More Related