昨天為大家詳解了 Linux 系統(tǒng)安全配置的基礎(chǔ)方案,涵蓋賬號(hào)管理、密碼策略和訪問控制等核心模塊。今天,藍(lán)隊(duì)云將繼續(xù)深入,聚焦日志審計(jì)、系統(tǒng)文件管理、網(wǎng)絡(luò)服務(wù)優(yōu)化等進(jìn)階內(nèi)容,幫助大家構(gòu)建更全面的安全防護(hù)體系!
五、日志審計(jì)
(一)Cron任務(wù)授權(quán)
1、安全基線說明
只允許指定授權(quán)用戶啟用cron/at任務(wù)
2、操作指南
(1)參考配置操作
只允許指定授權(quán)用戶啟用cron/at任務(wù),刪除cron.deny、at.deny文件,創(chuàng)建cron.allow、at.allow文件。
3、檢查辦法
(1)判定條件
執(zhí)行:ls -l /etc/cron.allow
ls -l /etc/at.allow
查看cron.allow、 at.allow文件的授權(quán)情況
(二)對(duì)syslog登錄事件記錄
1、安全基線說明
記錄認(rèn)證、授權(quán)使用的相關(guān)信息。
2、操作指南
(1)參考配置操作
#vim /etc/rsyslog.conf
配置authpriv.* /var/log/secure
(2)補(bǔ)充說明
將 authpirv 設(shè)備的任何級(jí)別的信息記錄到/var/log/secure 文件中,這主要是一些和認(rèn)證、權(quán)限使用相關(guān)的信息。
3、檢查辦法
(1)判定條件
/etc/rsyslog.conf 文件中配置有authpriv.* /var/log/secure
(三)對(duì)rsyslog.conf配置審核
1、安全基線說明
設(shè)置記錄什么類型的日志信息。
2、操作指南
(1)參考配置操作
執(zhí)行:
vim /etc/rsyslog.conf,
設(shè)置了下列項(xiàng):
kern.warning;*.err;authpriv.none\\\\t@loghost *.info;mail.none;authpriv.none;cron.none\\\\t@loghost *.emerg\\\\t@loghost local7.*\\\\t@loghost
3、檢查辦法
(1)判定條件
/etc/rsyslog.conf文件中必須設(shè)置日志記錄信息。
(四)系統(tǒng)日志讀寫權(quán)限
1、安全基線說明
系統(tǒng)日志文件由 syslog 創(chuàng)立并且不可被其它用戶修改;其它的系統(tǒng)日志文件不是全局可寫,保護(hù)系統(tǒng)日志避免被篡改、覆蓋等。
2、操作指南
(1)參考配置操作
查看如下等日志的訪問權(quán)限,保證日志文件不能非授權(quán)訪問。
#ls –l 查看下列日志文件權(quán)限
/var/log/messages 、
/var/log/secure 、
/var/log/maillog 、
/var/log/cron、
/var/log/spooler、
/var/log/boot/log
3、檢查辦法
(1)判定條件
非授權(quán)不能訪問日志文件。
(五)history命令(可選)
1、安全基線說明
為了方便審計(jì),設(shè)置系統(tǒng)在記錄歷史命令的同時(shí),記錄時(shí)間和用戶。
2、操作指南
(1)參考配置操作
在/etc/profile中添加如下變量即可:
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S `whoami` "
然后運(yùn)行source /etc/profile命令即可,注意引號(hào)中的空格。
source /etc/profile
為防止history記錄被刪除可以在/etc/profile文件中添加如下變量:
export PROMPT_COMMAND=' history -a >(tee -a ~/.bash_history | logger -t "$USER[$$] $SSH_CONNECTION") '
(2)補(bǔ)充操作說明
history命令的用法及參數(shù)usage:
history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]
參數(shù):
n :數(shù)字,要列出最近的若干命令列表
-c :將目前的 shell 中的所有 history 內(nèi)容全部消除
-a :將目前新增的 history 指令新增入 histfiles 中,若沒有加 histfiles ,則預(yù)設(shè)寫入 ~/.bash_history
-r :將 histfiles 的內(nèi)容讀到目前這個(gè) shell 的 history 記憶中
-w :將目前的 history 記憶內(nèi)容寫入 histfiles
3、檢查辦法
(1)判定條件
執(zhí)行history命令,查看歷史命令是否包含時(shí)間和用戶。
(六)遠(yuǎn)程日志服務(wù)器配置(可選)
1、安全基線說明
配置遠(yuǎn)程日志功能,將需要重點(diǎn)關(guān)注的日志內(nèi)容傳輸?shù)饺罩痉?wù)器進(jìn)行備份。
2、操作指南
(1)參考配置操作
修改配置文件vi /etc/rsyslog.conf,
加上這一行:*.* @192.168.100.1
可以將"*.*"替換為你實(shí)際需要的日志信息。比如:kern.* / mail.* 等等;可以將此處192.168.100.1 替換為實(shí)際的IP 或域名。
重新啟動(dòng)syslog 服務(wù),執(zhí)行下列命令:
services syslogd restart
(2)補(bǔ)充操作說明
*.*和@之間為一個(gè)Tab。
3、檢查辦法
(1)判定條件
cat /etc/rsyslog.conf 查看是否有對(duì)應(yīng)配置;
六、系統(tǒng)文件管理
(一)系統(tǒng)磁盤狀態(tài)
1、安全基線說明
查看磁盤狀態(tài),保證有足夠的磁盤可用空間。
2、操作指南
(1)參考配置操作
執(zhí)行:df -h,檢查當(dāng)前系統(tǒng)文件配置情況,保證有足夠的磁盤可用空間;
(2)補(bǔ)充操作說明
處理空間不足情況。
3、檢查辦法
(1)判定條件
保證有足夠的磁盤可用空間;
(二)重要目錄和文件的權(quán)限設(shè)置(可選)
1、安全基線說明
設(shè)置重要目錄和文件的權(quán)限,禁止非授權(quán)訪問。
2、操作指南
(1)參考配置操作
執(zhí)行以下命令檢查目錄和文件的權(quán)限設(shè)置情況:
ls -l /etc/
安全建議
根據(jù)安全需要,配置某些關(guān)鍵目錄其所需的最小權(quán)限;重點(diǎn)要求password 配置文件、shadow 文件、group 文件權(quán)限。
(2)補(bǔ)充操作說明
/etc/passwd 所有用戶都可讀,root 用戶可寫 –rw-r—r—
配置命令:chmod 644 /etc/passwd
/etc/shadow 只有root 可讀 –r--------
配置命令:chmod 600 /etc/shadow;
/etc/group 必須所有用戶都可讀,root 用戶可寫 –rw-r—r—
配置命令:chmod 644 /etc/group;
3、檢查辦法
(1)判定條件
查看關(guān)鍵目錄的權(quán)限#ls -l /etc/
(三)刪除未授權(quán)的suid/sgid文件
1、安全基線說明
刪除未授權(quán)的suid/sgid文件。
2、操作指南
(1)參考配置操作
用下面的命令查找系統(tǒng)中所有的SUID和SGID文件,執(zhí)行:
for PART in `grep -v ^# /etc/fstab | awk '($6 == "0") {print $2 }'`;dofind $PART -xdev -type f \\\\( -perm -04000 -o -perm -02000 \\\\) -print done
若存在未授權(quán)文件則刪除文件或給該文件授權(quán)。
(2)補(bǔ)充操作說明
系統(tǒng)中suid和sgid文件很有可能成為安全隱患,必須被嚴(yán)密監(jiān)控。因?yàn)檫@些程序都給了它的用戶一些特權(quán),所以要確保危險(xiǎn)的suid沒有被安裝。
3、檢查辦法
(1)判定條件
檢查查詢結(jié)果中不存在未授權(quán)的文件。
(四)檢查任何人都是寫權(quán)限的目錄
1、安全基線說明
系統(tǒng)中不應(yīng)存在任何人都有寫權(quán)限的目錄。
2、操作指南
(1)參考配置操作
用下面的命令查找系統(tǒng)中都有寫權(quán)限的文件,執(zhí)行:
for PART in `awk '($3 == "ext2" || $3 == "xfs" {print $2}'`;dofind $PART -xdev -type d \\\\( -perm -0002 -a ! -perm -1000 \\\\) -printdone
若存在則刪除該目錄或給該目錄授權(quán)。
(2)補(bǔ)充操作說明
無
3、檢查辦法
(1)判定條件
自檢查;
(五)檢查任何人都有寫權(quán)限的文件
1、安全基線說明
系統(tǒng)中不應(yīng)存在任何人都有寫權(quán)限的文件。
2、操作指南
(1)參考配置操作
用下面的命令查找系統(tǒng)中任何人都有寫權(quán)限的文件,執(zhí)行:
for PART in `grep -v ^# /etc/fstab | awk '($6 == "0") {print $2}'`;dofind $PART -xdev -type f \\\\( -perm -0002 -a ! -perm -1000 \\\\) -printdone
若存在則刪除文件或給該文件授權(quán)。
(2)補(bǔ)充操作說明
無
3、檢查辦法
(1)判定條件
不存在任何人都有寫權(quán)限的文件。
(六)刪除沒有屬主的文件
1、安全基線說明
檢查沒有屬主的文件,若存在應(yīng)刪除。
2、操作指南
(1)參考配置操作
用下面的命令查找系統(tǒng)中都有寫權(quán)限的文件,執(zhí)行:
for PART in `grep -v ^# /etc/fstab | awk '($6 != "0") {print $2}'`;dofind $PART -nouser -o -nogroup -printdone
若存在沒有屬主的文件,應(yīng)刪除該文件。
(2)補(bǔ)充操作說明
發(fā)現(xiàn)沒有屬主的文件往往就意味著有黑客入侵的可能。不能允許沒有屬主的文件存在。如果在系統(tǒng)中發(fā)現(xiàn)了沒有屬主的文件或目錄,先查看它的完整性,如果一切正常,給它一個(gè)屬主。有時(shí)候卸載程序可能會(huì)出現(xiàn)一些沒有屬主的文件或目錄,在這種情況下可以把這些文件和目錄刪除掉。
3、檢查辦法
(1)判定條件
不存在沒有屬主的文件。
(七)檢查異常隱含文件
1、安全基線說明
不應(yīng)存在異常隱含文件。
2、操作指南
(1)參考配置操作
用“find”程序可以查找到這些隱含文件。例如:
# find / -name ".. *" -print
# find / -name "...*" -print | cat -v
同時(shí)也要注意象“.xx”和“.mail”這樣的文件名的。(這些文件名看起來都很象正常的文件名)
若存在則刪除異常隱含文件。
(2)補(bǔ)充操作說明
在系統(tǒng)的每個(gè)地方都要查看一下有沒有異常隱含文件(點(diǎn)號(hào)是起始字符的,用“l(fā)s”命令看不到的文件),因?yàn)檫@些文件可能是隱藏的黑客工具或者其它一些信息(口令破解程序、其它系統(tǒng)的口令文件,等等)。在UNIX下,一個(gè)常用的技術(shù)就是用一些特殊的名,如:“…”、“.. ”(點(diǎn)點(diǎn)空格)或“..^G”(點(diǎn)點(diǎn)control-G),來隱含文件或目錄。
3、檢查辦法
(1)判定條件
檢查結(jié)果中不存在類似文件。
(八)系統(tǒng)補(bǔ)丁
1、安全基線說明
在保證業(yè)務(wù)網(wǎng)絡(luò)穩(wěn)定運(yùn)行的前提下,安裝最新的OS 補(bǔ)丁(補(bǔ)丁在安裝前需要測(cè)試確定)。
2、操作指南
(1)參考配置操作
執(zhí)行下列命令,查看版本及大補(bǔ)丁號(hào)。
#uname –a
在保證業(yè)務(wù)網(wǎng)絡(luò)穩(wěn)定運(yùn)行的前提下,安裝最新的OS 補(bǔ)丁(補(bǔ)丁在安裝前需要測(cè)試確定)
(2)補(bǔ)充操作說明
在系統(tǒng)安裝時(shí)建議只安裝基本的 OS 部份,其余的軟件包則以必要為原則,非必需的包就不裝。
3、檢查辦法
(1)判定條件
系統(tǒng)補(bǔ)丁的版本應(yīng)為最新版本。
(九)/etc/passwd、/etc/shadow文件安全性(可選)
1、安全基線說明
Passwd、shadow、group文件中不應(yīng)存在“+”,有”+”條目的文件允許通過NIS Map中系統(tǒng)配置的某些點(diǎn)插入數(shù)據(jù),passwd shadow group文件中如包含此條目,可能會(huì)使入侵者通過網(wǎng)絡(luò)添加用戶。
2、操作指南
(1)參考配置操作
執(zhí)行:grep ^+: /etc/passwd /etc/shadow /etc/group,查看文件中是否包含”+”。
更改文件權(quán)限,執(zhí)行chmod o-w /etc/passwd /etc/shadow /etc/group刪除文件中的”+”條目
(2)補(bǔ)充操作說明
無
3、檢查辦法
(1)判定條件
執(zhí)行:grep ^+: /etc/passwd /etc/shadow /etc/group,查看文件中是否包含”+”。返回值應(yīng)為空。
七、網(wǎng)絡(luò)與服務(wù)
(一)關(guān)閉不必要的系統(tǒng)服務(wù)
1、安全基線說明
關(guān)閉不必要的服務(wù)。
2、操作指南
(1)參考配置操作
#ps –ef
#chkconfig --list
#ls /etc/xinetd.d
在xinetd.d中關(guān)閉不用的服務(wù),用vi編輯器編輯xinetd.d目錄下對(duì)于服務(wù)的文件,把disable配置成yes,則為禁止改服務(wù),重啟xinetd服務(wù),即可。
還可使用如下方式禁用不必要的服務(wù):
#service <服務(wù)名> stop
#chkconfig --level 35 off
(2)補(bǔ)充操作說明
在/etc/xinetd.d文件夾中禁止不必要的基本網(wǎng)絡(luò)服務(wù)。
注意:改變了“/etc/xinetd.d”目錄下的服務(wù)文件之后,需要重新啟動(dòng)xinetd。
根據(jù)每臺(tái)機(jī)器的不同角色,關(guān)閉不需要的系統(tǒng)服務(wù)。操作指南中的服務(wù)項(xiàng)提供參考,根據(jù)服務(wù)器的角色和應(yīng)用情況對(duì)啟動(dòng)項(xiàng)進(jìn)行修改。如無特殊需要,應(yīng)關(guān)閉Sendmail、Telnet、Bind 等服務(wù)Linux/Unix 系統(tǒng)服務(wù)中,部分服務(wù)存在較高安全風(fēng)險(xiǎn),應(yīng)當(dāng)禁用,包括:
“l(fā)pd”,此服務(wù)為行式打印機(jī)后臺(tái)程序,用于假脫機(jī)打印工作的UNIX 后臺(tái)程序,此服務(wù)通常情況下不用,建議禁用;
“telnet”,此服務(wù)采用明文傳輸數(shù)據(jù),登錄信息容易被竊取,建議用ssh 代替;
“routed”,此服務(wù)為路由守候進(jìn)程,使用動(dòng)態(tài)RIP 路由選擇協(xié)議建議禁用;
“sendmail”,此服務(wù)為郵件服務(wù)守護(hù)進(jìn)程,非郵件服務(wù)器應(yīng)將其關(guān)閉;
“Bluetooth”,此服務(wù)為藍(lán)牙服務(wù),如果不需要藍(lán)牙服務(wù)時(shí)應(yīng)關(guān)閉;
“identd”,此服務(wù)為AUTH 服務(wù),在提供用戶信息方面與finger類似,一般情況下該服務(wù)不是必須的,建議關(guān)閉;
“xfs”,此服務(wù)為L(zhǎng)inux 中X Window 的字體服務(wù),關(guān)于該服務(wù)歷史上出現(xiàn)過信息泄露和拒絕服務(wù)等漏洞,應(yīng)以減少系統(tǒng)風(fēng)險(xiǎn);
R 服務(wù)(“rlogin”、“rwho”、“rsh”、“rexec”),R 服務(wù)設(shè)計(jì)上存在嚴(yán)重的安全缺陷,僅適用于封閉環(huán)境中信任主機(jī)之間便捷訪問,其它場(chǎng)合下均必須禁用;
基于inetd/xinetd 的服務(wù)(daytime、chargen、echo 等),此類服務(wù)建議禁用。
3、檢查辦法
(1)判定條件
#ps –ef
#chkconfig --list
#ls /etc/xinetd.d
所需的服務(wù)都列出來;沒有不必要的服務(wù);
通過本文的日志審計(jì)策略、系統(tǒng)文件權(quán)限管控和服務(wù)優(yōu)化配置,相信大家已經(jīng)掌握了 Linux 安全的高階技能。建議定期執(zhí)行檢查命令,確保配置持續(xù)生效。
藍(lán)隊(duì)云官網(wǎng)上擁有完善的技術(shù)支持庫(kù)可供參考,大家可自行查閱,更多技術(shù)問題,也可以直接咨詢。同時(shí),藍(lán)隊(duì)云整理了運(yùn)維必備的工具包免費(fèi)分享給大家使用,需要的朋友可以直接咨詢。更多技術(shù)知識(shí),藍(lán)隊(duì)云期待與你一起探索,助力你在 Linux 運(yùn)維之路上穩(wěn)步前行。