日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

身为一名合格root管理员的基本防范措施 Linux系统安全及应用

發(fā)布時間:2024/3/13 linux 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 身为一名合格root管理员的基本防范措施 Linux系统安全及应用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

系統(tǒng)安全及應(yīng)用

  • 一.賬號安全基本措施
        • ① 系統(tǒng)賬號清理
        • ② 密碼安全控制
        • ③ 命令歷史限制
        • ④ 終端自動注銷
  • 二.SU命令切換用戶
        • ① 用途及用法
        • ② 驗證密碼
        • ③ 限制使用su命令的用戶
        • ④ 查看su操作記錄
        • 補充
  • 三.Linux中的PAM安全認證
        • ① su命令的安全隱患
        • ② PAM(Pluggable Authentication Modules)可插拔式認證模塊
        • ③ PAM認證原理
        • ④ 認證流程
  • 四.sudo機制提升權(quán)限
        • ① sudo命令的用途及用法
        • ② 配置sudo授權(quán)
        • ③ 查看sudo操作記錄
        • ④ 查看授權(quán)的sudo操作
      • 總結(jié)

一.賬號安全基本措施

① 系統(tǒng)賬號清理

? 將非登錄用戶的Shell設(shè)為/sbin/nologin

usermod -s /sbin/nologin 用戶名

? 鎖定長期不使用的賬號

usermod -L 用戶名 passwd -l 用戶名

? 刪除無用的賬號

userdel [-r] 用戶名

? 鎖定賬號文件 passwd、shadow

chattr +i /etc/passwd /etc/shadow #鎖定文件并查看狀態(tài)Isattr /etc/passwd /etc/shadow #查看chattr -i /etc/passwd /etc/shadow #解鎖文件



② 密碼安全控制

? 設(shè)置密碼有效期

? 要求用戶下次登錄時修改密碼

適用于新建用戶:
vi /etc/login.defs




適用于已有用戶:
chage -M xx xx

強行在下次登錄時更改密碼:
chage -d 0 xxx


③ 命令歷史限制

? 減少記錄的命令條數(shù)
vi /etc/profile

? 登錄時自動清空命令歷史
vi .bashrc
echo " " > ~/.bash_history

減少記錄的命令條數(shù):
vi /etc/profile




登錄時自動清空命令歷史:
vi .bashrc
echo " " > ~/.bash_history


④ 終端自動注銷

閑置360秒后自動注銷

vi /etc/profile



二.SU命令切換用戶

① 用途及用法

? 用途: Substitute User,切換用戶
? 格式: su-目標用戶

② 驗證密碼

? root>任意用戶,不驗證密碼
?普通用戶→其他用戶,驗證目標用戶的密碼

③ 限制使用su命令的用戶

? 將允許使用su命令的用戶加入wheel組
? 啟用pam_ wheel認證模塊

gpasswd -a xxx wheel #將用戶加入wheel組vi /etc/pam.d/su #進入設(shè)置su使用命令


④ 查看su操作記錄

安全日志文件:/var/log/secure

補充

在/etc/ pam. d/su文件里設(shè)置禁止用戶使用su命令
vim /etc/pam.d/ su

2// auth sufficient pam_ rootok. so
6// #auth required pam_ wheel.so use_ uid

a) 以上兩行是默認狀態(tài)(即開啟第一-行,注釋第二行),這種狀態(tài)下是允許所有用戶間使用su命令進行切換的

b) 兩行都注釋也是運行所有用戶都能使用su命令,但root.下使用su切換到其他普通用戶需要輸入密碼;
如果第一行不注釋,則root使用su切換普通用戶就不需要輸入密碼(pam_ rootok. so模塊的主要作用是使uid為0的用戶,即root用戶能夠直接通過認證而不用輸入密碼)

c) 如果開啟第二行,表示只有root用戶和wheel組內(nèi)的用戶才可以使用su命令

d) 如果注釋第一行,開啟第二行,表示只有wheel組內(nèi)的用戶才能使用su命令,root用戶也被禁用su命令

