成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

完善Linux/UNIX審計 將每個shell命令記入日志

原創
系統 Linux
為了確保服務器的安全,保留shell命令的執行歷史是非常有用的一條技巧。然而,將用戶執行的每個shell命令記入日志比最初想象的要來得困難。本文介紹的步驟能夠幫助你將每個shell命令記入日志而避免被用戶篡改或刪除。

【51CTO精選譯文】編者按:為了確保服務器的安全,保留shell命令的執行歷史是非常有用的一條技巧。然而,shell雖然有歷史功能,但是這個功能并非針對審計的目的而設計,因此很容易被用戶篡改或是丟失。本文介紹的步驟能夠幫助你將每個shell命令記入日志(你可以將本文和bash history logging攻防一文參考著閱讀,看看攻防雙方的思路有何不同)。本文作者David Douthitt是一位經驗豐富的UNIX和Linux系統管理員,曾做過Linux發行版的打包工作,也是《Advanced Topics in System Administration》和《GNU Screen: A Comprehensive Manual》兩本書的作者。以下為正文:

將用戶執行的每個shell命令記入日志比最初想象的要來得困難。shell的歷史功能原本旨在幫助用戶使用以前用過的命令。我們都知道這種使用場合:你剛輸入了一個長長的字段,可是拼錯了一個字符。shell的歷史讓你可以改正這一個字符,而不必輸入其余的所有字符。

然而, shell歷史很難滿足審計的目的。換言之,它不是為了確保系統安全而設計的。

對于bash shell來說,問題顯得尤其困難,因為該shell的目的是,不管用什么辦法,盡可能為用戶簡化生活——所以,它擁有所有的“花哨功能”(bells and whistles)。必須顧及所有這些多種功能,并且防止對歷史文件進行更改。

Korn shell比較簡單,使得保護shell的歷史比較容易。

如果想要嚴加保管這些shell的歷史,需要執行一系列的步驟。

首先,鎖定shell的歷史文件本身。更改它的屬性,末尾只添加chattr +a .sh_history或chattr +a .bash_history。這樣一來,就不可能刪除或更改文件中的數據,連用戶都無法改變屬性——只有root用戶才能改變。

其次,確保歷史變量設置合理、無法更改。這些歷史變量包括最重要的HISTFILE、HISTCOMMAND和HISTIGNORE。要做到這一點,使用shell的typeset命令,帶-r選項,這使得指定的變量擁有只讀屬性。良好的操作規范是使所有歷史環境變量都變為只讀,比如:

export HISTCONTROL=
export HISTFILE=$HOME/.bash_history
export HISTFILESIZE=2000
export HISTIGNORE=
export HISTSIZE=1000
export HISTTIMEFORMAT="%a %b %Y %T %z "
typeset -r HISTCONTROL
typeset -r HISTFILE
typeset -r HISTFILESIZE
typeset -r HISTIGNORE
typeset -r HISTSIZE
typeset -r HISTTIMEFORMAT

HISTTIMEFORMAT是bash shell的擴展,將在歷史文件中提供時間戳。

對于bash shell來說,你需要更改歷史的一些標準選項:

shopt -s cmdhist
#設置cmdhist將把多行命令放入到單單一個歷史行
shopt -s histappend
#設置histappend將確保被添加到歷史文件,而不是像通常的做法那樣覆蓋歷史文件。

另外對于bash shell來說,還要設置PROMPT_COMMAND:

PROMPT_COMMAND="history -a"
typeset -r PROMPT_COMMAND

這是由于bash shell實際上把歷史寫入到內存中,歷史文件僅在shell會話結束時加以更新。這個命令會把上一個命令附加到磁盤上的歷史文件。

最后,創建一個SIGDEBUG陷阱,將命令發送到系統日志(syslog)。VMware的ESXi借助自己版本的ash shell已經具有這樣的功能。簡而言之,應創建一個把當前命令記入日志(從歷史文件獲取)的函數,然后用logger命令,把它發送到系統日志。這一步在bash shell和Korn Shell中都適用。

這些步驟有些冗長,不過在新版的bash和ksh中有一些新的功能特性,讓這一切變得極其容易。GNU Bash在4.1版中添加了記入到系統日志中的功能,只需要編譯shell的時候開啟該功能即可激活。

