在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

bash和mysql的代碼一個(gè)低成本、實(shí)用性能高的日志審計(jì)方案

馬哥Linux運(yùn)維 ? 來(lái)源:未知 ? 作者:李倩 ? 2018-03-19 16:43 ? 次閱讀

概述

不怕出問(wèn)題,就怕出問(wèn)題找不到原因運(yùn)維團(tuán)隊(duì)一般會(huì)有個(gè)需求就是記錄運(yùn)維或者開(kāi)發(fā)同事在服務(wù)器上的操作記錄,比如進(jìn)行一些常規(guī)審核或者是服務(wù)器被黑了、服務(wù)器日志被刪的情況需要知道發(fā)生過(guò)什么事情,今天和大家分享下我們現(xiàn)在的服務(wù)器的shell和mysql操作日志記錄的DIY方案。團(tuán)隊(duì)內(nèi)部之前有測(cè)試過(guò)一些堡壘機(jī)硬件,但終端操作方面不夠人性化,不夠靈活,而且價(jià)格昂貴,硬件容易形成單點(diǎn)故障。當(dāng)然也接觸過(guò)一些開(kāi)源的方案,比如可以直接用ttyrec對(duì)終端進(jìn)行錄制,并且支持文本匹配,但是在實(shí)際使用中發(fā)現(xiàn)過(guò)嚴(yán)重bug,還有另外一些openssh的修改方案也不盡人意。鑒于上述問(wèn)題,我們針對(duì)bash和mysql的代碼進(jìn)行簡(jiǎn)單的修改來(lái)實(shí)現(xiàn)一個(gè)低成本、實(shí)用性能高的日志審計(jì)方案。

服務(wù)器日志:

下面來(lái)“開(kāi)源”這個(gè)解決方案,希望對(duì)大家有小小幫助。

1.linux bash審計(jì)大家應(yīng)該有聽(tīng)說(shuō)過(guò)網(wǎng)絡(luò)說(shuō)的bash修改方案,我們從2011年開(kāi)始使用,中間經(jīng)歷過(guò)很多bug,修復(fù)和優(yōu)化過(guò)多次版本,下面會(huì)詳細(xì)地給出我們現(xiàn)在的線上方案。現(xiàn)在的功能支持大致如下:

同一系統(tǒng)用戶精確到具體人員的shell操作記錄

支持遠(yuǎn)程通過(guò)ssh IP “command”執(zhí)行和scp時(shí)候的日志記錄

支持不同系統(tǒng)用戶進(jìn)行切換時(shí)候能繼續(xù)記錄日志

新支持mysql的操作日志

上述每一個(gè)功能列表都是經(jīng)過(guò)多次實(shí)踐出來(lái)的需求,雖然不是非常完美,但是如果不是刻意來(lái)逃避日志記錄的話,基本可以滿足大家的需求,上述的記錄對(duì)應(yīng)的人員是指多個(gè)人同時(shí)使用同一個(gè)系統(tǒng)帳號(hào)的情況,比如root帳號(hào)。1.1 基本功能實(shí)現(xiàn)基本功能就是需要記錄到每個(gè)人的操作記錄,網(wǎng)絡(luò)上有個(gè)方案雛形,修改bashhist.c文件,701行左右修改bash_syslog_history函數(shù),修改完之后內(nèi)容:

1.2. 指紋變量處理接下來(lái)重點(diǎn)就是處理NAME_OF_KEY這個(gè)指紋變量,原理也比較簡(jiǎn)單,每個(gè)人登錄系統(tǒng)的時(shí)候,我們讓他自動(dòng)執(zhí)行一個(gè)腳本,然后設(shè)置這個(gè)變量為具體人就可以了。--------別說(shuō)有人還在利用密碼登錄Linux服務(wù)器,太不專業(yè)了-_---------在這個(gè)文件里面~/.ssh/authorized_keys加key的時(shí)候,第三列設(shè)置為具體的人員,我們是用工號(hào)@姓名拼音的模式,然后通過(guò)腳本進(jìn)行處理即可。腳本路徑 /etc/bash_ywjt,內(nèi)容:








