2017-02-06 25 views
2

在我的azure中,我創建了SQL數據庫,我啓用了審計&威脅檢測選項,用於記錄審計和威脅檢測。如何在啓用審覈和威脅檢測選項後測試Azure SQL數據庫中的威脅檢測事件?

有關我在azure SQL數據庫中所做的更多信息,請參見下圖。

enter image description here

我寫了下面的代碼在我的控制器檢測SQL注入的威脅。

public List<UsersTable> GetUsersTablebyUserName(string username) 
    { 
     SqlCommand sqlCmd = new SqlCommand(
      "SELECT * FROM UsersTables WHERE UserName='" + username +"'", 
      new SqlConnection(connectionString.ToString())); 
     UsersTable userInfo = null; 
     List<UsersTable> userInfoList = new List<UsersTable>(); 
     using (sqlCmd.Connection = new SqlConnection(connectionString.ToString())) 
     { 
      try 
      { 
       sqlCmd.Connection.Open(); 
       SqlDataReader reader = sqlCmd.ExecuteReader(); 

       if (reader.HasRows) 
       { 
        while (reader.Read()) 
        { 
         userInfo = new UsersTable() 
         { 
          ID = (int)reader[0], 
          UserName=reader[1].ToString(), 
          Password=reader[2].ToString() 
         }; 
         userInfoList.Add(userInfo); 
        } 

       } 
       else 
       { 
        return userInfoList; 
       } 
      } 
      catch (Exception ex) 
      { 
       throw; 
      } 
     } 
     return userInfoList; 


    } 

成功執行上述代碼後,我從azure門戶下載了日誌,並在excel中打開它,如下圖所示。 enter image description here

即使我通過用戶名像測試或「1」 ='1但它不會跟蹤我的日誌威脅檢測它總是顯示訪問狀態成功

任何人都可以告訴我如何看到威脅檢測發生或有人通過像測試或'1'='1到我的上述SQL查詢?

問候,

普拉迪普

回答

1

SQL數據庫威脅檢測提供了連續監測,型材的算法,並檢測正常和可疑活動和模式表明潛在的漏洞和SQL注入攻擊。 爲了減少誤報,我們努力工作,只有在數據庫出現高度可能性攻擊的情況下,我們的算法纔會觸發警報。我們不會在外部分享這項工作的確切細節。

謝謝Tomer(MSFT)。