天天看點

Linux系統安全及應用一 賬号安全控制二 密碼安全控制三指令曆史限制四 使用su指令切換使用者五 密碼驗證六 限制使用su指令的使用者七 PAM安全認證流程八 PAM驗證的構成九 PAM認證原理十 su指令的安全隐患十一 PAM可插拔式認證子產品十二 使用sudo機制提升權限十三 GRUB限制

這裡寫目錄标題

  • 一 賬号安全控制
  • 二 密碼安全控制
  • 三指令曆史限制
  • 四 使用su指令切換使用者
  • 五 密碼驗證
  • 六 限制使用su指令的使用者
  • 七 PAM安全認證流程
  • 八 PAM驗證的構成
  • 九 PAM認證原理
  • 十 su指令的安全隐患
  • 十一 PAM可插拔式認證子產品
  • 十二 使用sudo機制提升權限
  • 十三 GRUB限制

一 賬号安全控制

1 賬号安全基本措施

  • 系統賬号清理
  • 将非登入使用者的shell設為/sbin/nologin
  • 鎖定長期不使用的賬号
usermod -L [賬号名]        #####鎖定賬号
passwd -S [賬号名]          ######檢視帳号狀态
usermod -U [賬号名]       ######解鎖帳号
           
  • 删除無用的賬号
  • 鎖定賬号檔案passwd、shadow
[[email protected] ~]# chattr +i /etc/passwd /etc/shadow	#####鎖定檔案
[[email protected] ~]# lsattr /etc/passwd /etc/shadow		#####檢視為鎖定
----i----------- /etc/passwd	
----i----------- /etc/shadow	
[[email protected] ~]# chattr -i /etc/passwd /etc/shadow	#####解鎖檔案
[[email protected] ~]# lsattr /etc/passwd /etc/shadow		#####檢視為解鎖狀态
--------------- /etc/passwd	
--------------- /etc/shadow
           

1、“+”:在原有參數設定基礎上,追加參數;

2、“-”:在原有參數設定基礎上,移除參數;

3、“=”;更新為指定參數設定。

“A”:檔案或目錄的atime(access time)不可被修改(modified),可以有效預防例如手提電腦,磁盤I/O錯誤的發生;

“S”:硬碟I/O同步選項,功能類似sync;

“a”:即append,設定參數後,隻能向檔案中添加資料,而不能删除,多用來伺服器日志檔案安全,隻有root才能設定這個屬性;

“c”,即compresse,設定檔案是否經壓縮後再存儲,讀取時需要經過自動解壓操作;

“d”:即no dump 設定檔案不能成為dump程式的備份目标;

“i”:設定檔案不能被删除、改名、設定連結關系,同時不能寫入或新增内容。i參數對檔案系統的安全設定有很大幫助;

“j”:即journal,設定此參數使得當通過mount參數:data=ordered或者data=writeback挂載的檔案系統,檔案在寫入時會被記錄(在journal中)。如果filesystem被設定參數為data=journal,則該參數自動失效;

“s”:保密性地删除檔案或者目錄,即硬碟空間被全部收回;

“u”:與s相反,當設定為u時,資料内容其實還存在磁盤中,可以用于undeletion。

各參數選項中常用到的是“a”和“i”。“a”選項強制隻可添加不可删除,多用于日志系統的安全設定,而“i”是更為嚴格的安全設定,隻有superuser(root)或具有CAP_Linux_IMMUYABLE處理能力(辨別)的程序能夠施加該選項。

二 密碼安全控制

1、設定密碼有效期;

2、要求使用者下次登陸修改密碼。

vi /etc/login.defs

……

PASS_MAX_DATS 30

(适用于建立使用者)

chage –M 30 aaa (适用于已有使用者)

chage –d 0 aaa (強制在下次登入時更改密碼)

chage -d 0 aaa
init 6
           
Linux系統安全及應用一 賬号安全控制二 密碼安全控制三指令曆史限制四 使用su指令切換使用者五 密碼驗證六 限制使用su指令的使用者七 PAM安全認證流程八 PAM驗證的構成九 PAM認證原理十 su指令的安全隐患十一 PAM可插拔式認證子產品十二 使用sudo機制提升權限十三 GRUB限制

三指令曆史限制

1、減少記錄的指令條數;

vi /etc/profile

HISTSIZE=200

2、登出時自動清空曆史指令。

vi ~/.bash_logout

history -c

clear

history –c

該指令可以清空本次登入的所有輸出指令,但不清空.bash_history檔案,是以下次登陸後,舊指令還将出現,曆史指令是存在于目前使用者根目錄下的./bash_history檔案。

echo > $home./bash_history

每個使用者根目錄下都有一個.bash_history檔案用于儲存曆史指令,當每次登出時,本次登陸所執行的指令将被寫入該檔案。是以可以直接清空該檔案,下次登入上次儲存的指令将消失,清空效果将在下次登陸生效。

四 使用su指令切換使用者

1、用途:Substitute User 切換使用者;

2、格式:su 目标使用者

五 密碼驗證

1、root——任意使用者 不驗證密碼;

2、普通使用者——其他使用者 驗證目标使用者的密碼。

六 限制使用su指令的使用者

1、将允許使用su指令的使用者加入wheel組;

2、啟用pam_wheel認證子產品。

七 PAM安全認證流程

控制類型也稱做Control Flags,用于PAM驗證類型的傳回結果。

1、required驗證失敗時仍然繼續,但傳回Fail;

2、requisite驗證失敗時立即結束整個驗證過程,傳回Fail;

