目 錄
- 一、賬號安全基本措施
- 1、系統賬號清理
- (1)將非登錄的用戶的Shell設為/sbin/nologin
- (2)鎖定長期不使用的賬號
- (3)洗掉無用賬號
- (4)鎖定賬號檔案passwd、shadow
- 2、密碼安全控制
- (1)設定密碼有效期
- (2)要求下次登錄時修改密碼(強制的)
- 3、命令歷史的限制
- (1)減少記錄的命令條數
- (2)登錄時自動清空命令歷史
- 4、終端自動注銷
- 二、su命令相關
- 1、su命令
- (1)su命令用途及用法
- (2)密碼驗證
- (3)限制使用su命令的用戶
- (4)查看su操作的記錄
- 三、PAM安全認證
- (1)PAM及其作用
- (2)PAM認證原理
- (3)PAM認證的構成
- (4)PAM安全認證流程
- 四、sudo命令
- (1)配置sudo授權
- (2)授權格式
- (3)設定別名
- (4)查看sudo操作記錄
- (5)檢驗
- 五、開關機安全
- 1、調整BIOS引導設定
- 2、GRUB限制
- 2.1 實驗
一、賬號安全基本措施
1、系統賬號清理
(1)將非登錄的用戶的Shell設為/sbin/nologin
usermod -s /sbin/nologin 用戶名
(2)鎖定長期不使用的賬號
usermod -L 用戶名
passwd -I 用戶名
passwd -S 用戶名
(3)洗掉無用賬號
userdel [-r] 用戶名
(4)鎖定賬號檔案passwd、shadow
chattr +i /etc/passwd /etc/shadow
lsattr /etc/passwd /etc/shadow
chattr -i /etc/passwd /etc/shadow

2、密碼安全控制
(1)設定密碼有效期
方法一:用于即將創建的用戶
直接修改組態檔
vim /etc/login.defs #編輯login.defs檔案
PASS_MAX_DAYS 30 #設定有效期30天
方法二:用于已創建的用戶
chage -M 30 lisi #修改lisi用戶的密碼有效期為30天
方法一:
編輯login.defs檔案,將密碼有效期改為30天,


修改引數后建立用戶,查看屬性,

方法二:
修改已存在的用戶wbw的密碼有效期為30天,

(2)要求下次登錄時修改密碼(強制的)
命令格式:chage -d 0 wangwu #要求lisi在下次登錄賬號時修改密碼
cat /etc/shadow | grep wangwu
3、命令歷史的限制
(1)減少記錄的命令條數
方法一:全域環境生效
vim /etc/profile #編輯profile檔案
HISTSIZE=20 #歷史記錄保留20條,export HISTSIZE=20也行
soure /etc/profile #執行一次組態檔,讓組態檔生效
方法二:當前環境生效,重啟失效
export HISTSIZE=數值 #保留歷史記錄為(數值)條
方法一:
這里可以直接修改上面的“HISTSIZE=”,也可以在最后填上“export HISTSIZE=數值”,組態檔是以最后的命令為主,



方法二:
export HISTSIZE=數值,當前用戶環境下生效,重啟失效,

(2)登錄時自動清空命令歷史


重啟后查看歷史命令

4、終端自動注銷
方法一:永久配置
vim /etc/profile #編輯profie檔案
TMOUT=600 #600秒閑置,終端注銷
soure /etc/profile #執行一次組態檔,讓組態檔生效
方法二:當前配置,重啟失效
export TMOUT=數值 #(數值)秒閑置,終端注銷
方法一:
vim /etc/profile檔案,添加“TMOUT=數值”
編輯profile檔案,在檔案的最后填上“export TMOUT=120”

編輯命令后,呼叫該命令

方法二:


二、su命令相關
1、su命令
(1)su命令用途及用法
用途: Substitute User,切換用戶
格式: su - 目標用戶
(2)密碼驗證
su - root #帶 - 選項表示將使用目標用戶的登錄Shell環境,登錄shell環境之后就可以使用該用戶的~/.bashrc組態檔
口令:
whoami
root

(3)限制使用su命令的用戶
第一步:將允許使用su命令的用戶加入wheel組
gpasswd -a 用戶 wheel #添加用戶到wheel組中
grep wheel /etc/group #確定wheel組成員

