AIDE、sudo、TCP_Wrappers的基本使用

一、AIDE的作用

   AIDE(Adevanced Intrusion Detection Environment) 高級非法***檢測環境,是一個檢測工具,主要用途是檢查文件的完整性,當一個非法用戶者進入了你的系統並且種植了病毒,通常會想辦法來隱蔽這個病毒(除了自身的一些隱蔽特性外,他會盡量給你檢查系統的過程設置障礙),通常會修改一些文件,比如管理員通常用ps -aux 來查看系統進程,那麼很可能用自己經過修改的ps程序來替換掉你係統上的ps程序,以使用ps命令查不到正在運行的病毒程序。如果發現管理員正在運行crontab作業,也有可能替換掉crontab程序等,AIDE是一款免費的但功能也很強大的工具,主要就是審計計算機上的哪些文件被更改過。

   AIDE能夠構造一個指定文件的數據庫,它使用aide.conf作爲其配置文件。 AIDE數據庫能夠保存文件的各種屬性,包括:權限(permission)、索引節點 序號(inode number)、所屬用戶(user)、所屬用戶組(group)、文件大小、最 後修改時間(mtime)、創建時間(ctime)、最後訪問時間(atime)、增加的大小 以及連接數。AIDE還能夠使用下列算法:sha1、md5、rmd160、tiger,以密 文形式建立每個文件的校驗碼或散列號。

   注:rpm -V 也可以查看文件的修改狀況,但是查看的信息不如AIDE的詳細,且rpm -V 只能查看rpm包的信息。

二、安裝AIDE

1、AIDE系統默認未被安裝,需要通過手動安裝:yum install aide

image.png

2、修改配置文件:vim /etc/aide.conf,該文件規定了一些默認規則,和設置的策略。

            默認規則: # These are the default rules.  

                    #p:      permissions

                    #i:      inode:

                    #n:      number of links

                    #u:      user

                    #g:      group

                    #s:      size

                    #b:      block count

                    #m:      mtime

                    #a:      atime

                    #c:      ctime

                    #S:      check for growing size

                    #acl:     Access Control Lists

                    #selinux   SELinux security context

                    #xattrs:   Extended file attributes

                    #md5:    md5 checksum

                    #sha1:   sha1 checksum

                    #sha256:  sha256 checksum

                    #sha512:  sha512 checksum

                    #rmd160:  rmd160 checksum

                       #tiger:   tiger checksum

在配置文件中添加一條策略:策略名=默認規則 ,如下圖。

image.png

爲需要檢測的文件添加該策略:文件名  策略名;若是某些文件不需要檢測需要在前加!,如下圖:!/usr/src

image.png

3、在/app目錄下做一些修改操作後:aide --init/aide -i生成數據庫(/var/lib/aide下)。

image.png

4、查看文件做了哪些修改操作 ,在該實驗中提前修改/app/file1、file2、file3的數據:aide -C進行校驗不同,查看修改的信息,會發現只顯示file1和file2的數據發生了改變,而file3的數據更改後未被提示,這是因爲在aide.conf文件中設置成不檢測該文件。

image.png

更新數據庫,會重新生成一會數據庫,但結果不會覆蓋原數據:aide -u 需要手動修改。

image.png

三、sudo

   sudo系統管理指令,是允許系統管理員讓普通用戶執行一些或者全部的root命令的一個工具。減少root用戶的登錄和管理時間,同時也提高了安全性。sudo不是對shell的一個代替,它是面向每個命令的。sudo能夠授權指定用戶在指定主機上運行某些命令。如果未授權用戶嘗試使用sudo,會提示x聯繫管理員。sudo可以提供日誌,記錄每個用戶使用sudo操作。sudo爲系統管理員提供配置文件,允許系統管理員集中地管理用戶的使用權限和使用的主機 。

         通過visudo命令編輯主配置文件,且具有語法檢查功能 。

image.png

visudo與vim的不同的是其具備語法檢測功能,但是不像vim有色彩功能,可以後續操作使其具備顏色。永久生效可以寫如/etc/profile.d/下,soucre該文件。具體如下圖操作。

image.png

當提示語法出錯時,可輸入e進入編輯模式。

image.png

主配置文件:/etc/sudoers  子配置文件:/etc/sudoers.d/

時間戳文件:/var/db/sudo 

日誌文件:/var/log/secure 

