none
בדיקות אבטחה לsql server RRS feed

  • שאלה

  • שלום לכולם 

    אני מחפש רשימה של בדיקות אבטחה ואת השאילתות שלהן שאני יכול להריץ אצלי בinstance 
    של sql server 

    אני רוצה שכולם יהיו בתוך SSMS

    ולא בכלי אחר 


    תודה רבה ויום מעולה
    יום שני 18 אוגוסט 2014 09:48

תשובות

  • הי,

    נראה לי שכיסית את רוב הדברים. הייתי מוסיף לרשימה:

    1. SQL Server Logins עם הגדרות אבטחה לא מלאות (Enforce Password Policy ו-Enforce Password Expiration)

    2. Logins שלא התחברו למערכת מעל X ימים ואולי אפשר למחוק

    3. Credentials ו-Proxies שמוגדרים ב-Instance

    4. End Points שמוגדרים ב-Instance

    5. הרשאות לא סטנדרטיות ל-Public Role גם ברמת ה-Instance וגם ברמת ה-Database

    6. Expiration Date של Certificates

    7. שימוש ב-TDE

    8. הגדרות של ה-Services של SQL Server (פורטים, Hide Instance, הצפנה, Logon Accounts, וכו')

    9. הרשאות Impersonate ו/או שימוש ב-EXECUTE AS בקוד

    10. שימוש ב-Instant File Initialization

    אם אתה כבר כותב סקריפטים לכל הדברים האלה, נשמח אם תפרסם אותם כאן ותשתף את כולם.

    בהצלחה!

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server
    Madeira - SQL Server Services
    http://www.madeirasql.com

    • הוצע כתשובה על-ידי pituachMVP, Editor יום שלישי 26 אוגוסט 2014 16:26
    • סומן כתשובה על-ידי pituachMVP, Editor יום רביעי 27 אוגוסט 2014 21:43
    יום שלישי 26 אוגוסט 2014 05:42
    מנחה דיון

כל התגובות

  • אני לחא מצליח אתצ השאלה שלך. אולי תנסה להבהיר מה ז"א השאילתות שאתה יכול להריץ?

    אתה יכול להריץ כל שאילתה שיש לך הרשאות

    אם יש בעיה אז אתה יכול להגביל הרשאות של משתמשים

    הרשאות ניתן לקבוע ברמת השרת, ברמת מסד הנתונים, ברמת טבלאות או אלמנט אחר (למשל VIEW), ואפילו ברמת נתונים בודדים בעקרון.. יש לך שליטה מלאה


    [Personal Site] [Blog] [Facebook]signature

    • סומן כתשובה על-ידי Eran Sharvit יום חמישי 21 אוגוסט 2014 19:57
    • סימון כתשובה בוטל על-ידי pituachMVP, Editor יום שלישי 26 אוגוסט 2014 16:26
    יום שני 18 אוגוסט 2014 19:55
    מנחה דיון
  • כנראה ניסחתי את עצמי לא נכון

    אני רוצה רשימה של כמה בדיקות שאני יכול לחקור את המערכת שלי יותר טוב 

    לדוגמא זה מה שאני בודק עכשיו :
    Allow Guest Users
    Authentication Mode
    Auto Close option
    Blank/simple passwords
    Built in Administrators
    Connections with SA
    Cross DB Chaining

    Failed Login Attempts
    Failed login logging option
    Guest login
    Linked server security
    Locked out logins
    Logins with SysAdmin
    Sample databases installed
    SQL Server security configuration options




    מה עוד אפשר להוסיף לרשימה??
    יום שלישי 19 אוגוסט 2014 08:52
  • מצטער אני עדיין לא מבין...

    זה ניראה כמו רשימה של הרשאות ולא בדיקות.

    אתה יכול לקבל רשימה של ההשרשאות של משתמש אם אתה רוצה. אתה לא אמור לבדוק בפועל אם למשתמש יש הרשאה מסויימת על כך שהוא מנסה לבצע משהו ואז מתקבלת הודעה שאין לו הרשאה :-)


    [Personal Site] [Blog] [Facebook]signature

    יום שלישי 19 אוגוסט 2014 19:30
    מנחה דיון
  • אתן לך דוגמאות 

    אם יש הרשאות לגסט 

    set transaction isolation level read uncommitted;
    set nocount on;
    go
    create table #HasDbAccess (dbid int, hasdbaccess int)
    exec sp_MSforeachdb 'insert into #HasDbAccess select db_id(''?''), hasdbaccess from [?]..sysusers where name=''guest'''
    select 
            name , 
            case (case h.dbid when 1 then 3 when 2 then 3 else h.hasdbaccess end) when 3 then 'NUll' when 1 then 'Yes' when 0 then 'No' end
     from master..sysdatabases d join #HasDbAccess h on d.dbid=h.dbid
    order by d.dbid;
    drop table #HasDbAccess

    בדיקת --Locked out logins

    set transaction isolation level read uncommitted;
    set nocount on;
    go
    begin
    	exec('select name from sys.server_principals  where is_disabled=1 or LOGINPROPERTY(name, ''IsLocked'') = 1')
    end
    

    בדיקת SQL Server configuration options affecting security

    set transaction isolation level read uncommitted;
    set nocount on;
    go
    create table #sp_configure (name sysname, minimum bigint, maximum bigint,config_value bigint, run_value bigint)
    insert into #sp_configure exec master..sp_configure 
    select name + '#' + cast(run_value as varchar) from #sp_configure where name in (
    'Ad Hoc Distributed Queries'
    ,'clr enabled'
    ,'default trace enabled'
    ,'Ole Automation Procedures'
    ,'remote admin connections'
    ,'SMO and DMO XPs'
    ,'SQL Mail XPs'
    ,'xp_cmdshell')
    drop table #sp_configure
    

    אם יש לכם עוד בדיקות בסגנון אני אשמח לשמוע עליהם 
    לא חיייב גם את הסינטקס 

    מספיק לי רשימה של כמה בדיקות ומה מחפשים בהן 

    ואני כבר אחפור לעומק


    תודה לעוזרים :)

    יום רביעי 20 אוגוסט 2014 08:15
  • הי,

    נראה לי שכיסית את רוב הדברים. הייתי מוסיף לרשימה:

    1. SQL Server Logins עם הגדרות אבטחה לא מלאות (Enforce Password Policy ו-Enforce Password Expiration)

    2. Logins שלא התחברו למערכת מעל X ימים ואולי אפשר למחוק

    3. Credentials ו-Proxies שמוגדרים ב-Instance

    4. End Points שמוגדרים ב-Instance

    5. הרשאות לא סטנדרטיות ל-Public Role גם ברמת ה-Instance וגם ברמת ה-Database

    6. Expiration Date של Certificates

    7. שימוש ב-TDE

    8. הגדרות של ה-Services של SQL Server (פורטים, Hide Instance, הצפנה, Logon Accounts, וכו')

    9. הרשאות Impersonate ו/או שימוש ב-EXECUTE AS בקוד

    10. שימוש ב-Instant File Initialization

    אם אתה כבר כותב סקריפטים לכל הדברים האלה, נשמח אם תפרסם אותם כאן ותשתף את כולם.

    בהצלחה!

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server
    Madeira - SQL Server Services
    http://www.madeirasql.com

    • הוצע כתשובה על-ידי pituachMVP, Editor יום שלישי 26 אוגוסט 2014 16:26
    • סומן כתשובה על-ידי pituachMVP, Editor יום רביעי 27 אוגוסט 2014 21:43
    יום שלישי 26 אוגוסט 2014 05:42
    מנחה דיון
  • ביטלתי את סימון התשובה על התגובה שלי.

    זו אינה תשובה אלא רק שאלה מכוונ להבנת השאלה המקורית.
    * סימון התשובה יצר מצב שלא בדקתי את השאלה מפני שחשבתי שהיא סגורה.



    [Personal Site] [Blog] [Facebook]signature

    יום שלישי 26 אוגוסט 2014 16:27
    מנחה דיון