gpasswd -a lili wheel #添加授權(quán)用戶zhangsan 到wheel組中 groups lilivim /etc/pam.d/su auth required pam_wheel.so use_uid #去掉此行開頭的注釋啟用pam_wheel認證以后,未加入到wheel組內(nèi)的其他用戶將無法使用su命令

三.Linux中的PAM安全認證

PAM使用/etc/pam.d/下的配置文件,來管理對程序的認證方式

應(yīng)用程序調(diào)用相應(yīng)的PAM配置文件,從而調(diào)用本地的認證模塊,模塊放置在/lib64/security下以加載動態(tài)庫的形式進行認證。比如使用su命令時,系統(tǒng)會提示輸入root用戶的密碼,這就是su命令通過調(diào)用PAM模塊實現(xiàn)的

① su命令的安全隱患

? 默認情況下,任何用戶都允許使用su命令,有機會反復(fù)嘗試其他用戶(如root) 的登錄密碼,帶來安全風(fēng)險

? 為了加強su命令的使用控制,可借助于PAM認證模塊只允許極個別用戶使用su命令進行切換

② PAM(Pluggable Authentication Modules)可插拔式認證模塊

? 是一種高效而且靈活便利的用戶級別的認證方式

? 是當(dāng)前Linux服務(wù)器普遍使用的認證方式

③ PAM認證原理

1.PAM認證一般遵循的順序:Service(服務(wù))–>PAM(配置文件)–>pam_*.so

2.PAM認證首先要確定哪一項應(yīng)用服務(wù),然后加載相應(yīng)的PAM的配置文件(位于7etc/pam.d下),最后調(diào)用認證模塊(位于/lib64/security/下)進行安全認證

3.用戶訪問服務(wù)器的時候,服務(wù)器的某–個服務(wù)程序把用戶的請求發(fā)送到PAM模塊進行認證。不同的應(yīng)用程序所對應(yīng)的PAM模塊也是不同的

4.不同的應(yīng)用程序所對應(yīng)的PAM模塊是不同的

? 如果想查看某個程序是否支持PAM 認證,可以用ls命令進行查看/etc/ pam.d/

? PAM的配置文件中的每一行都是一個獨立的認證過程,它們按從上往下的順序依次由PAM模塊調(diào)用

第一列代表PAM認證模塊類型

auth: 對用戶身份進行識別,如提示輸入密碼,判斷是否為root

account: 對賬號各項屬性進行檢查,如是否允許登錄系統(tǒng),帳號是否已經(jīng)過期,是否達到最大用戶數(shù)等

password: 使用用戶信息來更新數(shù)據(jù),如修改用戶密碼

session: 定義登錄前以及退出后所要進行的會話操作管理,如登錄連接信息,用戶數(shù)據(jù)的打開和關(guān)閉,掛載文件系統(tǒng)

第二列代表PAM控制標記

required: 表示需要返回一個成功值,如果返回失敗,不會立刻將失敗結(jié)果返回,而是繼續(xù)進行同類型的下一驗證,所有此類型的模塊都執(zhí)行完成后,再返回失敗

requisite: 與required類似,但如果此模塊返回失敗,則立刻返回失敗并表示此類型失敗

sufficient: 如果此模塊返回成功,則直接向程序返回成功,表示此類成功,如果失敗,也不影響這類型的返回值

optional: 不進行成功與否的返回,一般不用于驗證,只是顯示信息(通常用于session 類型)

include: 表示在驗證過程中調(diào)用其他的PAM配置文件。比如很多應(yīng)用通過完整調(diào)用/etc/pam.d/system-auth(主要負責(zé)用戶登錄系統(tǒng)的認證工作)來實現(xiàn)認證而不需要重新逐一去寫配置項

第三列代表PAM模塊

默認是在/lib64/security/目錄下,如果不在此默認路徑下,要填寫絕對路徑

同一個模塊,可以出現(xiàn)在不同的模塊類型中,它在不同的類型中所執(zhí)行的操作都不相同,這是由于每個模塊針對不同的模塊類型編制了不同的執(zhí)行函數(shù)

