以下是以mysql數據庫和BinLog方法進行數據庫安全審計,配置和驗證過程如下:
創建審計用的數據庫和表(這里是測試所以自建數據庫和表);
創建具有操作auditdb數據權限的用戶,如果已經有用戶,需要對現有用戶添加操作auditdb的權限;
設置init_connect,并重啟MySQL數據庫在初始化參數文件[mysql]部分添加如下內容;
<pre style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; font-size: inherit; color: inherit; line-height: inherit;"> 1log-bin=mysql-bin #開啟Binlog 2init_connect='insert into auditdb.accesslog(connectionid, connectionuser,logintime) values(connection_id(),user(),now());' #設置初始化連接參數 </pre>用user1用戶登錄,執行一些寫入和刪除的操作;
用mysqlbinlog工具查看BinLog:根據delete操作找到相應的ThreadId,而后在前面創建的審計日志表auditdb.accesslog里面根據ThreadID找到用戶登錄信息,從Binlog中可以得知這個刪除操作是user1用戶在本機執行的操作。