Category: security

Adatelérés két adatbázis között

Két db között a legegyszerűbb adatelérés, ha mindkét db-ben létrehozzuk ugyanazt a user-t megfelelő jogosultságokkal. Ekkor semmi dolgunk. Amennyiben viszont két különböző db között kell megteremteni az adatelérést, akkor ugyan szintén használható a fenti módszer, de ennél szigorúbb eljárást is követhetünk. Tegyük fel van 2 adatbázisunk (db1, db2) és a db1-ben lévő táblát akarjuk elérni […]

Proxy user-ek

Gyakran előfordul, hogy pl. egy ütemezett feladatban cmd parancsot kell kiadni egy win. user nevében. Ilyenkor kell felvenni a proxy user-t és a job-ot az agent helyett ezzel a user-rel futtathatjuk. Lépések: 1. Credential user felvétele: (a username-nek egy létező WIN. usernek kell lennie) USE [master] GO CREATE CREDENTIAL [credentialName] WITH IDENTITY = N’username’, SECRET […]

Adatbázis eljárások védelme (ADD SIGNATURE)

Ha szeretnénk az egyébként nyílt forráskódú eljárásainkat módosítás ellen védeni, akkor arra az SQL Server lehetőséget ad. Az eljárásokat aláírhatjuk. Ezt a következő példában láthatjuk: — Create cert. CREATE CERTIFICATE cert_signature_demo ENCRYPTION BY PASSWORD = ‘password’ WITH SUBJECT = ‘ADD SIGNATURE demo'; GO — Create a simple procedure. CREATE PROC [sp_signature_demo] AS PRINT ‘This is […]

SQL Server 2016 Always Encrypted Column

Oszlopok titkosítása transzparensen, anélkül, hogy az alkalmazásban erre függvényeket kellene használni, ráadásul a kulcsot az általunk megadott tanusítvánnyal hozhatjuk létre. linkek: http://blogs.msdn.com/b/sqlsecurity/archive/2015/06/04/getting-started-with-always-encrypted.aspx https://msdn.microsoft.com/en-us/library/mt147923(v=sql.130).aspx https://msdn.microsoft.com/en-us/library/mt163865(v=sql.130).aspx http://security.stackexchange.com/questions/90931/is-sql-server-2016s-deterministic-encryption-any-good http://superuser.com/questions/810428/why-is-the-local-certificate-store-missing-in-windows-8-1 Az adatbázis objektumokat létrehozó script az alábbiakban látható (természetesen a kulcsokat érdemes az SSMS-el létrehozni lsd. az első linken): /****** Object: ColumnMasterKeyDefinition [CMK1] Script Date: 2015.06.12. 12:45:58 ******/ CREATE […]

ReadOnly adatbázisjogú felhasználó felvétele

Az alábbi példa egy csak olvasás jogú user felvételét biztosítja. Ennek tesztelését az EXECUTE as és REVERT parancsokkal végezhetjük el. CREATE LOGIN [SEA_USER] WITH PASSWORD = ‘*****’ CREATE USER [SEA_USER] FOR LOGIN [SEA_USER] GO EXEC sp_addrolemember N’db_datareader’, N’SEA_USER’ GO –teszt: execute as user = ‘SEA_USER’ GO select * from dolgozok — permission was denied update […]

Adatbázis userek és szerepkörök jogainak lekérdezése

Ennek lekérdezése elég bonyolult, persze van az SSMS-ben felület, hogy egyesével megnézzük, de ne má’. Íme a kód: WITH perms_cte as ( select USER_NAME(p.grantee_principal_id) AS principal_name, dp.principal_id, dp.type_desc AS principal_type_desc, p.class_desc, OBJECT_NAME(p.major_id) AS object_name, p.permission_name, p.state_desc AS permission_state_desc from sys.database_permissions p inner JOIN sys.database_principals dp on p.grantee_principal_id = dp.principal_id ) — users SELECT p.principal_name, p.principal_type_desc, […]