第四列代表PAM模塊的參數(shù)

這個需要根據(jù)所使用的模塊來添加傳遞給模塊的參數(shù)。參數(shù)可以有多個,之間用空格分隔開

④ 認證流程

控制類型也稱做Control Flags,用于PAM驗證類型的返回結(jié)果
1.required驗證失敗時仍然繼續(xù),但返回Fail

2.requisite驗證失敗則立即結(jié)束整個驗證過程,返回Fail

3. sufficient驗證成功則立即返回,不再繼續(xù),否則忽略結(jié)果并繼續(xù)

4.optional不用于驗證,只顯示信息
(通常用于session類型)

required : 表示該行以及所涉及模塊的成功是用戶通過鑒別的[必要條件]。換句話說,只有當(dāng)對應(yīng)于應(yīng)用程序的所有帶requi red標記的模塊全部成功后,該程序才能通過鑒別。同時,如果任何帶requi red標記的模塊出現(xiàn)了錯誤,PAM并不立刻將錯誤消息返回給應(yīng)用程序,而是在所有此類型模塊都調(diào)用完畢后才將錯誤消息返回調(diào)用他的程序

說白了,就是必須將所有的此類型模塊都執(zhí)行一次,其中任何一個模塊驗證出錯,驗證都會繼續(xù)進行,并在執(zhí)行完成之后才返回錯誤信息。這樣做的目的就是不讓用戶知道自已被哪個模塊拒絕,通過一種隱蔽的方式來保護系統(tǒng)服務(wù)。就像設(shè)置防火墻規(guī)則的時候?qū)⒕芙^類的規(guī)則都設(shè)置為drop-樣,以致于用戶在訪問網(wǎng)絡(luò)不成功的時候無法準確判斷到底是被拒絕還是目標網(wǎng)絡(luò)不可達

requisite: 與required相仿, 只有帶此標記的模塊返回成功后,用戶才能通過鑒別。不同之處在于其一旦失敗就不再執(zhí)行堆中后面的其他模塊,并且鑒別過程到此結(jié)束,同時也會立即返回錯誤信息。與上面的required相比,似乎要顯得更光明正大一-些

sufficient: 表示該行以及所涉及模塊驗證成功是用戶通過鑒別的[充分條件]。也就是說只要標記為sufficient的模塊一旦驗證成功,那么PAM便立即向應(yīng)用程序返回成功結(jié)果而不必嘗試任何其他模塊。即便后面的層疊模塊使用了requisite或者required控制標志也是一樣。當(dāng)標記為sufficient的模塊失敗時,sufficient模 塊會當(dāng)做optional對待。因此擁有sufficient標志位的配置項在執(zhí)行驗證出錯的時候并不會導(dǎo)致整個驗證失敗,但執(zhí)行驗證成功之時則大門]敞開。所以該控制位的使用務(wù)必慎重

optional: 表示即便該行所涉及的模塊驗證失敗用戶仍能通過認證。在PAM體系中,帶有該標記的模塊失敗后將繼續(xù)處理下一模塊。也就是說即使本行指定的模塊驗證失敗,也允許用戶享受應(yīng)用程序提供的服務(wù)。使用該標志,PAM框架會忽略這個模塊產(chǎn)生的驗證錯誤,繼續(xù)順序執(zhí)行下一個層疊模塊

四.sudo機制提升權(quán)限

① sudo命令的用途及用法

用途:以其他用戶身份(如root)執(zhí)行授權(quán)的命令

用法:sudo 授權(quán)命令

② 配置sudo授權(quán)

? visudo 或者 vi /etc/sudoers此文件的默認權(quán)限為440,保存退出時必須執(zhí)行 “:wq!”命令來強制操作

? 記錄格式:用戶 主機名=(用戶)命令程序列表

用戶: 直接授權(quán)指定的用戶名,或采用“。組名"的形式(授權(quán)一個組的所有用戶)

主機名: 使用此規(guī)則的主機名。沒配置過主機名時可localhost,有配過主機名則用實際的主機名,ALI則代表所有主機

