回答
3
瀏覽
492
一般被拖庫主要是由于管理員缺乏安全意識,在做數據庫備份或是為了方便數據轉移,將數據庫文件直接放到了Web目錄下,而web目錄是沒有權限控制的,任何人都可以訪問的;還有就是網站使用了一些開源程序,沒有修改默認的數據庫。其實黑客每天都會利用掃描工具對各大網站進行瘋狂的掃描,當你的備份的文件名如果落在黑客的字典里,就很容易被掃描掃描到,從而被黑客下載到本地。把上述問題解決一下在被拖庫的可能性就很小了。從根本上來說還是要加強DBA的安全意識,否則數據庫防護再好也會被社工的。
回答所涉及的環境:聯想天逸510S、Windows 10。
用戶信息“脫庫”后,黑客利用字典攻擊:維護一個常用密碼的字典表,將字典中每個密碼用hash算法計算hash值,如果用戶“脫庫”后的密文和hash值相等,基本就可以認為密文對對應的密碼就是字典中的密碼。
針對字典攻擊,我們可以引入一個鹽(salt),與用戶的密碼組合到一起,增加密碼難度,對組合后的字符串做hash算法算法加密,將其存儲到數據庫中,增大破解難度。不過,安全與攻擊是一種博弈關系,不存在絕對的安全,所有安全措施都只是增加攻擊成本而已。
回答所涉及的環境:聯想天逸510S、Windows 10。
脫庫防范我們可以從以下幾點入手:
一、黑客利用字典攻擊,我們可以引入一個salt,與用戶的密碼組合到一起,增加密碼難度,對組合后的字符串做hash算法算法加密,將其存儲到數據庫中,增大破解難度。
二、選擇相應的安全防護設備,采購WAF、IPS等防護設備為企業增加一道屏障,防止被黑客入侵,此外,還應做好企業員工的安全意識培訓防止人為因素導致的信息泄露。
三 MySQL加固
——修改DBA登錄密碼
在shell環境下執行
mysqladmin -u root password
連續輸入兩次新密碼
非首次修改
mysqladmin -u root password -p原密碼
連續輸入兩次新密碼
在mysql下執行t-sql語句
update user set password=password(‘密碼’) where user=’root’;
——刪除默認數據庫和用戶
刪除測試庫
show databases;
drop?database?test;
刪除非root用戶
use mysql;
delete from user where not (user=’root’) ;
刪除密碼為空的root用戶
delete from user where user=’root’ and password=’’;
——變更DBA用戶名
use mysql;
update user set user=”nicai “ where user=”root”;
——在賬戶管理時使用加密算法
use mysql;
——更改mysql啟動用戶
修改my.cnf文件
vim /etc/my.cnf
加入如下內容
[mysqld]
——限制遠程連接數
修改my.cnf文件,去掉注釋符號
vi /etc/my.cnf
加入如下內容
[mysqld]
max_connections = 5
max_user_connections=2
或者限制某個用戶,在mysql中執行
GRANT test ON . TO testdb@localhost MAX_USER_CONNECTIONS 2;
——關閉遠程管理數據庫
修改my.cnf文件,去掉注釋符號
vi /etc/my.cnf
#skip-networking
skip-networking
——清理mysql命令歷史
注意清理家目錄中的.mysql_history
ln -s /dev/null /root/.mysql_history
禁止使用明文模式登陸mysql
mysql -u root -p123.com
應使用隱藏密碼方式
——禁止MySql讀取本地文件
修改my.cnf文件,加入關閉信息
vi /etc/my.cnf
加入如下內容
[mysqld]
local_infile = 0
或者添加啟動選項
用腳本開啟mysql
mysqld_safe –local_infile=0 –user=mysql
*****導入的相關測試命令****
vi sqlfile.txt
1,sszng,111
2,sman,222
mysql> load data local infile ‘sqlfile.txt’ into table users fields terminated by ‘,’;
——禁止將表導出到文件
在mysql中修改用戶的文件權限
update user set File_priv=‘N’ where user=‘用戶名’;
檢查配置文件是否存在不合理信息
grep secure_file_priv /etc/my.cnf
secure_file_priv= xxx路徑
*****導出的測試命令****
——日常備份數據庫
mysqldump –user=root –all-databases –flush-privileges –lock-all-tables \ –master-data=1 –flush-logs –triggers –routines –events \ –hex-blob > 備份路徑/文件名時間戳.sql
回答所涉及的環境:聯想天逸510S、Windows 10。