2. Mysql操作日志很早以前找過(guò)相關(guān)的mysql插件,也嘗試過(guò)audit之類的方案,但結(jié)果不是我們需要的效果,我們需要的是運(yùn)維方面在服務(wù)器上的mysql操作,和mysql的binlog等日志不是同一個(gè)事情,而且和.mysql_history記錄的也不一樣,我們需要精確到同一系統(tǒng)用戶的不同人員。以下mysql版本是指Percona-Server-5.5。2.1 初步解決mysql自帶了syslog日志功能,但是需要手動(dòng)配置開(kāi)啟,配置比較簡(jiǎn)單:在/etc/my.cnf里面的client字段加上syslog即可。


1)在mysqldump時(shí)候會(huì)報(bào)錯(cuò):

2)可以輕易地繞過(guò)這個(gè)日志,在敲mysql命令行的時(shí)候加個(gè)參數(shù)--no-defaults即可。3)日志里面只有是root帳號(hào)操作的,沒(méi)有體現(xiàn)出具體是某個(gè)人操作的。解決這幾個(gè)問(wèn)題還得靠開(kāi)源的優(yōu)勢(shì)進(jìn)行代碼修改。2.2 源碼開(kāi)啟我們可以在源碼里面就把syslog這個(gè)開(kāi)關(guān)開(kāi)啟,比較容易,找到client/mysql.cc這個(gè)文件,開(kāi)關(guān)邏輯比較簡(jiǎn)單,找到以下代碼:

2.3 交互式記錄單純那樣改會(huì)發(fā)現(xiàn)還有個(gè)小問(wèn)題,就是在shell終端下面直接mysql可以用-e進(jìn)行命令操作,比如:


但是按照之前那樣開(kāi)啟syslog也無(wú)法記錄日志。我們是有記錄shell操作記錄的,這個(gè)問(wèn)題可以忽略,不過(guò)一定要顯示的話也是有辦法的,繼續(xù)修改代碼。稍微看下邏輯分析可以看到是需要滿足connect_flag == CLIENT_INTERACTIVE才寫(xiě)日志,找到CLIENT_INTERACTIVE的定義:原來(lái)這個(gè)就是交互模式的定義,所以我們把這個(gè)“與”條件去掉即可,改為這樣:

2.4 海量日志問(wèn)題在實(shí)際環(huán)境中會(huì)有新的問(wèn)題,比如導(dǎo)入sql語(yǔ)句時(shí)候,會(huì)生成同樣大小的日志,比如導(dǎo)入2G的sql,會(huì)生成2G的日志,這樣明顯不符合我們的需求。想到我們已經(jīng)有bash審核了,-e執(zhí)行時(shí)候可以忽略記錄,但是如果在mysql里面通過(guò)source命令引用sql語(yǔ)句時(shí)候同樣有這個(gè)問(wèn)題,所以還得繼續(xù)改代碼。找到write_syslog函數(shù),正式寫(xiě)日志時(shí)候是用的syslog函數(shù),里面有個(gè)for循環(huán)的邏輯,意思是當(dāng)sql語(yǔ)句很大時(shí)候,需要“切割”一下再寫(xiě)入,所以從這里入手,把syslog改為定義的MAX_SYSLOG_MESSAGE長(zhǎng)度之內(nèi)就寫(xiě),超過(guò)的話就直接忽略。另外之前說(shuō)需要精確到不同人員,所以我們引入了我們的bash審核里面的指紋,變量NAME_OF_KEY,然后在mysql.cc里面引入即可。關(guān)鍵修改如下:

2.5 自定義參數(shù)這樣雖然是在源碼里面寫(xiě)死了一定有日志,但是還是可以提供一個(gè)備用的參數(shù)來(lái)取消這個(gè)功能。在參數(shù)定義那里改動(dòng),把之前的syslog改為這樣:



3. 遠(yuǎn)程日志中心上述日志全部是通過(guò)syslog服務(wù)記錄到/var/log/messages文件,更合理的是再傳輸?shù)竭h(yuǎn)程的日志中心來(lái)統(tǒng)一備案管理。這個(gè)方法比較簡(jiǎn)單,在/etc/rsyslog.conf里面加入配置:



