Linux操作系統(tǒng)安全加固的實(shí)例教程

linux系統(tǒng)由于其出色的性能和穩(wěn)定性、開放源代碼的靈活性和可擴(kuò)展性,以及較低廉的成本,而受到計(jì)算機(jī)工業(yè)界的廣泛關(guān)注和應(yīng)用。其系統(tǒng)的安全性就必須要加強(qiáng)

最近備戰(zhàn)國網(wǎng)信通調(diào)考信息安全專業(yè),參考系統(tǒng)安全加固手冊,練習(xí)加固命令。

操作系統(tǒng)選用CentOS 7,考慮到可以隨時(shí)進(jìn)行“破壞性試驗(yàn)”,所以選擇安裝在VM虛擬機(jī)中,可以使用快照隨時(shí)回退錯(cuò)誤操作。?

首先,為了熟悉使用CLI,設(shè)置開機(jī)不進(jìn)入圖形界面。之前版本是修改 /etc/inittab 文件,到CentOS 7改為如下命令:

systemctl set-default multi-user.target    //設(shè)置成命令模式  systemctl set-default graphical.target     //設(shè)置成圖形模式

事實(shí)上,系統(tǒng)進(jìn)行了如下操作:

Linux操作系統(tǒng)安全加固的實(shí)例教程

好!進(jìn)入系統(tǒng),不要忘了首先做好初始快照哦。


一、賬號管理、認(rèn)證授權(quán)

第一部分主要是對用戶賬號和權(quán)限進(jìn)行加固,主要用到的命令主要是一些文件查看與編輯類的命令。

1、與賬號、用戶組、密碼等有關(guān)的文件

這些文件包括:

/etc/passwd ?

/etc/shadow

/etc/group

簡單說明一下:

/etc/passwd??記錄了系統(tǒng)中各用戶的一些基本屬性,root可寫,所有用戶可讀,查看可見如下信息:

Linux操作系統(tǒng)安全加固的實(shí)例教程

用“:”隔開的各部分含義為:  

用戶名:口令:用戶標(biāo)識號:組標(biāo)識號:注釋性描述:主目錄:登錄Shell

其中口令由于安全考慮,被記錄在了?/etc/shadow 文件中,所以這里統(tǒng)一顯示為x。

/etc/shadow?負(fù)責(zé)所有用戶的密碼:

Linux操作系統(tǒng)安全加固的實(shí)例教程

與passwd文件相似,各字段也被“:”隔開,其含義為:  

登錄名:加密口令:最后一次修改時(shí)間:最小時(shí)間間隔:最大時(shí)間間隔:警告時(shí)間:不活動時(shí)間:失效時(shí)間:標(biāo)志(系統(tǒng)保留)

這里有幾點(diǎn)需要說明:    (1)“口令”字段存放的是加密后的用戶口令字,如果為空,則對應(yīng)用戶沒有口令,登錄時(shí)不需要口令; 星號代表帳號被鎖定,有些系統(tǒng)為NP; 雙嘆號表示這個(gè)密碼已經(jīng)過期了。      $6$開頭的,表明是用SHA-512加密的      $1$ 表明是用MD5加密的      $2$ 是用Blowfish加密的      $5$ 是用SHA-256加密的。    (2)“最后一次修改時(shí)間”表示的是從某個(gè)時(shí)刻起,到用戶最后一次修改口令時(shí)的天數(shù)。時(shí)間起點(diǎn)對不同的系統(tǒng)可能不一樣。例如1970年1月1日。(后面所有時(shí)間均以此時(shí)間為起點(diǎn))    (4)“最小時(shí)間間隔”指的是兩次修改口令之間所需的最小天數(shù)。    (5)“最大時(shí)間間隔”指的是口令保持有效的最大天數(shù)。    (6)“警告時(shí)間”字段表示的是從系統(tǒng)開始警告用戶到用戶密碼正式失效之間的天數(shù)。    (7)“不活動時(shí)間”表示的是用戶沒有登錄活動但賬號仍能保持有效的最大天數(shù)。    (8)“失效時(shí)間”字段給出的是一個(gè)絕對的天數(shù),如果使用了這個(gè)字段,那么就給出相應(yīng)賬號的生存期。

/etc/group?負(fù)責(zé)用戶組屬性:

Linux操作系統(tǒng)安全加固的實(shí)例教程

這個(gè)文件比較簡單:  組名:口令:組標(biāo)識號:組內(nèi)用戶列表

其中,組內(nèi)用戶列表中,用戶間用“,”隔開。

如果想要查看一個(gè)用戶的用戶組信息,可以使用

id [user]

來查看:

Linux操作系統(tǒng)安全加固的實(shí)例教程

OK,文件說明到此結(jié)束,讓我們來干些實(shí)際的吧~

2、鎖定無關(guān)賬戶

在確認(rèn)某些賬戶可以鎖定的情況下,可以使用