配置文件支持使用通配符glob:

 ?:任意單一字符

 * :匹配任意長度字符(不能匹配空)

 [wxc]:匹配其中一個字符

 [!wxc]:除了這三個字符的其它字符

 \x : 轉義 [[alpha]] :字母 示例: /bin/ls [[alpha]]* 

配置文件規則有兩類:1、別名定義:不是必須的 

             2、授權規則:必須的


規定的授權格式;用戶 登入主機=(代表用戶) 命令   

注:登陸主機也可以是ip地址,且授權的命令必須是絕對路徑,因爲只要是命令寫入文件裏必須是絕對路徑,腳本除外。另授權時大的權限要寫在前,禁大的權限中的某些權限卸載其後。在匹配字符時*可以匹配任意字符但不包括空字符。

image.png

eg:解析ip地址、主機名

image.png

測試:新添一用戶,使用普通用戶liubei操作。如下圖。

image.png

爲用戶授權一定要注意排錯,因爲不注意的話很可能會成爲第二個root,下圖所示就是一個因授權而產生的bug。

image.png

image.png

所以最好不要寫太多選項,直接寫要禁的內容。

image.png

別名規則

如果需要授權的用戶/主機/命令較多,可以直接定義一個別名,寫授權策略時可以直接引用

 Users和runas: username /#uid/%group_name/ %#gid user_alias|runas_alias 

 host: ip或hostname /network(/netmask) /host_alias 

command: command name directory sudoedit Cmnd_Alias

eg:設置用戶別名(別名必須大寫)

image.png

visudo通常都會把授權規則寫在主配置文件,此爲也可以直接vim /etc/sudoers.d/*或visudo -f,使用授權規則時需要輸入用戶密碼。

image.png

image.png

image.png

5分鐘“入場券”

       sudo使用時間戳文件來完成類似“檢票”的系統,默認存活期爲5分鐘的“入場券”5分鐘一過需要重新輸入密碼驗證身份。

默認“票”的存放路經/var/run/sudo/ts,下圖操作先修改時間戳,在5分鐘內時免密碼可執行其相應的授權操作,時間超過需再次輸入密碼。

image.png

image.png

image.png

普通用戶在下次執行所授權限時強制輸入密碼:sudo -k

刪除"5分鐘入場券"文件,強制再次使用輸入密碼:sudo -K

查看詳細信息:sudo - V

給“5分鐘入場卷“重新計時:sudo -v

image.png

sudo操作默認都是root身份執行,仿冒別的用戶身份進行操作:sudo -u username,具體操作如下圖。

image.png


TCP_Wrappers

      默認工作在第四層(傳輸層)的TCP協議 ,對有狀態連接的特定服務進行安全檢測並實現訪問控制;以庫文件形式實現;某進程是否接受libwrap的控制取決於發起此進程的程序在編譯時是否針對libwrap進行編譯的。

判斷服務程序是否能夠由tcp_wrapper進行訪問控制的方法:

             ldd /PATH/TO/PROGRAM|grep libwrap.so       ldd讀取二進制文件內容

             strings PATH/TO/PROGRAM|grep libwrap.so   strings讀取明文內容

eg:

image.png

image.png

查看二進制服務名如下圖。

image.png

TCP_Wrappers的使用

默認存在兩個配置文件:/etc/hosts.allow     /etc/hosts.deny

檢查順序先讀hosts.allow,再讀hosts.deny(默認允許) 

注意:一旦前面規則匹配,直接生效,將不再繼續


來波實驗操作:以ftp服務段/客服端,在黑名單中禁掉主機地址爲192.168.219.135的訪問。

image.png

在客戶機中訪問ftp服務器會出現如下圖的情況。

image.png

在白名單中也可以添加拒絕的服務,如果同一條規則分別寫入白名單和黑名單默認執行的時黑名單中的內容。

image.png

在白名單中下方圖中的規則表示在192.168網段除了192.168.219.135地址拒絕所有主機的訪問

image.png

– 在/etc/hosts.allow中添加,允許登錄,並記錄日誌 

– 在/etc/hosts.deny中添加,拒絕登錄,並記錄日誌 

– %c 客戶端信息 

– %s 服務器端信息 

– %d 服務名

 – %p 守護進程的PID 

另:spawn寫到allow表示允許寫到deny表示拒絕 

       twist實際動作是拒絕訪問,使用指定的操作替換當前服務,標準I/O和 ERROR發送到客戶端,默認至/dev/null 

image.png

image.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章