4. 內(nèi)網(wǎng)日志攔截這個(gè)段落是額外的參考,我們的定制系統(tǒng)是寫(xiě)死了配置全部發(fā)送到公網(wǎng)的某一臺(tái)日志中心服務(wù)器,但是我們內(nèi)網(wǎng)機(jī)房也有很多服務(wù)器,這樣會(huì)導(dǎo)致在日志中心那里無(wú)法查看原始的內(nèi)網(wǎng)IP,只有辦公網(wǎng)的出口IP,而且不方便每個(gè)機(jī)器都去更改日志中心的IP,那樣會(huì)很容易漏掉,解決辦法是進(jìn)行“日志劫持”。在我們的juniper防火墻那里進(jìn)行日志攔截,然后轉(zhuǎn)發(fā)到內(nèi)網(wǎng)的一個(gè)日志中心即可,參考配置:

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9253

    瀏覽量

    85745
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4808

    瀏覽量

    68808
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    819

    瀏覽量

    26649

原文標(biāo)題:大神教你DIY高性能運(yùn)維堡壘體系

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    低成本藍(lán)牙串口模塊解決方案

    血壓計(jì)、藍(lán)牙遙控家電產(chǎn)品等。產(chǎn)品應(yīng)用中還經(jīng)常會(huì)出現(xiàn)使用藍(lán)牙主、從模塊配套通訊的應(yīng)用情況。之前,市場(chǎng)上的低成本藍(lán)牙模塊不能實(shí)現(xiàn)主、從模塊配套成形個(gè)透明串口使用,只能使用
    發(fā)表于 03-21 16:46

    0基礎(chǔ)學(xué)Mysql:mysql入門(mén)視頻教程!

    互聯(lián)網(wǎng)行業(yè)的高速發(fā)展,各個(gè)中小企業(yè)的數(shù)據(jù)庫(kù)存放的數(shù)據(jù),也已經(jīng)達(dá)到了個(gè)相當(dāng)的數(shù)量級(jí)。學(xué)習(xí)目標(biāo):深入理解MySQL數(shù)據(jù)庫(kù)的原理從硬件 系統(tǒng) MySQ
    發(fā)表于 07-08 10:51

    低成本LCD偏置電源分立式解決方案

    AVDD 電壓。兩個(gè)外部充電激勵(lì)電路提供 TFT 所需的正 VGH 和負(fù) VGL 偏置電壓。個(gè)外部運(yùn)算放大器 LM7321MF 充當(dāng)電流緩沖器;它提供 TFT 背板所需的 VCO
    發(fā)表于 11-19 14:54

    低成本FOC風(fēng)機(jī)控制方案201208MC_FANB

    項(xiàng)目名稱:低成本FOC風(fēng)機(jī)控制方案 項(xiàng)目介紹:該方案適合應(yīng)用于DC286V供電環(huán)境, 用于風(fēng)機(jī)的控制。 主控MCU采用英飛凌的SAF-XC836M,電機(jī)與控制器可按需搭配,力矩大、體積小、噪音低
    發(fā)表于 12-10 10:05

    MySQL的六個(gè)日志類型

    MySQL日志管理
    發(fā)表于 04-24 16:57

    MAX6675怎么構(gòu)建提高重型車輛制動(dòng)性能低成本方案

    本文提出的基于LIN總線監(jiān)測(cè)剎車鼓溫度、自動(dòng)控制噴淋系統(tǒng)以及添加安全報(bào)警功能的設(shè)計(jì)是改善現(xiàn)有重型車輛制動(dòng)性能低成本、便于實(shí)施的方案,為大型車輛整體配備ABS過(guò)渡提供
    發(fā)表于 05-18 06:37

    基于聚集矩陣的審計(jì)日志關(guān)聯(lián)規(guī)則更新算法

    針對(duì)審計(jì)日志記錄的特性,本文提出了種基于聚集信息矩陣的高效增量式關(guān)聯(lián)規(guī)則的挖掘算法,并解決了當(dāng)最小支持度改變以及審計(jì)數(shù)據(jù)動(dòng)態(tài)更新時(shí)相應(yīng)的關(guān)聯(lián)規(guī)則的更新問(wèn)題。
    發(fā)表于 08-05 08:45 ?11次下載

    新型實(shí)用性低成本電子計(jì)價(jià)秤系統(tǒng)設(shè)計(jì)

    實(shí)用性低成本電子計(jì)價(jià)秤系統(tǒng)設(shè)計(jì) 介紹了種基于AT89S52 單片機(jī)的電子計(jì)價(jià)秤的軟硬件設(shè)計(jì)方法。該系統(tǒng)采用雙積分電路替代現(xiàn)在價(jià)格昂貴的A/D芯片作為數(shù)據(jù)采
    發(fā)表于 03-24 10:56 ?65次下載

    代碼審計(jì)基礎(chǔ)

    代碼審計(jì)基礎(chǔ)
    發(fā)表于 09-07 11:16 ?2次下載
    <b class='flag-5'>代碼</b><b class='flag-5'>審計(jì)</b>基礎(chǔ)

    詳談MySQL數(shù)據(jù)庫(kù)的不同日志和源碼

    任何種數(shù)據(jù)庫(kù),都會(huì)擁有各種各樣的日志mysql也不例外。
    的頭像 發(fā)表于 07-02 16:52 ?2601次閱讀

    MySQL事務(wù)日志

    大家都清楚,日志MySQL 數(shù)據(jù)庫(kù)的重要組成部分,記錄著數(shù)據(jù)庫(kù)運(yùn)行期間各種狀態(tài)信息。MySQL 日志主要包括「錯(cuò)誤日志」、「查詢
    的頭像 發(fā)表于 11-14 09:58 ?1750次閱讀
    <b class='flag-5'>MySQL</b>事務(wù)<b class='flag-5'>日志</b>

    詳解MySQL三大日志的作用

    MySQL日志 主要包括錯(cuò)誤日志、查詢日志、慢查詢日志、事務(wù)日志、二進(jìn)制
    的頭像 發(fā)表于 07-22 14:44 ?1369次閱讀

    分享個(gè)低成本的應(yīng)急燈方案

    目前,具有簡(jiǎn)單且經(jīng)濟(jì)高效的LED應(yīng)急燈方案有很多。在本文中,單片機(jī)開(kāi)發(fā)工程師們分享了個(gè)低成本應(yīng)急燈方案,該
    的頭像 發(fā)表于 07-11 09:43 ?1319次閱讀
    分享<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>超<b class='flag-5'>低成本</b>的應(yīng)急燈<b class='flag-5'>方案</b>

    MySQL三種日志講解

    MySQL 日志包含了錯(cuò)誤日志、查詢日志、慢查詢日志、事務(wù)日志、二進(jìn)制
    的頭像 發(fā)表于 07-25 11:15 ?768次閱讀
    <b class='flag-5'>MySQL</b>三種<b class='flag-5'>日志</b>講解

    MySQL性能優(yōu)化方法

    MySQL 性能優(yōu)化是項(xiàng)關(guān)鍵的任務(wù),可以提高數(shù)據(jù)庫(kù)的運(yùn)行速度和效率。以下是些優(yōu)化方法,包括具體代碼和詳細(xì)優(yōu)化
    的頭像 發(fā)表于 11-22 09:59 ?636次閱讀
    主站蜘蛛池模板: 九九热精品视频在线播放| 日本aaaaa级片| 人人搞人人| 全国男人的天堂天堂网| 日韩天堂| 妖精视频永久在线入口| 7777奇米| 天天干夜夜夜操| 日本天天射| 99草精品视频| 亚洲 欧美 成人| 丁香六月激情网| 国产女人水多白浆| 手机看片免费福利| 午夜影视免费观看| 一级特黄aaa大片| 天天做天天爱天天操| 免费在线黄网| 天天操操操操| 久久97精品久久久久久久看片| 天天射天天干| 久久9966精品国产免费| 欧美黑人xxxx猛牲大交| 久色中文| 色女人天堂| 色婷婷激情综合| 美女被免费视频网站九色| 日黄网站| 色宅男| 欧美伊人| 91激情网| 亚洲va国产日韩欧美精品色婷婷| 天天爽天天爽天天片a久久网| 国产精品网站在线进入| 亚洲一区在线观看视频| 亚洲人成网站在线在线| 亚洲成a人在线播放www| 性欧美成人免费观看视| 欧美mv日韩mv国产mv网站| 免费看真人a一级毛片| 免费视频色|