passwd -l [user]

其原理是在/etc/shadow中用戶的密碼字段前加入“!!”(因系統(tǒng)而異,有些系統(tǒng)是加入“*LK*”),使得用戶密碼改變,無法登陸

Linux操作系統(tǒng)安全加固的實(shí)例教程

這還真是簡單粗暴,不過這也意味著,只要隨意修改shadow文件密碼字段,即可實(shí)現(xiàn)賬號鎖定。

對應(yīng)的解鎖命令為

passwd -u [user]

3、禁止超級管理員賬戶遠(yuǎn)程登錄

在進(jìn)行這方面工作之前,首先要知道一個(gè)重要內(nèi)容 Linux-PAM(Linux可插拔認(rèn)證模塊)。

用戶可以通過修改配置文件/etc/pam.conf(RedHat等系統(tǒng)還支持另外一種配置方式,即通過配置目錄/etc/pam.d/)對認(rèn)證機(jī)制進(jìn)行修改,而個(gè)模塊的具體配置在/etc/security下。

具體相關(guān)知識由于篇幅,可以自行百度,(推薦一篇博客,很實(shí)用)這里只對本小節(jié)內(nèi)容進(jìn)行說明。

1 PAM工作機(jī)制   /lib/security    目錄下的每一個(gè)認(rèn)證模塊都會返回pass或者fail結(jié)果,部分程序使用/etc/security目錄下的設(shè)置文件決定認(rèn)證方式。  應(yīng)用程序調(diào)用PAM模塊認(rèn)證的配置,存放于/etc/pam.d,文件名與應(yīng)用程序名對應(yīng),文件中的每一行都會返回一個(gè)成驗(yàn)證功還是失敗的控制標(biāo)志,以決定用戶是否擁有訪問權(quán)限。   2 PAM驗(yàn)證類型        * auth 驗(yàn)證使用者身份,提示輸入賬號和密碼        * account 基于用戶表、時(shí)間或者密碼有效期來決定是否允許訪問        * password 禁止用戶反復(fù)嘗試登錄,在變更密碼時(shí)進(jìn)行密碼復(fù)雜性控制       * session 進(jìn)行日志記錄,或者限制用戶登錄的次數(shù) libpam函數(shù)庫會可以調(diào)用以上一種服務(wù)或者全部。   3 PAM驗(yàn)證控制類型(Control Values)    驗(yàn)證控制類型也可以稱做Control Flags,用于PAM驗(yàn)證類型的返回結(jié)果。       * required 驗(yàn)證失敗時(shí)仍然繼續(xù),但返回Fail(用戶不會知道哪里失敗)      * requisite 驗(yàn)證失敗則立即結(jié)束整個(gè)驗(yàn)證過程,返回Fail        * sufficient 驗(yàn)證成功則立即返回,不再繼續(xù),否則忽略結(jié)果并繼續(xù)      * optional 無論驗(yàn)證結(jié)果如何,均不會影響(通常用于session類型

?

打開/etc/pam.d/login文件,可以看到如下內(nèi)容:

Linux操作系統(tǒng)安全加固的實(shí)例教程

其中

auth?[user_unknown=ignore?success=ok?ignore=ignore?default=bad]?pam_securetty.so

auth required pam_securetty.so

處于未注釋狀態(tài),再查看/etc/securetty中沒有pts/xx為一個(gè)十進(jìn)制整數(shù))或已被注釋掉

確保root不能通過telnet連接主機(jī)。

再檢查SSH:

?/etc/ssh/sshd_config

檢查下列行設(shè)置是否為no并且該行未被注釋:PermitRootLogin

Linux操作系統(tǒng)安全加固的實(shí)例教程

然后重新啟動ssh服務(wù):

service sshd stop  service sshd start

4、修改用戶組

使用usermod -g [group/GID] [username] 修改用戶組。沒什么好說的,上圖:

Linux操作系統(tǒng)安全加固的實(shí)例教程

5、口令策略

(1)口令復(fù)雜度及時(shí)效

?修改?/etc/login.defs,文件注釋很清楚,可以自己修改:

Linux操作系統(tǒng)安全加固的實(shí)例教程

(2)設(shè)定密碼歷史,不能重復(fù)使用近N次內(nèi)已使用的口令(方法來自網(wǎng)絡(luò))

對于Redhat系列的Linux,查看/etc/pam.d/system-auth

對于Debian系列的Linux,查看/etc/pam.d/common-password

在如圖所示的行后,加入remember=N

Linux操作系統(tǒng)安全加固的實(shí)例教程

但我目前有一個(gè)疑問,remember=N這個(gè)語句的PAM驗(yàn)證控制類型是否應(yīng)該是sufficient而不是其他類型。但求大神指導(dǎo)!

(3)設(shè)定連續(xù)認(rèn)證失敗次數(shù)超過N次鎖定該賬號

