「拖庫」防不勝防,如何早做預防?

2021-09-20 04:41:26 字數 4319 閱讀 9787

近期有訊息爆出某酒店資料庫被拖庫,資料主要包括註冊資料、酒店入住登記資訊以及開房記錄。

此次事件涉及使用者資訊十分敏感,後續連串反應將造成的損失難以估計。我們在思考如何保護自己的資訊保安同時,更要思考企業如何保證資訊保安,做好安全加固,避免千丈之堤,潰於蟻穴。

該酒店資訊洩露事件,起因疑似該公司程式設計師將資料庫連線方式上傳至 github 導致其洩露。

1)公司的**被大規模地上傳到 github,事前應有專人負責開源,事後應有報警措施

2)為了安全起見,資料庫一般來說應該只限內部 ip 訪問關閉外網訪問,並設定訪問白名單

3)資料庫的使用者名稱最好另創乙個不要直接用 root

4)資料庫密碼需要避免弱口令

5)資料庫使用的是預設埠3306,重要資料應關閉常用埠號,開放不常用埠號,避免黑客對常用埠號的惡意掃瞄和攻擊

資料庫被勒索原因

基線安全問題已經成了web漏洞之外入侵伺服器的主要途徑,特別是無網路訪問控制、預設賬號和空口令、預設賬號弱口令、後台暴露、後台無口令未授權訪問等情況。錯誤的配置可以導致相關服務暴露在公網上,成為黑客攻擊的目標,加上採用空密碼等弱口令,黑客以極低的攻擊成本輕鬆獲取和入侵這些服務。

預防方案——資料庫安全加固方案

找到了原因,就可以」對症下藥」了,您可以通過資料庫系統的安全配置加固,提高資料庫的安全性,確保資料庫服務穩定、安全、可靠地執行,預防資料庫勒索。下文以mysql資料庫安全加固為例。

漏洞發現

1)自動化檢測方式:

例如阿里雲安騎士提供預設的檢測策略,無需安裝,您可以登入到控制台,檢視安騎士檢測的結果,並根據結果進行整改封堵漏洞。

2)人工+工具排查:

您也可以使用類似nmap這樣的埠掃瞄工具直接針對被檢查的伺服器ip(在伺服器外網執行)執行掃瞄,以確認業務伺服器開放在外網的埠和服務。

注:需要在授權情況下對自身業務進行掃瞄,不要對其他不相關的業務進行非法掃瞄,避免法律風險。

安全加固

1、 帳號安全

1)禁止 mysql 以管理員帳號許可權執行

以普通帳戶安全執行 mysqld,禁止以管理員帳號許可權執行 mysql 服務。在 /etc/my.cnf 配置檔案中進行以下設定。

[mysql.server]

user=mysql

2) 避免不同使用者間共享帳號

參考以下步驟。

mysql> mysql> insert into

mysql.user(host,user,password,ssl_cipher,x509_issuer,x509_sub

ject) values("localhost","pppadmin",password("passwd"),'','','');

執行以上命令可以建立乙個 phplamp 使用者。

mysql>exit; 

@>mysql -u phplamp -p

@>輸入密碼

mysql>登入成功

3) 刪除無關帳號

drop user 語句可用於刪除乙個或多個 mysql 賬戶。使用 drop user 命令時,必須確保當前賬號擁有 mysql 資料庫的全域性 create user 許可權或 delete 許可權。賬戶名稱的使用者和主機部分分別與使用者表記錄的 user 和 host 列值相對應。

執行drop user user;語句,您可以取消乙個賬戶和其許可權,並刪除來自所有授權表的帳戶許可權記錄。

2、 口令

檢查賬戶預設密碼和弱密碼。口令長度需要至少八位,幷包括數字、小寫字母、大寫字母和特殊符號四類中的至少兩種型別,且五次以內不得設定相同的口令。密碼應至少每 90 天進行一次更換。

您可以通過執行以下命令修改密碼。

mysql> update user set password=password('test!p3') where user='root';

mysql> flush privileges;

3、授權

在資料庫許可權配置能力範圍內,根據業務需要,配置其所需的最小許可權。

mysql> use mysql;

