賬號安全和登錄控制
- 一、賬號安全控制
- 1.1 賬號安全的基本措施
- 1.1.1 將非登錄用戶的Shell設為nologin
- 1.1.2 鎖定長期不使用的賬號
- 1.1.3 洗掉無用的賬號
- 1.1.4 鎖定賬號檔案
- 1.1.5 密碼安全控制
- 1.1.6 命令歷史記錄限制
- 1.1.7 終端自動注銷
- 1.1.8 使用su命令切換用戶
- 1.1.9 限制使用su命令的用戶
- 1.1.10 Linux中的PAM安全認證
- 1.1.11 使用sudo機制提升權限
- 二、系統引導和登錄控制
- 2.1 開關機安全控制

一、賬號安全控制
1.1 賬號安全的基本措施
1.1.1 將非登錄用戶的Shell設為nologin
[root@hostname ~]# usermod -s nologin 用戶名 #格式
[root@cheng0307 ~]# usermod -s nologin zhangsan #實際操作

1.1.2 鎖定長期不使用的賬號
[root@cheng0307 ~]# usermod -L lisi #鎖定賬戶方式一
[root@cheng0307 ~]# usermod -U lisi #解鎖賬戶方式一
[root@cheng0307 ~]# passwd -l lisi #鎖定賬戶方式二
[root@cheng0307 ~]# passwd -u lisi #解鎖賬戶方式二

1.1.3 洗掉無用的賬號
[root@hostname ~]# userdel 用戶名 #格式
[root@cheng0307 ~]# userdel lisi #實際操作

1.1.4 鎖定賬號檔案
[root@cheng0307 ~]# lsattr /etc/passwd /etc/shadow #查看檔案的狀態
[root@cheng0307 ~]# chattr +i /etc/passwd /etc/shadow #鎖定檔案
[root@cheng0307 ~]# chattr -i /etc/passwd /etc/shadow #解鎖檔案

1.1.5 密碼安全控制
- 設定密碼有效期
- 要求用戶下次登錄時修改密碼
1.格式:
1.適用于新建用戶
[root@cheng0307 ~]# vim /etc/login.defs #修改組態檔
-----此處省略部分注釋及配置-------
PASS_MAX_DAYS 30 #修改密碼有效期為30天
2.適用于已有用戶
[root@cheng0307 ~]# chage -M 30 zhangsan #修改密碼有效期
3.強制在下次登錄成功時修改密碼(/etc/shadow第三個欄位被修改為0)
[root@cheng0307 ~]# chage -d 0 zhangsan #設定下次登錄強制修改密碼
2.實體1:修改密碼組態檔,要求新創建的用戶密碼有效期都為30天


3.實體2:將現有用戶zhangsan的密碼有效期也修改為30天,

4.實體3:將現有用戶zhangsan設定為強制下次登錄時需要修改密碼,

登錄時輸入密碼后,需要設定新的密碼才可以,

1.1.6 命令歷史記錄限制
- 減少記錄的命令條數;
- 登錄時自動清空命令歷史 ;
- 系統默認保存1000條歷史命令記錄;
- history -c 命令只可以臨時清除記錄,重啟后記錄還在,
1.格式:
1.對歷史命令的數量進行限制
[root@cheng0307 ~]# vim /etc/profile #修改組態檔
export HISTSIZE=200 #修改命令歷史記錄數量最大為200,前面添加export為全域有效
source /etc/profile #重繪組態檔,立即生效
2.設定登錄時自動清空命令歷史
vim .bashrc #修改/etc/profile組態檔(每次切換bash都執行)
或
vim /etc/profile #修改/etc/profile組態檔(執行一次)
echo " " > ~/.bash_history #
2.實體1:修改歷史命令記錄為200條,并設定全域有效,并驗證



3.實體2:設定登錄時自動清空命令歷史


1.1.7 終端自動注銷
- 閑置 [ n ] 秒后自動注銷,(n為數字)
1.格式:
[root@cheng0307 ~]# vim /etc/profile #編輯/etc/profile檔案
export TMOUT=100 #設定全域自動注銷時間
2.案例1:設定100s秒終端自動注銷

1.1.8 使用su命令切換用戶
1.用途和用法
- 用途:Substitute User,切換用戶
- 格式:
su - 目標用戶(橫杠“ - ”代表切換到目標用戶的家目錄)
2.密碼驗證
- root - - - >任意用戶,不驗證密碼
- 普通用戶- - - >其他用戶,驗證目標用戶的密碼
- 帶 “ - ” 表示將使用目標用戶的登錄Shell環境
3.格式:
1.切換用戶
[root@cheng0307 ~]# su - zhangsan #root切換普通用戶
[zhangsan@cheng0307 ~]$ su - root #普通用戶切換其他用戶
2.查看當前登錄的用戶
[root@cheng0307 ~]# whoami #顯示當前登錄的用戶
4.案例:測驗用戶之間切換

1.1.9 限制使用su命令的用戶
- 將允許使用su命令的用戶加入wheel組中;
- 啟用pam_wheel 認證模塊
1.格式:
[root@cheng0307 ~]# vim /etc/pam.d/su #編輯/etc/pam.d/su組態檔
[root@cheng0307 ~]# gpasswd -a zhangsan wheel #將希望可以使用su命令的用戶加入到wheel組中
auth required pam_wheel.so use_uid #將此行的注釋取消即可
2.實體:有zhangsan和lisi兩個用戶,要求設定zhangsan可以使用su命令切換用戶,lisi用戶不允許使用,


3. 實體2:查看su操作記錄

1.1.10 Linux中的PAM安全認證
1.su命令的安全隱患
- 默認情況下,任何用戶都允許使用su命令,有機會反復嘗試其他用戶(如root) 的登錄密碼,帶來安全風險;
- 為了加強su命令的使用控制,可借助于PAM認證模塊,只允許極個別用戶使用su命令進行切換,
2.PAM(Pluggable Authentication Modules)可插拔式認證模塊
- 是一種高效而且靈活便利的用戶級別的認證方式;
- 也是當前Linux服務器普遍使用的認證方式,
3.PAM認證原理:
- PAM認證一般遵循的順序: Service (服務) --> PAM (組態檔) --> pam_*.so;,
- PAM認證首先要確定哪一項應用服務,然后加載相應的PAM的組態檔(位于/etc/pam.d下),最后呼叫認證模塊(位于/lib64/security/下)進行安全認證,
- 用戶訪問服務器的時候,服務器的某一個服務程式把用戶的請求發送到PAM模塊進行認證,不同的應用程式所對應的PAM模塊也是不同的,
- 如果想查看某個程式是否支持PAM認證,可以用ls命令進行查看/etc/pam.d/,
- PAM的組態檔中的每一行都是一個獨立的認證程序,它們按從上往下的順序依次由PAM模塊呼叫.

1.1.11 使用sudo機制提升權限
1.sudo命令的用途及用法
- 用途 :以其他用戶身份(如root執行授權的命令)
- 用法:
sudo 權限命令
2.配置sudo授權
- visudo或者vi /etc/sudoers(此檔案默認權限為440,保存時必須 wq!強制執行操作)
- 記錄格式:用戶 主機名=命令程式串列
- 可以使用通配符“ * ”號任意值和“ !”號進行取反操作,
- 權限生效后,輸入密碼后5分鐘可以不用重新輸入密碼,
3.語法格式:
用戶 主機名=命令程式串列
用戶 主機名=(用戶)命令程式串列
zhangsan ALL=(root) /sbin/ifconfig #實際操作
- 用戶: 直接授權指定的用戶名,或采用“&組名"的形式(授權一個組的所有用戶),
- 主機名:使用此規則的主機名,沒配置過主機名時可用localhost,有配過主機名則用實際的主機名,ALL則代表所有主機,
- (用戶):用戶能夠以何種身份來執行命令,此項可省略,預設時以root用戶的身份來運行命令,
命令程式串列:允許授權的用戶通過sudo方式執行的特權命令,需填寫命令程式的完整路徑,多個命令之間以逗號“,"進行分隔,ALL則代表系統中的所有命令
4.啟用sudo操作日志
- 需啟用Defaults logfile配置
- 默認日志檔案:/var/log/sudo
- 操作:在
/etc/sudoers末尾添加Defaults logfile="/var/log/sudo"
5.查詢授權的sudo操作
- sudo -l
6.實體1:查看當前sudo組態檔,

實體2:配置相關檔案,使得zhangsan可以通過sudo命令使用ifconfig,
-
切換到zhangsan用戶進行測驗,

-
末尾插入下列配置,然后強制保存并退出,

-
進行測驗,

實體3:設定wheel組進行sudo操作時無需密碼驗證,并將lisi用戶添加到wheel組中測驗,

這里是sudo組態檔 /etc/sudoers 內的具體修改步驟:

實體4:使用關鍵字來進行設定別名,批量控制用戶進行sudo操作時無法使用重啟(reboot)、關機(poweroff)、切換init和無法洗掉,
第一步:vim /etc/sudoers 或者visudo 修改組態檔(這里我使用的是第一種)

第二步:添加配置

第三步:使用普通用戶進行測驗

第四步:查看zhangsan和lisi的可使用權限,

實體5:修改實體4,使zhangsan和lisi用戶可以無需密碼使用sudo可以使用的權限為/sbin下所有,

實體6: 在/car/log下創建sudo日志檔案,用來存盤用戶使用的sudo命令記錄,

二、系統引導和登錄控制
2.1 開關機安全控制
1.調整BIOS引導設定
- 將第一引導設備設為當前系統所在硬碟;
- 禁止從其他設備(光碟、 U盤、網路)引導系統;
- 將安全級別設為setup,并設定管理員密碼,
2.GRUB限制
- 使用grub2-mkpasswd-pbkdf2生成密鑰;
- 修改/etc/grub.d/00_ header檔案中, 添加密碼記錄;
- 生成新的grub.cfg組態檔,
3.限制更改GRUB引導引數
通常情況下在系統開機進入GRUB選單時,按e鍵可以查看并修改GRUB引導引數,這對服務器是一個極大的威脅,可以為GRUB選單設定一個密碼,只有提供正確的密碼才被允許修改引導引數,
4.實體:為GRUB選單設定密碼
第一步:我們先來看一下未設定之前的狀態

第二步:使用grub2-mkpasswd-pbkdf2生成密鑰并復制,然后備份兩個組態檔,

第三步:修改/etc/grub.d/00_ header檔案中, 添加密碼記錄,并存并退出

第四步:生成新的grub.cfg檔案,然后重啟系統

第五步:驗證結果

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/279940.html
標籤:其他
上一篇:高并發(五)--CAS介紹
