轉帖|行業資訊|編輯:龔雪|2016-06-23 09:59:55.000|閱讀 340 次
概述:本文將會介紹在入侵檢測技術系統(Intrusion Detection )中,如何通過使用相關工具軟件,進行系統即時消息推送的設置。本文將介紹一種叫做Monit的新工具,以及兩個常用軟件Pushover和Slack。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
近日,來自Gartner公司(一家從事信息技術研究和分析的IT公司)的最新研究成果向我們展示了APM(應用程序管理系統)的全貌;同時,近些年來,人們已經逐漸意識到了維護APM系統安全的重要性。這不禁就會讓我們聯想到企業應用管理服務商AppDynamics公司提供的高效APM產品。
今年,信息安全公司Inversoft曾發表了一系列的安全文章,統稱為《2016用戶數據安全指南》。本文就是該指南中關于介紹服務器安全連載系列中的第10篇。
雖然大部分的網絡服務器都不支持用戶頻繁地進行登錄和注銷,但當有用戶登錄到網絡服務器中時,作為管理員,你必須在第一時間就要獲得通知,知曉該用戶的情況。有很多方法可以做到這一點。接下來,我們將會介紹一種叫做Monit的消息推送工具,來幫助服務器管理員實現這一目的。你可通過Monit來瀏覽一些系統日志文件,從中獲得一些包含特定文檔的消息;同時,Monit會根據這些消息的安全性,向系統發出警報。安裝Monit的第一步是:在系統的root命令窗口下,執行下列代碼:
$ apt-get install monit
在安裝完成后,你可以創建一個系統配置文件,來監控SSH的登錄狀態。同時需要將之前創建的配置文件復制粘貼到路徑為/etc/monit/conf.d/ssh-logins的文件夾下:
check file ssh_logins with path /var/log/auth.log
# Whitelist IPs here if you want # ignore match "/etc/monit/whitelist_ips.regex" if match "Accepted keyboard-interactive/pam" then
該配置文件要求Monit必須要時刻監控著文件/var/log/auth.log;同時,一旦Monit檢測到含有“Accepted keyboard-interactive/pam”字樣的命令行,那么它就會立刻報警。在你完成了上述的兩個步驟之后,SSH系統就會向文件中增加一條與上述配置相匹配的日志記錄。如果你沒有開啟雙重身份驗證功能,或是僅僅使用密鑰驗證方式,那么你的配置信息就需要進行修改,必須與字符串“Accepted publickey”相一致。
你也可以撤銷白名單上的某些特定IP地址的匹配設置,同時創建一個/etc/monit/whitelist_ips.regex文件。該文件將會包含為白名單上的每一個IP地址單獨設置的命令行語句。
編譯/etc/monit/monitrc文件是整個配置過程的最后一步。向配置文件中加入帶有能向管理員發送報警郵件的代碼。這一配置過程會根據你所使用的SMTP電子郵件服務器、SMTP服務器要求的驗證方式以及你的電子郵件地址等的不同,而出現一些變化。在下面的示例中,我所使用的是自己的電郵地址,以及Sendgrid公司提供的郵件服務器。
set mailserver smtp.sendgrid.net port 587 username "<sendgrid-username>" password "<sendgrid-password>" using tlsv12 set brian@inversoft.com not on { instance, action }
其中的第二行代碼是給Monit下達一個指令,即:只要系統發出警報,都必須在第一時間以郵件的方式通知我,同時要忽略我自行設置的警報。如果你選擇使用Monit來執行系統監控、系統重啟等任務時,上述的設置將會大大減少你所收到的垃圾郵件的數量。
你肯定想要在第一時間就接到來自Monit的消息通知。在系統默認的情況下,Monit每2分鐘進行一次檢查。如果覺得這一周期過長的話,你可以修改其默認設置,將檢查周期改為5秒。配置代碼就是/etc/monit/monitrc 文件的第一行代碼,如下所示:
set daemon 5
最后,重啟Monit,它就會執行你所修改的配置了。相關代碼是:
$ service monit restart
此外,我還想說的是,你還可以讓Monit給你的移動終端設備或Slack,發送即時消息通知。如果想要接收推送通知,你需要使用Pushover服務器。同時,你需要對/etc/monit/conf.d/ssh-logins文件中的最后一行代碼進行修改,將原先的代碼改為:
if match "Accepted keyboard-interactive/pam" then exec "/etc/monit/monit-slack-pushover.rb"
之后,將這個Ruby腳本拷貝到/etc/monit/monit-slack-pushover.rb文件中:
#!/usr/bin/ruby require 'net/https' require 'json' slack_webhook_url="" slack_enabled=true pushover_application="" pushover_user="" pushover_enabled=true def log(message) open('/var/log/monit.log', 'a') { |f| f.puts message } end if slack_enabled begin uri = URI.parse(slack_webhook_url) Net::HTTP.start(uri.host, uri.port, {use_ssl: true}) { |http| request = Net::HTTP::Post.new(uri.request_uri, {'Content-Type' => 'application/json'}) request.body = { :text => "[#{ENV['MONIT_HOST']}] #{ENV['MONIT_SERVICE']} - #{ENV['MONIT_DESCRIPTION']}" }.to_json response = http.request(request) log("Response from Slack [#{response.code}] [#{response.body}]") } rescue Exception => e log("Exception while calling Slack [#{e.message}]") end end if pushover_enabled begin uri = URI.parse("//api.pushover.net/1/messages.json") Net::HTTP.start(uri.host, uri.port, {use_ssl: true}) { |http| request = Net::HTTP::Post.new(uri.request_uri, {'Content-Type' => 'multipart/form-data'}) request.set_form_data(token: pushover_application, user: pushover_user, message: "[#{ENV['MONIT_HOST']}] #{ENV['MONIT_SERVICE']} - #{ENV['MONIT_DESCRIPTION']}") response = http.request(request) log("Response from Pushover [#{response.code}] [#{response.body}]") } rescue Exception => e log("Exception while calling Pushover [#{e.message}]") end end
與此同時,你必須對文件頂部的Pushover和Slack工具變量,進行配置,使其能正常運行。在使用Pushover集成工具時,你需要創建一個Pushover賬號和Pushover應用程序。Pushover應用程序的創建視圖如下所示:
之后,給你的Pushover應用程序起個名字,加入一定的描述信息以及相應的URL。
從“類型選擇框”中選擇“Script”選項。
在創建完成后,Pushover應用程序會給你提供一個與帳戶對應的ID。你需要將應用程序的編譯代碼和用戶ID分別加入到pushover_application和pushover_user兩個變量中。在腳本中,將pushover_enabled選項改為“true”,進而激活Pushover功能。
對于Slack,相關的配置步驟如下:
為了確保你在上述的Ruby腳本中所做的配置,能夠正確運行,你必須在進行配置前,就要安裝好Ruby;同時,也要確保在輸入下面的代碼后,該腳本能夠運行:
$ apt-get install ruby $ chmod +x /etc/monit/monit-slack-pushover.rb
最后,輸入下列代碼,重啟Monit:
$ service monit restart
上述所有的配置步驟就是AppDynamics公司提供的APM系統產品的配置過程。我想要強調的是,根據Gartner公司發布的,關于APM系統的全面介紹,再次提醒我們應當對APM引起重視。
本文來源:360安全播報
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn