賬號安全基本措施

系統賬號清理

非登錄用戶的shell改為/sbin/nologin

usermod -s /sbin/nologin user1

鎖定長期不用的賬號

方法1

usermod -L user1(鎖定后的賬戶shadow文件密碼段全面有!)

usermod -U user1(解鎖)

方法2

passwd -l user1(鎖定后的賬戶shadow文件密碼段全面有!!,注意和usermod有區別,一個!或者兩個!!的區別)

passwd -u user1(解鎖)

passwd -S user1 (檢查鎖定情況)

刪除無用的賬號

userdel -r user1(r代表一并刪除家目錄)

使用su命令切換用戶z

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

密碼驗證

root-->任意用戶,不驗證密碼

普通用戶-->其他用戶,驗證目標用戶的密碼

[jerr@localhost~]$ su -root

口令

[jerr@localhost~]# whoami

root

帶-選項表示將使用目標,用戶的登錄shell環境

限制使用su命令的用戶

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

[root@localhost~]# vi/etc/pam.d/su

#%PAM-1.0

auth sufficient pam_rootok.so

auth required pam_wheel.so use_uid

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

(b)兩行都注釋也是運行所有用戶都能使用su命令,但root下使用su切換到其他普通用戶需要輸入密碼:如果第一行不注釋,則root使用su切換普通用戶就不需要輸入密碼(pam_)

查看su操作記錄

安全日志文件

Linux中的PAM安全認證

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

為了加強

PAM認證原理

一般遵循的順序

Service(服務)->PAM(配置文件)->pam_*.so

PAM認證的構成

查看某個程序是否支持PAM認證,可以用ls命令

示例:查看su是否支持PAM模塊認證

ls /etc/pam.d|grep su

查看su的PAMpzwj:cat/etc/pam.d/su

  • 每一行都是一個獨立的認證過程
  • 每一行可以區分為三個字段

認證類型

控制類型

PAM模塊及其參數

使用sudo機制提升權限

su命令的缺點

sudo命令的用途及用法

  • 用途:以其他用戶身份(如root)執行授權的命令
  • 用法:sudo 授權命令

配置sudo授權

visudo或vi/etc/sudoers

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

[root@localhost~]#visudo

......

%wheel ALL=NOPASSWD:ALL

jerry localhost=/sbin/ifconfig

syrianer localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route

Cmnd_Alias PKGTOOLS=/bin/rpm,/usr/bin/yum

mile localgost=PKGTOOLS

調整BIOS引導設置

  • 將第一引導設備設為當前系統所在硬盤
  • 禁止從其他設備(光盤、U盤、網絡)引導系統
  • 將安全級別設為setup,并設置管理員密碼

GRUB限制

  • 使用grub2-makpasswd-pbkdf2生成密鑰
  • 修改/etc/grub.d/00_header
  • 生成新的grub.cfg配置文件

限制root只在安全終端登陸

安全終端配置:/etc/securetty

[root@localhost~]# vi

禁止普通用戶登陸

建立/etc/nologin文件

刪除nologin文件或重啟后即恢復正常