第二步:修改/etc/pam.d/su認證配置啟用pam_wheel認證
vim /etc/pam.d/su #編輯/etc/pam.d/su檔案
auth sufficient pam_rootok.so
#pam_rootok.so模塊的主要作用是使uid為0的用戶root能夠直接通過認證而不用輸入密碼
... #省略部分
auth required pam_wheel.so use_uid
#pam_wheel.so作用是讓wheel組內的用戶使用su命令,其他人(包括root)無法使用su命令
每種狀態的解釋:
兩行都注釋:所有用戶都能使用su命令,切換時root和普通用戶都需要密碼驗證
開啟第一行,注釋第二行:(默認狀態)允許所有用戶間使用su命令進行切換的,切換時,root不需要密碼,其他用戶需要密碼,
注釋第一行,開啟第二行:只有wheel組內的用戶才能使用su命令,root用戶也無法切換,
兩行都開啟:只有root用戶和wheel組內的用戶才可以使用su命令,



(4)查看su操作的記錄
cat /var/log/secure

三、PAM安全認證
(1)PAM及其作用
- LPAM是linux可插拔認證模塊,是一套可定制、可動態加載的共享庫,系統管理員通過PAM組態檔隨意選擇程式的認證方式,
- PAM的組態檔位于/etc/pam.d目錄下,CentOS7的本地認證模塊放置在/lib64/security下,想要了解有哪些,可以使用ls查看,
(2)PAM認證原理
- PAM認證順序:
Service(服務)—>PAM(組態檔)—>pam_*.so - PAM首先確定服務,然后加載相應的PAM組態檔,最后呼叫PAM認證模塊進行安全認證,
- 用戶訪問服務器的時候,服務器的某一個服務程式把用戶的請求發送到PAM模塊進行認證,
- 不同的應用程式所對應的PAM 模塊也是不同的,
- PAM的組態檔中的每一行都是一個獨立的認證程序,它們按從上往下的順序依次由PAM模塊呼叫
如果想查看某個程式是否支持 PAM 認證,可以用 ls 命令進行查看/etc/pam.d/,
例如:ls /etc/pam.d | grep su #查看su是否支持PAM模塊認證

(3)PAM認證的構成
- 每一行都是一個獨立的認證和程序,它們按從上往下的順序依次由PAM模塊呼叫
- 每行都有三個磁區:認證型別、控制型別、PAM模塊、PAM模塊引數
cd /etc/pam.d/
cat login

1、以上兩行是默認狀態(即開啟第一行,注釋第二行) ,這種狀態下是允許所有用戶間使用su命令進行切換的,
2、兩行都注釋也是運行所有用戶都能使用su命令,但root下使用su切換到其他普通用戶需要輸入密碼;如果第一行不注釋,則 root 使用 su 切換普通用戶就不需要輸入密碼(pam_rootok.so 模塊的主要作用是使 uid為0的用戶,即root用戶能夠直接通過認證而不用輸入密碼,)
3、如果開啟第二行,表示只有root用戶和wheel組內的用戶才可以使用su命令,
4、如果注釋第一行,開啟第二行,表示只有wheel組內的用戶才能使用su命令,root用戶也被禁用su命令,
第一列代表PAM認證模塊型別
auth:對用戶身份進行識別,如提示輸入密碼,判斷是否為root,
account:對賬號各項屬性進行檢查,如是否允許登錄系統,帳號是否已經過期,是否達到最大用戶數等,
password:使用用戶資訊來更新資料,如修改用戶密碼,
session:定義登錄前以及退出后所要進行的會話操作管理,如登錄連接資訊,用戶資料的打開和關閉,掛載檔案系統,
第二列代表PAM控制標記=
required:表示需要回傳一個成功值,如果回傳失敗,不會立刻將失敗結果回傳,而是繼續進行同型別的下一驗證,所有此型別的模塊都執行完成后,再回傳失敗,(起到密碼保護的作用)
requisite:與required類似,但如果此模塊回傳失敗,則立刻回傳失敗并表示此型別失敗,
sufficient:如果此模塊回傳成功,則直接向程式回傳成功,表示此類成功,如果失敗,也不影響這型別的回傳值,
optional:不進行成功與否的回傳,一般不用于驗證,只是顯示資訊(通常用于session型別),
include:表示在驗證程序中呼叫其他的PAM組態檔,比如很多應用通過完整呼叫 /etc/pam.d/system-auth (主要負責用戶登錄系統的認證作業)來實作認證而不需要重新逐一去寫配置項,
第三列代表PAM模塊,默認是在/lib64/security/目錄下,如果不在此默認路徑下,要填寫絕對路徑,
同一個模塊,可以出現在不同的模塊型別中,它在不同的型別中所執行的操作都不相同,這是由于每個模塊針對不同的模塊型別編制了不同的執行函式,
第四列代表PAM模塊的引數,這個需要根據所使用的模塊來添加,
傳遞給模塊的引數,引數可以有多個,之間用空格分隔開
(4)PAM安全認證流程
1、控制型別也稱做Control Flags,用于PAM驗證型別的回傳結果
- required 驗證失敗時仍然繼續,但回傳Fail
- requisite驗證失敗則立即結束整個驗證程序,回傳Fai
- sufficient驗證成功則立即回傳,不再繼續,否則忽略結果并繼續
- optional 不用于驗證,只顯示資訊
(通常用于session型別)