自推出ksh93以來,Korn Shell就一直具有審計功能。類似bash 4.1,用戶審計是一項編譯時功能。想看看你所用的ksh93版本是否安裝了審計功能,可以執行下列命令中的某一條:

echo ${.sh.version}
echo $KSH_VERSION

在Ubuntu 10.10中,我得到了來自ksh93的這個輸出:

# echo ${.sh.version}
Version JM 93t+ 2009-05-01

如果審計功能開啟,特征字符串(JM)還會有字母A(開啟審計功能),可能還有字母L(開啟針對用戶的審計功能)。IBM DeveloperWorksMusings of an OS Plumber都刊有介紹Korn Shell審計的出色文章。

Bash shell含有審計功能的可能性也比較小。Ubuntu 10.10上的bash是4.1.5(1)版本。

對于仍在使用C shell(以及尤其是tsch)的用戶,tcsh有一個變種名為“tcsh-bofh”,它支持記入到系統日志中。遺憾的是,tcsh-bofh并沒有得到長期的維護。早在2010年1月,tcsh-bofh的FreeBSD端口就從FreeBSD端口樹(port tree)去除了。

上述信息也可以在shell之外獲取。比如有兩個命令:lastcomm(來自Ubuntu Main軟件倉庫中的acct程序包)和auditctl(來自Ubuntu Universe軟件倉庫中的auditd程序包)。另外, Linux Journal在2002年刊發過一篇關于Linux進程統計的好文章。另外還有rootsh和snoopylogger這兩個程序包,只是兩者都不在Ubuntu軟件倉庫中。Rootsh好比是typescript的執行版本,而snoopylogger是你可以添加到用戶環境的系統庫。(這些方法有許多來自在serverfault.com上所提的一個問題,請參閱這個帖子。)

原文:Logging every shell command

【編輯推薦】

  1. 用戶行為監控:bash history logging攻防
  2. 專題:Linux系統中的日志管理
  3. 明明白白你的Linux服務器——日志篇
責任編輯:yangsai 來源: 51CTO.com
相關推薦

2022-09-29 10:51:18

ShellLinux命令審計

2009-10-23 13:44:03

linux Shell

2009-09-29 10:45:17

UnixLinuxshell

2010-04-21 10:19:40

Unix Shell

2010-06-23 14:37:57

Linux Bash命

2009-12-24 17:04:18

nohup命令

2019-12-01 22:59:43

Linux shell命令進程

2021-01-14 08:00:00

服務器數據中心DokuWiki

2010-09-03 09:18:23

LinuxUNIX命令行

2010-04-07 17:55:12

Unix命令

2010-04-29 17:50:15

2013-06-03 11:28:05

shell命令

2010-06-23 17:37:14

Linux Bash

2010-06-23 17:34:03

Linux Bash

2014-02-20 11:31:34

last命令審計工具

2010-01-27 09:58:59

Linuxunix程序日志

2010-04-28 16:26:10

Unix Shell

2010-04-30 01:00:08

Unix shell

2010-05-05 13:22:29

Unix Shell

2021-08-05 14:40:45

操作系統UNIXLINUX
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日日干夜夜操 | 亚洲欧美一区二区三区1000 | 亚洲区中文字幕 | 欧美a级成人淫片免费看 | 久久免费国产视频 | 91啪影院 | 日韩电影中文字幕 | 欧美精品一区二区免费 | 成人av免费网站 | 色婷婷综合网站 | 欧美成人h版在线观看 | 日韩精品免费在线观看 | 九色网址| 免费黄色录像视频 | 成人高清在线 | 久久不射网 | 国产成人99av超碰超爽 | 欧美精品1区2区 | 精品小视频 | 欧美成年网站 | 99成人精品| 完全免费av在线 | 久久蜜桃av一区二区天堂 | 国产成人免费视频网站高清观看视频 | 国产黄色小视频在线观看 | 97成人精品 | 91久久久久久久久久久久久 | 欧美综合国产精品久久丁香 | 欧美一区视频 | 欧美一级久久精品 | 香蕉大人久久国产成人av | 日日做夜夜爽毛片麻豆 | 日韩在线视频免费观看 | 成人av在线大片 | 九九热这里只有精品在线观看 | 午夜精品网站 | 91啪影院| 黑人巨大精品欧美一区二区免费 | 欧美一区二区免费电影 | 欧美综合久久 | 殴美黄色录像 |