Shell 記錄異地留痕審計與監控

來源:互聯網
上載者:User

標籤:

Shell 記錄異地留痕審計與監控 http://netkiller.github.io/journal/shell.history.html Mr. Neo Chen (陳景峰), netkiller, BG7NYT


中國廣東省深圳市龍華新區民治街道溪山美地
518131
+86 13113668890
+86 755 29812080
<[email protected]>

著作權 ? 2014 http://netkiller.github.io

著作權聲明

轉載請與作者聯絡,轉載時請務必標明文章原始出處和作者資訊及本聲明。

文檔出處:
http://netkiller.github.io
http://netkiller.sourceforge.net

2014-12-25

摘要 我的系列文檔
Netkiller Architect 手劄 Netkiller Developer 手劄 Netkiller PHP 手劄 Netkiller Python 手劄 Netkiller Testing 手劄
Netkiller Cryptography 手劄 Netkiller Linux 手劄 Netkiller Debian 手劄 Netkiller CentOS 手劄 Netkiller FreeBSD 手劄
Netkiller Shell 手劄 Netkiller Security 手劄 Netkiller Web 手劄 Netkiller Monitoring 手劄 Netkiller Storage 手劄
Netkiller Mail 手劄 Netkiller Docbook 手劄 Netkiller Version 手劄 Netkiller Database 手劄 Netkiller PostgreSQL 手劄
Netkiller MySQL 手劄 Netkiller NoSQL 手劄 Netkiller LDAP 手劄 Netkiller Network 手劄 Netkiller Cisco IOS 手劄
Netkiller H3C 手劄 Netkiller Multimedia 手劄 Netkiller Perl 手劄 Netkiller Amateur Radio 手劄 Netkiller DevOps 手劄
目錄
  • 1. 什麼是Shell記錄異地留痕與監控
  • 2. 什麼要將Shell記錄異地留痕並監控
  • 3. 何時做記錄異地留痕
  • 4. 在哪裡做記錄異地留痕
  • 5. 角色與許可權
  • 6. 怎麼實現記錄異地留痕
    • 6.1. 節點配置
    • 6.2. 推送端
    • 6.3. 收集端
  • 7. 延伸閱讀
1. 什麼是Shell記錄異地留痕與監控

首先談談什麼是“記錄異地留痕”,記錄就是~/.bash_history檔案,不同Shell名字可能不同,它會記錄每次使用者在鍵盤上敲下的命令,我們可以通過下面命令查詢記錄。

$ history | head 1009  ls /www 1010  vim Makefile 1011  cat Makefile 1012  make index.html 1013  vim Makefile 1014  make index.html 1015  vim Makefile 1016  make index.html 1017  vim Makefile 1018  make index.html $ history | tail 2000  find /tmp/var/ 2001  ll 2002  cd workspace/Journal/ 2003  s 2004  ls 2005  make shell.html 2006  cat ~/.bash_history 2007  history 2008  history | head 2009  history | tail $ cat ~/.bash_history | head -n 100 cat /etc/issuecat /etc/resolv.confifconfigcat /etc/resolv.confdmddfdf -Tcat /etc/fstabcat /etc/issueuname -aps axcd /srv/lscd workspace/lsdfdf -Tdflscd ..ls

由於篇幅的限制,我是用了head,tail 命令限制顯示長度。

現在我在看看“監控”,監控就是過濾 ~/.bash_history 檔案內字串,達到匹配標準,做出警示操作等等。例如我們發現adduser命令應立即警示,通知相關人員檢查。

2. 什麼要將Shell記錄異地留痕並監控

首先我們將要使用者操作留痕,以方便隨時調閱,我們要知道系統管理員做了那些操作,還可用於審計工作。例如我們開發工作中有一個環節就是Code Review (代碼審查),可以協助我們提前發現BUG,以及不合理做法,甚至是人為惡意植入後門等等。

記錄異地留痕就是營運工作的 sysop review(營運審查)。

其次是監控,注意這裡的~/.bash_history監控並非即時監控,因為只有使用者推出shell後才能儲存~/.bash_history檔案。所以監控是滯後的,但也足夠能協助我們更早的知道系統發生了那些變化。

3. 何時做記錄異地留痕

這個系統可以即時部署,對現有的業務不會影響。

4. 在哪裡做記錄異地留痕

記錄異地留痕分為兩個部分,第一個部分是節點,第二部分是收集端,收集段同時還負責監控與警示。節點將收集的資料發送給收集端,然後收集端歸檔日誌。

5. 角色與許可權

最高許可權著負責部署即可

6. 怎麼實現記錄異地留痕 6.1. 節點配置

首先修改history格式,預設只有行號,我需要記錄每一個命令的輸入時間點。

cat >> /etc/bashrc <<EOFexport HISTTIMEFORMAT="%Y-%m-%d-%H:%M:%S "EOF

此時輸入history命令你可以看到時間點

# history  741  2014-12-24-10:06:26 ll  742  2014-12-24-10:06:40 ls  743  2014-12-24-10:06:44 ll  744  2014-12-24-10:06:47 ls  745  2014-12-24-10:58:13 history
6.2. 推送端
$ git clone https://github.com/netkiller/logging.git$ cd logging$ python3 setup.py sdist$ python3 setup.py install

配置啟動指令碼,開啟檔案logging/init.d/uhistory

HOST=127.0.0.1 #此處為收集端的IP地址# Port | User # -------------------# 配置連接埠號碼與使用者done << EOF1220 neo1221 jam1222 samEOF
6.3. 收集端
$ git clone https://github.com/netkiller/logging.git$ cd logging$ python3 setup.py sdist$ python3 setup.py install

配置收集端連接埠,編輯檔案logging/init.d/ucollection

done << EOF1220 /backup/neo/.bash_history1221 /backup/jam/.bash_history1222 /backup/sam/.bash_historyEOF
7. 延伸閱讀

《日誌歸檔與資料採礦》

Shell 記錄異地留痕審計與監控

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.