依然是修改/etc/pam.d/login文件的第二行,加入如下命令

auth required pam_tally2.so deny=3 lock_time=300 even_deny_root root_unlock_time=10

Linux操作系統(tǒng)安全加固的實(shí)例教程

6、設(shè)定文件目錄權(quán)限

在用戶登錄中,passwd、shadow、group文件非常重要,需要嚴(yán)格管理文件權(quán)限

/etc/passwd 必須所有用戶都可讀,root用戶可寫 –rw-rr—?權(quán)限值為644

/etc/shadow 只有root可讀 –r——–??權(quán)限值為400

/etc/group 必須所有用戶都可讀,root用戶可寫 –rw-rr— 權(quán)限值為644

使用如下命令修改權(quán)限:

chmod 644 /etc/passwdchmod 400 /etc/shadowchmod 644 /etc/group

此外還有一個(gè)重要的參數(shù) umask ,其值確定了新建目錄文件的默認(rèn)權(quán)限,這里先給出我們推薦的值 027

在權(quán)限設(shè)定中 r=4;w=2;x=1?但對于umask來說,umask=777(666)-權(quán)限值,即權(quán)限值=777(666)-umask。例如,umask=002,所對應(yīng)的文件和目錄創(chuàng)建缺省權(quán)限分別為6 6 4(666-2)和7 7 5(777-2)。

為什么是這樣的呢?對于文件來說,這一數(shù)字的最大值分別是6。系統(tǒng)不允許你在創(chuàng)建一個(gè)文本文件時(shí)就賦予它執(zhí)行權(quán)限,必須在創(chuàng)建后用chmod命令增加這一權(quán)限。目錄則允許設(shè)置執(zhí)行權(quán)限,這樣針對目錄來說,umask中各個(gè)數(shù)字最大可以到7。

如果使用推薦值umask=027,則對于文件來說,其權(quán)限為640,即-rw-r—– ,對目錄來說,其權(quán)限為750,即-rwxr-x—

7、檢查是否存在除root之外UID為0的用戶

使用如下代碼,對passwd文件進(jìn)行檢索:

awk -F ':' '($3==0){print $1)' /etc/passwd

將檢索出來的不是root的用戶使用userdel命令全部刪除。

?

?

?

Linux操作系統(tǒng)安全加固的實(shí)例教程

最佳 Windows 性能的頂級免費(fèi)優(yōu)化軟件

每個(gè)人都需要一臺速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊表數(shù)據(jù)和不必要的后臺進(jìn)程會占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 windows 保持平穩(wěn)運(yùn)行。

下載

相關(guān)標(biāo)簽:

來源:php中文網(wǎng)

Linux操作系統(tǒng)安全加固的實(shí)例教程

本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

最新問題
Debian上PostgreSQL版本選擇 在Debian系統(tǒng)中安裝PostgreSQL數(shù)據(jù)庫時(shí),版本的選擇至關(guān)重要。本文將指導(dǎo)您如何根據(jù)實(shí)際需求選擇合適的PostgreSQL版本。推薦版本:目前PostgreSQL最新穩(wěn)定版為17.4,包含諸多新特性和性能優(yōu)化。如需體驗(yàn)最新功能,建議參考官方文檔進(jìn)行安裝。安裝流程:系統(tǒng)更新:安裝前務(wù)必更新系統(tǒng)至最新版本。依賴安裝:使用apt安裝必要的開發(fā)工具和庫文件。源碼下載與解壓:從PostgreSQL官網(wǎng)下載目標(biāo)版本源碼包并解壓。編譯與安裝:配置編譯選項(xiàng),編譯源碼并完成安裝。

2025-03-31 22:11:01
Linux操作系統(tǒng)安全加固的實(shí)例教程479

Debian郵件服務(wù)器如何擴(kuò)展 提升Debian郵件服務(wù)器性能,您可以采取多種策略,具體取決于您的需求,例如增加用戶數(shù)、提高郵件處理速度或增強(qiáng)安全性。以下是一些關(guān)鍵的擴(kuò)展方法和建議:一、硬件資源擴(kuò)充升級服務(wù)器配置:如果現(xiàn)有服務(wù)器資源已達(dá)瓶頸,考慮升級CPU、內(nèi)存或存儲空間。遷移至更強(qiáng)服務(wù)器:條件允許的情況下,遷移到性能更強(qiáng)大的服務(wù)器平臺。二、軟件配置優(yōu)化郵件服務(wù)器軟件配置:確保Postfix、Dovecot等郵件服務(wù)器軟件已正確安裝并針對高負(fù)載進(jìn)行了優(yōu)化配置。啟用SSL/TLS加密:配置SSL證書以保

2025-03-31 20:32:01
Linux操作系統(tǒng)安全加固的實(shí)例教程856

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊13 分享
相關(guān)推薦