(用戶): 用戶能夠以何種身份來執(zhí)行命令。此項可省略,缺省時以root用戶的身份來運行命令

命令程序列表: 允許授權(quán)的用戶通過sudo方式執(zhí)行的特權(quán)命令,需填寫命令程序的完整路徑,多個命令之間以逗號“,”進行分隔。ALL則代表系統(tǒng)中的所有命令

樣例一:

Tom ALL=/ sbin/ ifconfigJerry localhost=/sbin/*, ! /sbin/ reboot, ! /sbin/ poweroff 通配符*"表示所有、取反符號、!”表示排除%wheel ALL=NOPASSWD:ALL 表示wheel組成員無需驗證密碼即可使用sudo執(zhí)行任何命令Mike ALL= (root) NOPASSWD: /bin/kill, /usr/bin/killall



注:帶有感嘆號的意思為 不可以執(zhí)行這個操作


注:加入wheel組,可以使用sudo執(zhí)行任何命令

樣例二:

使用關(guān)鍵字User_ Alias、Host_ Alias、Cmnd_ Alias 來進行設(shè)置別名( 別名必須為大寫)

User_Alias USERS=Tom, Jerry, MikeHost_Alias HOSTS=localhost, bogonCmnd_Alias CMNDS=/ sbin/ ifconfig, /usr/ sbin/useradd,/usr/sbin/ userdelUSERS HOSTS=CMNDSUSERS HOSTS=NOPASSWD:CMNDS #執(zhí)行過程不需要驗證密碼




注:這里我只是讓這兩位小情侶只能執(zhí)行 添加用戶和重啟操作

③ 查看sudo操作記錄

? 需啟用Defaults logfile配置
? 默認日志文件: /var/log/sudo

注:這里進入的編輯模式一樣是執(zhí)行 visudo

④ 查看授權(quán)的sudo操作

sudo -l


初次使用sudo時需驗證當(dāng)前用戶的密碼,默認超時時長為5分鐘,在此期間不再重復(fù)驗證密碼

總結(jié)

1.賬號安全基本措施

? 鎖定賬號文件 passwd、shadow

? chattr +i /etc/passwd /etc/shadow
鎖定文件并查看狀態(tài)
? Isattr /etc/passwd /etc/shadow
查看
? chattr -i /etc/passwd /etc/shadow
解鎖文件

? 密碼安全控制

? 適用于新建用戶
vi /etc/login.defs

? 適用于已有用戶
chage -M xx xx

? 強行在下次登錄時更改密碼
chage -d 0 xxx

? 命令歷史限制

? 減少記錄的命令條數(shù)
vi /etc/profile

? 登錄時自動清空命令歷史
vi .bashrc
echo " " > ~/.bash_history

? 終端自動注銷

vi /etc/profile

2.限制使用su命令的用戶

? 將允許使用su命令的用戶加入wheel組
? vim /etc/pam.d/ su
? 啟用pam_ wheel認證模塊

查看su操作記錄
安全日志文件:/var/log/secure

3.Linux中的PAM安全認證

?PAM使用/etc/pam.d/下的配置文件,來管理對程序的認證方式

? 如果想查看某個程序是否支持PAM 認證,可以用ls命令進行查看/etc/ pam.d/

? PAM的配置文件中的每一行都是一個獨立的認證過程,它們按從上往下的順序依次由PAM模塊調(diào)用

4.sudo機制提升權(quán)限

? 記錄格式:用戶 主機名=(用戶)命令程序列表
Tom ALL=/ sbin/ ifconfig

? 使用關(guān)鍵字User_ Alias、Host_ Alias、Cmnd_ Alias 來進行設(shè)置別名( 別名必須為大寫)

? 查看sudo操作記錄
? 需啟用Defaults logfile配置
? 默認日志文件: /var/log/sudo

? 查看授權(quán)的sudo操作
sudo -l

總結(jié)

以上是生活随笔為你收集整理的身为一名合格root管理员的基本防范措施 Linux系统安全及应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。