如何保護 SQL Server 免受駭客攻擊

如何保護 SQL Server 免受駭客攻擊

我遇到問題,不知道該如何處理。我在 Windows 2008 R2 伺服器上有一個 SQL Server。此 SQL Server 2005 用於接收來自 Internet 上其他位置的另一個 SQL Server 的資料庫訂閱。我透過防火牆打開了 SQL Server 端口,但是在範圍內,我輸入了其他 SQL Server 的 IP。這樣做我希望透過該連接埠的連線請求不會到達 SQL Server,除非請求來自其他 SQL Server(其 IP 在防火牆規則的範圍中列出)。但是,當我看到日誌時,有數百個「登入失敗的使用者 sa」條目(並且它們每秒都會出現)。似乎某些駭客正在嘗試暴力破解用戶 sa 密碼。但問題是,為什麼 Windows 允許這些請求到達 SQL Server,即使它們不是來自防火牆範圍中列出的 IP 位址?保護此 SQL Server 的正確方法是什麼?除了另一個 SQL Server 的 IP 之外,沒有其他 IP 需要連線到此 SQL Server。

編輯 - 更多資訊:

我從不同的機器上在 sql server 連接埠上運行 telnet。 Telnet 失敗,除非從防火牆範圍特別提到的電腦運作。看來防火牆很好地阻止了 sql server 連接埠。但是為什麼我在 SQL Server 日誌中看到來自不同 IP 位址的使用者「sa」的登入請求失敗呢?駭客是否有可能透過連接埠 80 進入計算機,然後以某種方式嘗試連接到 sql 伺服器?端口 80 和 443 對所有人開放。除 sql server 連接埠(僅對一個特定 IP 開放)之外,所有其他連接埠均已關閉。連接埠 80 上的 Web 伺服器上沒有任何正在執行的東西可以引導訪客存取 SQL 伺服器。事實上,Web 伺服器中只有一個index.html(不連接SQL 的純HTML)檔案。這只是一個正在設定以供將來使用的測試伺服器。僅在 SQL Server 中測試資料。

編輯:

我打開了防火牆追蹤以包括丟棄連接和成功連接​​。現在正在追蹤一切。然後我轉到 SQL Server 日誌,在其中看到來自中國不同 IP 位址的失敗登入嘗試。但防火牆日誌中沒有這些 IP 位址的條目。這怎麼可能?他們能否完全繞過防火牆存取 SQL Server?如果假設某些防火牆連接埠已打開,他們可以透過該連接埠進入,則防火牆日誌應顯示該 IP 位址的條目。我完全不知所措。

答案1

聽起來您的防火牆配置不正確。這是第一步。

通常我不會為我寫的書拉皮條,但在這種情況下我會破例。它被稱為保護 SQL Server它會給你一個好的開始。

答案2

簡單地說——你不知道。我不會使用防火牆等 - SQL 伺服器無權上網。非常非常少的例外。

為了進行複製,請設定適當的 VPN。

答案3

除了正確配置防火牆之外,以下是一些保護 SQL Server 免受暴力攻擊的一般建議:

  • 禁用“sa”帳戶。知道確切的登入名稱將使攻擊變得更容易

    ALTER LOGIN sa DISABLE
    

另一個選擇是將“sa”帳戶重新命名為不太明顯的名稱

ALTER LOGIN sa WITH NAME = SimonXZY
  • 使用 Windows 驗證而不是混合模式驗證。 Windows 驗證強制執行 Windows 密碼原則,並在連續登入嘗試失敗的情況下鎖定登入
  • 審核登入失敗。最簡單的方法是將伺服器屬性、安全性標籤中的登入審核選項設定為僅失敗登入或失敗和成功登入。這不會幫助您防範暴力攻擊,但會幫助您了解攻擊

更多有用的建議在這裡: 防止暴力或字典攻擊:如何讓暴力分子遠離你的戰利品

相關內容