四、sudo命令
- 作用:提升執行權限(使用其他用戶的身份執行)
- 用法:sudo 授權命令
(1)配置sudo授權
使用 visudo 或者 vim /etc/sudoers ( vim /etc/sudoers此檔案的默認權限為440,保存退出時必須執行":wq!"命令來強制操作) 命令進行提權




(2)授權格式
用戶 主機名=命令程式串列
用戶 主機名=(用戶)命令程式串列
用戶:直接授權指定的用戶名,或采用"%組名"的形式(授權一個組的所有用戶),
主機名:使用此規則的主機名,沒配置過主機名時可用 localhost,有配過主機名則用實際的主機名,ALL則代表所有主機
(用戶):用戶能夠以何種身份來執行命令,此項可省略,預設時以root用戶的身份來運行命令,
命令程式串列:允許授權的用戶通過sudo方式執行的特權命令,需填寫命令程式的完整路徑,多個命令之間以逗號","進行分隔,ALL則代表系統中的所有命令,
普通用戶是不具有某些權限的,比如更改網卡的權限,所以就需要使用 sudo 來給普通用戶提權,


(3)設定別名
User_Alias USERS=Tom, Jerry, Mike #修改用戶別名
Host_Alias HOSTS=localhost, bogon #修改主機別名
Cmnd_Alias CMNDS=/sbin/ifconfiq, /usr/sbin/useradd, /usr/sbin/userdel #修改命令別名
USERS HOSTS=CMNDS #將命令寫入
注:
修改用戶別名 User_Alias
修改主機別名 Host_Alias
修改命令別名 Cmnd_Alias


(4)查看sudo操作記錄
- 需啟用sudo操作日志(Defaults logfile 配置)
visudo
Defaults logfile = "/var/log/sudo" #將該命令添加至組后一行保存退出即可

- 默認日志檔案: /var/log/sudo
[root@localhost~]# tail /var/log/sudo

- 查詢授權的sudo操作
sudo -l

(5)檢驗
五、開關機安全
1、調整BIOS引導設定
- 將第一引導設備設為當前系統所在硬碟
- 禁止從其他設備(光碟、U盤、網路)引導系統
- 將安全級別設為setup,并設定管理員密碼
2、GRUB限制
- 使用grub2-mkpasswd-pbkdf2生成密鑰
- 修改/etc/grub.d/00_header檔案中,添加密碼記錄
- 生成新的 grub.cfg 組態檔
2.1 實驗
(1)使用grub2-mkpasswd-pbkdf2生成密鑰
grub2-mkpasswd-pbkdf2

(2)修改/etc/grub.d/00_header檔案,添加密碼記錄
修改檔案前備份檔案,防止出現問題好恢復,這里將第三步的grup.cfg一起備份了,
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
cp /etc/grub.d/00_header /etc/grub.d/00_header.bak
vim /etc/grub.d/00_header


(3)生成新的grub.cfg組態檔
grub2-mkconfig -o /boot/grub2/grub.cfg

(4)重新啟動


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/279993.html
標籤:其他
上一篇:2021年4月最新面經答案總結(Java基礎、資料庫、JVM、計網、計操、集合、多執行緒、Spring)
下一篇:jmu資料結構課程實驗任務
