材料:
目前成都創(chuàng)新互聯(lián)已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計、錫山網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
Linux審計系統(tǒng)auditd 套件
步驟:
安裝 auditd
REL/centos默認(rèn)已經(jīng)安裝了此套件,如果你使用ubuntu server,則要手工安裝它:
sudo apt-get install auditd
它包括以下內(nèi)容:
auditctl :?即時控制審計守護(hù)進(jìn)程的行為的工具,比如如添加規(guī)則等等。
/etc/audit/audit.rules :?記錄審計規(guī)則的文件。
aureport :?查看和生成審計報告的工具。
ausearch :?查找審計事件的工具
auditspd :?轉(zhuǎn)發(fā)事件通知給其他應(yīng)用程序,而不是寫入到審計日志文件中。
autrace :?一個用于跟蹤進(jìn)程的命令。
/etc/audit/auditd.conf :?auditd工具的配置文件。
Audit 文件和目錄訪問審計
首次安裝?auditd?后, 審計規(guī)則是空的??梢杂?sudo auditctl -l 查看規(guī)則。文件審計用于保護(hù)敏感的文件,如保存系統(tǒng)用戶名密碼的passwd文件,文件訪問審計方法:
sudo auditctl -w /etc/passwd -p rwxa
-w path :?指定要監(jiān)控的路徑,上面的命令指定了監(jiān)控的文件路徑 /etc/passwd
-p :?指定觸發(fā)審計的文件/目錄的訪問權(quán)限
rwxa :?指定的觸發(fā)條件,r 讀取權(quán)限,w 寫入權(quán)限,x 執(zhí)行權(quán)限,a 屬性(attr)
目錄進(jìn)行審計和文件審計相似,方法如下:
$ sudo auditctl -w /production/
以上命令對/production目錄進(jìn)行保護(hù)。
3.?查看審計日志
添加規(guī)則后,我們可以查看 auditd 的日志。使用?ausearch?工具可以查看auditd日志。
sudo ausearch -f /etc/passwd
-f?設(shè)定ausearch 調(diào)出 /etc/passwd文件的審計內(nèi)容
4. 查看審計報告
以上命令返回log如下:
time-Mon Dec 22 09:39:16 2016
type=PATH msg=audit(1419215956.471:194): item=0?name="/etc/passwd"
inode=142512 dev=08:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL
type=CWD msg=audit(1419215956.471:194):?cwd="/home/somebody"
type=SYSCALL msg=audit(1419215956.471:194): arch=40000003?syscall=5?
success=yes exit=3 a0=b779694b a1=80000 a2=1b6 a3=b8776aa8 items=1 ppid=2090 pid=2231?auid=4294967295 uid=1000 gid=1000?euid=0 suid=0 fsuid=0 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=4294967295
comm="sudo" exe="/usr/bin/sudo"?key=(null)
time :?審計時間。
name :?審計對象
cwd :?當(dāng)前路徑
syscall :?相關(guān)的系統(tǒng)調(diào)用
auid :?審計用戶ID
uid 和 gid :?訪問文件的用戶ID和用戶組ID
comm :?用戶訪問文件的命令
exe :?上面命令的可執(zhí)行文件路徑
以上審計日志顯示文件未被改動。
這9個“非常危險”的Linux命令一定要記住!
1、rm-rf命令
rm-rf命令是刪除文件夾及其內(nèi)容最快的一種方式,僅僅一丁點的敲錯或者無知都可能導(dǎo)致不可恢復(fù)的系統(tǒng)崩壞。
rm命令在Linux下通常用來刪除文件
rm-f命令遞歸的刪除文件夾,甚至是空的文件夾
rm-f命令能不經(jīng)過詢問直接刪除只讀文件
rm-rf/:強制刪除根目錄下所有東西
rm-rf/*:強制刪除當(dāng)前目錄的所有文件
rm-rf.:強制刪除當(dāng)前文件夾及其子文件
溫馨提示:當(dāng)你要執(zhí)行rm -rf命令時,一定要留心,可以在“.bashrc”文件對“rm”命令創(chuàng)建rm
-i的別名,來預(yù)防用‘rm’命令刪除文件時的事故。
2、:(){:|:};:命令
這就是一個fork炸彈的實例。具體操作是通過定義一個名為':'的函數(shù),它會調(diào)用自己兩次,一次在前臺另一次運行在后臺。它會反復(fù)的執(zhí)行下去直到系統(tǒng)崩潰。
3、命令 /dev/sda
上列命令會將某個'命令'的輸出寫到塊設(shè)備/dev/sda中。該操作會將在塊設(shè)備中的所有數(shù)據(jù)塊替換為命令寫入的原始數(shù)據(jù),從而導(dǎo)致整個塊設(shè)備的數(shù)據(jù)丟失。
4、mv文件夾/dev/null
這個命令會移動某個'文件夾'到/dev/null。在Linux中/dev/null或null設(shè)備是一個特殊的文件,所有寫入它的數(shù)據(jù)都會被清除,然后返回寫操作成功。
5、wget -O- | sh
上面這個命令會從一個惡意源下載一個腳本并執(zhí)行。Wget命令會下載這個腳本,而sh會執(zhí)行下載下來的腳本。
溫馨提示:你應(yīng)該時刻注意你下載包或者腳本的源。只能使用那些從可信任的源中下載腳本/程序。
6、mkfs.ext3 /dev/sda
上列命令會格式化設(shè)備'sda',你無疑知道在執(zhí)行上列命令后你的塊設(shè)備會被格式化,嶄新的。沒有任何數(shù)據(jù),直接讓你的系統(tǒng)達(dá)到不可恢復(fù)的階段。
7、 file
上面命令常用來清空文件內(nèi)容,如果用上列執(zhí)行時輸入錯誤或無知的輸入類似“ xt.conf” 的命令會覆蓋配置文件或其他任何的系統(tǒng)配置文件。
8、^foo^bar
這個命令用來編輯先前運行的命令而無需要打整個命令。但當(dāng)用foobar命令時如果你沒有徹底檢查改變原始命令的風(fēng)險,這可能導(dǎo)致真正的麻煩。
9、dd if=/dev/random of=/dev/sda
上面這個命令會向塊設(shè)備sda寫入隨機的垃圾文件從而擦出數(shù)據(jù)。當(dāng)然,你的系統(tǒng)可能陷入混亂和不可恢復(fù)的狀態(tài)。
Linux 主機審計
Linux操作系統(tǒng)可以通過設(shè)置日志文件可以對每個用戶的每一條命令進(jìn)行紀(jì)錄,不過這一功能默認(rèn)是沒有打開的。
開啟這個功能的過程:
# touch /var/log/pacct
# action /var/log/pact
也可以用自已的文件來代替/var/log/pacct這個文件。但必須路徑和文件名的正確。
sa命令與 ac 命令一樣,sa 是一個統(tǒng)計命令。該命令可以獲得每個用戶或每個命令的進(jìn)程使用的大致情況,并且提供了系統(tǒng)資源的消費信息。在很大程度上,sa 又是一個記帳命令,對于識別特殊用戶,特別是已知特殊用戶使用的可疑命令十分有用。另外,由于信息量很大,需要處理腳本或程序篩選這些信息。
lastcomm命令, 與 sa 命令不同,lastcomm 命令提供每一個命令的輸出結(jié)果,同時打印出與執(zhí)行每個命令有關(guān)的時間印戳。就這一點而說,lastcomm 比 sa 更有安全性。如果系統(tǒng)被入侵,請不要相信在 lastlog、utmp、wtm中記錄的信息,但也不要忽略,因為這些信息可能被修改過了。另外有可能有人替換了who程序來掩人耳目。通常,在已經(jīng)識別某些可疑活動后,進(jìn)程記帳可以有效的發(fā)揮作用。使用 lastcomm 可以隔絕用戶活動或在特定時間執(zhí)行命令。
3、使用logrorate對審計文件管理
/var/log/utmp,/var/log/wtmp和/var/log/pacct文件都是動態(tài)的數(shù)據(jù)文件。wtmp和pacct文件是在文件尾部不斷地增加記錄。在繁忙的網(wǎng)絡(luò)上,這些文件會變得很大。Linux提供了一個叫l(wèi)ogrotate的程序,它允許管理員對這些文件進(jìn)行管理。
Logrotate讀取/etc/logrotate.d目錄下的文件。管理員通過該目錄下的腳本文件,控制logrotate程序的運作。一個典型的腳本文件如下:
{
rotate 5
weekly
errors root@serve1r
mail root@server1
copytruncate
compress
size 100k
}
腳本文件的含義如下:
● rotate 5——保留該文件一份當(dāng)前的備份和5份舊的備份。
● weekly——每周處理文件一次,通常是一周的第一天。
● errors——向郵件地址發(fā)送錯誤報告。
● mail——向郵件地址發(fā)送相關(guān)的信息。
● copytruncate——允許進(jìn)程持續(xù)地記錄,備份文件創(chuàng)建后,把活動的日志文件清空。
● compress——使用gzip工具對舊的日志文件進(jìn)行壓縮。
● size 100k——當(dāng)文件超過100k 時自動處理。