mysql> select * from user;

mysql>select * from db;

mysql>select * from host;

mysql>select * from tables_priv;

mysql>select * from columns_priv;

mysql> help revoke

name: 'revoke'

description:

syntax:

revoke

priv_type [(column_list)]

[, priv_type [(column_list)]] ...

on [object_type]

from user [, user] ...

4、開啟日誌審計功能

資料庫應配置日誌功能,便於記錄執行狀況和操作行為。

mysql服務有以下幾種日誌型別:

找到 mysql 的安裝目錄,在 my.ini 配置檔案中增加上述所需的日誌型別引數,儲存配置檔案後,重啟 mysql 服務即可啟用日誌功能。例如,

#enter a name for the binary log. otherwise a default name will be used. 

#log-bin=

#enter a name for the query log file. otherwise a default name will be used.

#log=

#enter a name for the error log file. otherwise a default name will be used.

log-error=

#enter a name for the update log file. otherwise a default name will be used.

#log-update=

該引數中啟用錯誤日誌。如果您需要啟用其他的日誌,只需把對應引數前面的 「#」 刪除即可。

日誌查詢操作說明

5、 安裝最新補丁

確保系統安裝了最新的安全補丁。

注意: 在保證業務及網路安全的前提下,並經過相容性測試後,安裝更新補丁。

6、如果不需要,應禁止遠端訪問

禁止網路連線,防止猜解密碼攻擊、溢位攻擊、和嗅探攻擊。

注意: 僅限於應用和資料庫在同一臺主機的情況。

如果資料庫不需要遠端訪問,可以禁止遠端 tcp/ip 連線,通過在 mysql 伺服器的啟動引數中新增--skip-networking引數使 mysql 服務不監聽任何 tcp/ip 連線,增加安全性。

您可以使用 安全組 進行內外網訪問控制,建議不要將資料庫高危服務對網際網路開放。

7、 設定可信 ip 訪問控制

通過資料庫所在作業系統的防火牆限制,實現只有信任的 ip 才能通過***訪問資料庫。

mysql> grant all privileges on db.*

·-> -> to 使用者名稱@'ip子網/掩碼';

8、連線數設定

根據您的機器效能和業務需求,設定最大、最小連線數。

在 mysql 配置檔案(my.conf 或 my.ini)的 [mysqld] 配置段中新增max_connections = 1000,儲存配置檔案,重啟 mysql 服務後即可生效。

安全加固全解析---安全加固環節

安全加固全解析---作業系統安全加固方案

安全加固全解析—應用軟體安全加固方案

安全加固全解析---資料庫服務安全加固

安全加固全解析—語言執行環境安全加固方案

安全加固全解析--- web應用安全加固方案

資訊保安,防不勝防

我不是搞資訊保安的專家,對這方面本也沒什麼研究,只是,最近無意的一次試驗,引起了一些思考,越來越感覺到,我們在這個充斥著網路的世界中,似乎已經沒有安全可言。想要獲得別人的一些個人資訊甚至唾手可得。也許有很多人平時就比較注意自己的個人資訊,盡量少洩露。但是千里之堤,毀於蟻穴,乙個不懷好意的人,只要發現...

網路釣魚防不勝防 大型科技公司竟被騙逾1億美元

網路釣魚防不勝防 大型科技公司竟被騙逾1億美元,3月22日 隨著網際網路的飛速發展,網路詐騙屢見不鮮。之前就有報告指出,針對更 值目標 如高管 的網路釣魚活動呈增長態勢。近期,美國司法部公布的乙份起訴書顯示,立陶宛一名網路犯罪分子精心策劃了一場網路釣魚 這名網路犯罪分子名為evaldas rimas...

資料洩露防不勝防?列許可權一招決勝企業安全高效協作

千呼萬喚的vika維格表 列許可權 功能上線啦 通過給成員配置 可編輯 或 唯讀 的許可權,讓敏感資料可以隨心控制,極大提高協同工作的效率和資料的安全性 為資料列配置 可編輯 或 唯讀 許可權 例如 你在做進銷存管理的時候,可以通過 列許可權 保護商品的成本 不被公開,售價不被修改等等 在活動評比管...