<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ### 【談日志的重要性】運維中被低估的日志 * * * * * 古人有句話叫對癥下藥,如果我們把運維看做是醫生給病人看病,則日志就是病人對自己的病況的陳述,很多時候醫生需要通過對病人的描述判斷病人病情的嚴重程度,需要給病人什么類型和計量的藥物。所以病癥就是病人的描述加醫生的判斷得出的結論,如果再重一點的病就需要再加上更多的化驗。因此在醫生看病時,病人的描述和化驗單上的數據對醫生是非常重要的。日志在運維中的作用也是如此。但是非常不幸的是,很多項目的運維中日志被嚴重的低估。 #### 運維的內容 :-: ![](https://box.kancloud.cn/b700852811aa970261ad1a55cb8a115d_294x247.png) 從上圖可以看出,運維中是監控管理和服務的結合,需要關注的點還是非常多的,任何一個點上都有可能引起運維中的問題。所以大多數運維人員的通常狀態都是充當消防員救火的角色,哪里有問題哪里去。 下面我們來看一下常用的監控系統,界面做的很漂亮,功能也很多,但是有個問題,就是你會天天盯著這個界面看嗎?我感覺絕大多數人不會,監控系統其實最需要關注的是異常點,也就是當系統有問題的時候,系統需要告訴我哪里有問題,然后我們再根據問題的提示信息去分析系統,去處理重點問題,系統的日志這時候就會被用上了。 :-: ![](https://box.kancloud.cn/0f43748eec53311613611fd14267a7e6_554x623.png) 那上面這些內容和日志有什么關系呢? 日志本身是沒有價值的,只有對日志進行分析加以利用的時候才會有價值,日志中包含非常多的有用的信息,不光包括運維層面,還包括業務層面,安全層面。很多時候運維系統最需要的是一個統一告警平臺,但是告警的依據絕大多數是對日志等進行自動化分析所得出的結論,所以說日志是非常重要的。 #### 什么是日志 簡單地說,日志就是計算機系統、設備、軟件等按照規則記錄的運行信息,具體的內容則取決于日志的來源。例如,Unix操作系統會記錄用戶登錄和注銷的消息,防火墻將記錄ACL通過和拒絕的消息,磁盤存儲系統在故障發生或者在某些系統認為將會發生故障的情況下生成日志信息。日志中有大量信息,這些信息告訴你為什么需要生成日志,系統已經發生了什么。例如,Web服務器一般會在有人訪問Web頁面請求資源(圖片、文件等等)的時候記錄日志。如果用戶訪問的頁面需要通過認證,日志消息將會包含用戶名。這就是日志數據的一個例子:可以使用用戶名來判斷誰訪問過一個資源。通過日志,IT管理人員可以了解系統的運行、安全狀況,甚至運營的狀況。 #### 日志能做什么 在一個完整的信息系統里面,日志系統是一個非常重要的功能組成部分。它可以記錄下系統所產生的所有行為,并按照某種規范表達出來。我們可以使用日志系統所記錄的信息進行系統的排錯,優化系統的性能,或者根據日志的信息調整系統的行為。在安全領域,通過日志可以反映出很多的安全攻擊行為,比如,用戶登錄錯誤的記錄,異常訪問等。日志還能夠告訴你很多關于網絡中所發生事件的信息,包括性能信息、故障檢測和入侵檢測。日志成為了系統事故發生之后,查明“發生了什么”的一個很好的信息“取證”來源,可以為審計工作作審計跟蹤。 從一條日志說起 > 111.88.155.166 - - [17/Dec/2015:13:06:05 +0800] "POST /login HTTP/1.1" 302 0 "http://secilog.abc.com/login?langType=zh" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36" 這是一條很普通的nginx中記錄的日志,日志的詳細內容可查閱相關文檔。這里簡單說明一下主要的內容。從日志中可以得到訪問者的IP,訪問的時間,時區,請求的方式,請求頁面,返回狀態,來源等等信息。仔細一看請求的頁面/login就可以猜到只是一個登錄請求頁面。這條日志記錄表示的主要含義是:登錄成功。 從這條日志怎么和我們關注的指標對應的,我們下面接著分析。 活躍用戶數 活躍用戶說一般是指同一天有多少老用戶登錄過系統。這個時候就會發現,剛才的登錄日志中如果放到一天的統計中就可以知道,一天內有多少次成功等登錄的次數了,但細心的用戶可以發現,不準確,因為用戶可以重復登陸,這就會造成重復,說的很對,那我們在細化一下,我們換個角度分析,一天內登錄成功的不重復ip的數量。是不是更接近真實的結果呢,我感覺從量級和趨勢上已經能說明問題了。 刷單用戶 這是個沒有標準的說法,我的理解是是同一個人為了某種目的大量注冊了很多賬號后,然后進行某種操作比如刷單等。這種行為很難100%杜絕,但從這條日志中可以得出一些有意思的發現。如果同一個ip一天登錄成功次數過多,比如一天登錄了一百次,每次間隔的時間都差不多,說明這個人有刷單嫌疑,可以先找出來然后再進一步的分析。 新增用戶 新增用戶數的含義是一天內有多少注冊成功的用戶,這個時候可以類比登錄日志,只要把登錄日志的url換成注冊日志的url就可以發現一天新增的用戶數是多少。 惡意注冊用戶 同理惡意注冊用戶數也是類似的,一天同一個ip下注冊成功的次數非常多。此ip惡意注冊的可能性就很大。當然還需要進一步的分析,比如ip是否是一個大樓里面的出口ip,注冊后此用戶做了什么來判斷。 上面的分析舉一反三,可以從日志當中可以看出運營中的很多內容,比如瀏覽商品的排行,用戶訪問時間,用戶來源等等。 下面我們還從這條日志中分析一下安全的行為: > 111.88.155.166 - - [17/Dec/2015:13:06:05 +0800] "POST /login HTTP/1.1" 200 0 "http://secilog.abc.com/login?langType=zh" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36" 這還是一條登錄日志,唯一和上面登錄日志不一樣的地方是服務器返回值。一個是302,一個是200.有什么區別的,302的意思是服務器進行過頁面跳轉,200還是返回此頁面,從中就可以理解,這是一條登錄失敗的記錄。很好,有這條記錄就可以發現很多的安全行為。 惡意密碼猜測,可以理解同一段時間,用戶大量的登錄失敗,返回了很多登錄失敗記錄。從這條定義中就可以發現規律,我們把時間放大到5分鐘,當5分鐘內,同一個ip有超過20次以上的登錄失敗行為,基本上可以斷定在進行密碼猜測。當密碼猜測有自動的也有手動的,如果區分呢。 我們看一下這個內容"`http://secilog.abc.com/login?langType=zh`",這個網址的含義是POST數據提交的數據來源是"`http://secilog.abc.com/login?langType=zh`"這個網頁,也就是從這個網頁發起的。 如果這個地址不對,則極有可能登錄失敗是因為用戶用工具來進行暴力破解的。 同理CC攻擊就更容易理解了,同一個ip在很短的時間內訪問了大量的請求,基本上可以認為是CC攻擊。其他的webshell,sql注入等也可以從日志中分析出部分來,但不是太準確,因為日志中指記錄get請求的參數,post參數正常是不記錄的。 從上面的分析中可以得知,日志中還是有很多寶貴的東西在里面,只是我們沒有發現。 #### 如何分析日志 :-: ![](https://box.kancloud.cn/ed973a00f12260d0338c2ca4ce83276d_554x103.png) 一般日志分析中主要包括以下幾個層面,首先是收集日志,然后對日志進行格式化分析,然后進行過濾或者歸并,然后對日志進行告警統計分析,然后入庫。 收集的主要就是對各種協議的支持,例如syslog,sftp等。 格式化分析是重點,畢竟每種日志的格式不一樣。舉個例子:下圖是一個pix防火墻和ids的日志,通過這對原始日志雜亂無序的內容分析出有意義的維度。通過這些維度后我們得出很多有價值的信息,比如操作系統,協議等等。 :-: ![](https://box.kancloud.cn/51dc1bdd182540eb964c18c8eba457da_554x324.png) #### 日志分析 日志分析中有關鍵字分析,統計分析和關聯分析。 1. 關鍵字分析就是針對日志中的關鍵字進行分析。 2. 統計分析是根據一段時間發生的事情的規律進行定性定量的分析。 3. 關聯分析用于在海量審計信息中找出異構異源事件信息之間的關系,對于存在關聯關系信息的上下文制定合理的審計策略,通過組合判斷多個異構事件判斷操作行為性質,發掘隱藏的相關性,發現可能存在的違規行為。 這些東西本身很復雜,如果都要從頭做工作量很大。當然市場上也有很多比較好的產品支持此功能。比如HP ArcSight,IBM Security QRadar SIEM 等等,但是這些產品都是非常昂貴的產品,有沒有可以免費使用的產品呢?有:比如國外的elk,ossim.國產的SeciLog。這幾個產品各有優缺點,看大家自己選擇了。elk是一個半成品,自己要使用需要做大量的工作,ossim,相對是成品,但是漢化還是不是太好,這兩個國外產品對國內使用者的習慣還不是太好。Secilog相對平衡一點。 Secilog的特點是支持syslog、snmp、jdbc、ftp/sftp等協議收集或者采集日志。對日志進行分析,格式化處理,產生告警,同時對原始日志和格式化后的日志進行全文搜索索引的存儲,支持采集橫向擴展集群,支持海量日志的分析和查詢。可以分析linux日志、windows日志、防火墻日志ids日志、業務日志等日志,支持所有文本類型的日志存儲和查詢,內置16種告警: * 密碼猜測攻擊 * 非上班時間登錄 * 非上班地點登錄 * 賬號猜測攻擊 * 密碼猜測攻擊成功 * 敏感文件操作 * 高危命令操作 * 主機掃描 * 端口掃描 * 非法外聯 * sql注入 * Xss攻擊 * 非法訪問 * 敏感文件訪問 * WebShell攻擊 * CC攻擊 通過告警規則的設定,很容易的增加其他告警。同時系統通過告警規則配置可以支持業務告警,接口請求異常,惡意刷單,大單告警等。 作者介紹:朱林,一個開發了16年程序的老程序員,熱愛開發,有11年的安全開發經驗,現任賽克藍德公司技術總監。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看