3、sufficien驗證成功則立即傳回,不再繼續,否則忽略結果并繼續;

4、optional不用于驗證,隻顯示資訊(通常用于session類型)

Linux系統安全及應用一 賬号安全控制二 密碼安全控制三指令曆史限制四 使用su指令切換使用者五 密碼驗證六 限制使用su指令的使用者七 PAM安全認證流程八 PAM驗證的構成九 PAM認證原理十 su指令的安全隐患十一 PAM可插拔式認證子產品十二 使用sudo機制提升權限十三 GRUB限制

八 PAM驗證的構成

1、看某個程式是否支援PAM認證,可以用ls指令

例:檢視su是否支援PAM子產品認證

[[email protected] ~]# ls /etc/pam.d | grep su
ksu
su
sudo
sudo-i
su-l
[[email protected] ~]# 

           

2、檢視su的PAM配置檔案

[[email protected] ~]# cat /etc/pam.d/su
#%PAM-1.0
auth		sufficient	pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth		sufficient	pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth		required	pam_wheel.so use_uid
auth		substack	system-auth
auth		include		postlogin
account		sufficient	pam_succeed_if.so uid = 0 use_uid quiet
account		include		system-auth
password	include		system-auth
session		include		system-auth
session		include		postlogin
session		optional	pam_xauth.so
[[email protected] ~]# 

           

1、每一行都是一個獨立的認證過程;

2、每一行可以區分為三個字段

認證類型,控制類型,PAM子產品及其參數

PAM認證類型包括四種:

認證管理(authentication management):接受使用者名稱和密碼,進而對該使用者的密碼進行認證;

賬号管理(account management):檢查賬戶是否被允許登陸系統,賬号是否已經過期,賬号的登陸是否有時間段的限制等;

密碼管理(password management):主要用來修改使用者的密碼;

會話管理(session management):主要是提供對會話的管理和記賬。

九 PAM認證原理

1、一般遵循的順序:

Service(服務)——PAM(配置檔案)——pam_*.so

2、首先要确定哪一項服務,然後加載相應的PAM的配置檔案(位于/etc/pam.d下),最後調用認證檔案(位于/lib/security下)進行安全認證

3、使用者通路伺服器時,伺服器的某一服務程式把使用者的請求發送到PAM子產品進行認證

4、不同的應用程式所對應的PAM子產品是不同的

十 su指令的安全隐患

1、預設情況下,任何使用者都允許使用su指令,有機會反複嘗試其他使用者(如root)的登陸密碼,帶來安全風險;

2、為了加強su指令的使用控制,可借助于PAM認證子產品,隻允許極個别使用者使用su指令進行切換。

十一 PAM可插拔式認證子產品

1、是一種高效而且靈活便利的使用者級别的認證方式;

2、也是目前Linux伺服器普遍使用的認證方式。

十二 使用sudo機制提升權限

1、sudo指令的用途及用法

(1)、以其他身份(如root)執行授權的指令

(2)、用法:sudo 授權指令

2、配置sudo授權

Linux系統安全及應用一 賬号安全控制二 密碼安全控制三指令曆史限制四 使用su指令切換使用者五 密碼驗證六 限制使用su指令的使用者七 PAM安全認證流程八 PAM驗證的構成九 PAM認證原理十 su指令的安全隐患十一 PAM可插拔式認證子產品十二 使用sudo機制提升權限十三 GRUB限制

3、4個ALL代表的含義

(1)、從左到右第一個ALL代表的是使用者;

(2)、從左到右第二個ALL代表的是機器;

(3)、從左到右第三個ALL代表的是新使用者身份(sun_as_user,如root);

(4)、從左到右第四個ALL代表的是指令。

Linux系統安全及應用一 賬号安全控制二 密碼安全控制三指令曆史限制四 使用su指令切換使用者五 密碼驗證六 限制使用su指令的使用者七 PAM安全認證流程八 PAM驗證的構成九 PAM認證原理十 su指令的安全隐患十一 PAM可插拔式認證子產品十二 使用sudo機制提升權限十三 GRUB限制

sudo –l可以檢視結果

[[email protected] ~]# sudo -l
比對 %2$s 上 %1$s 的預設條目:
    !visiblepw, always_set_home, match_group_by_gid, env_reset,
    env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
    env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
    env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
    env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
    env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

使用者 root 可以在 localhost 上運作以下指令:
    (ALL) ALL

           

檢視sudo操作記錄

(1)、需啟用Defaults logfile配置;

Linux系統安全及應用一 賬号安全控制二 密碼安全控制三指令曆史限制四 使用su指令切換使用者五 密碼驗證六 限制使用su指令的使用者七 PAM安全認證流程八 PAM驗證的構成九 PAM認證原理十 su指令的安全隐患十一 PAM可插拔式認證子產品十二 使用sudo機制提升權限十三 GRUB限制

(2)、預設日志檔案:/var/log/sudo

Linux系統安全及應用一 賬号安全控制二 密碼安全控制三指令曆史限制四 使用su指令切換使用者五 密碼驗證六 限制使用su指令的使用者七 PAM安全認證流程八 PAM驗證的構成九 PAM認證原理十 su指令的安全隐患十一 PAM可插拔式認證子產品十二 使用sudo機制提升權限十三 GRUB限制

十三 GRUB限制

1、使用grub2-mkpasswd-pdkdf2生成密鑰;

2、修改/etc/grub.d/00_header檔案,添加密鑰記錄;

3、生成新的grub.cfg配置檔案

繼續閱讀