Linux服務器安全加固(一)


一、檢查是否存在除root之外UID為0 的用戶

 1 配置要求:
 2 除root之外的其他賬號UID不能為0
 3 檢查步驟:
 4 執行以下命令查看系統中UID為0的賬號
 5 awk -F : '($3 == 0) {print $1}' /etc/passwd
 6 合規標准:
 7 除root之外無其他UID為0的賬戶則合規。否則不合規
 8 加固方案:
 9 1.執行備份
10        cp -p /etc/passwd /etc/passwd.bat
11        cp -p /etc/shadow /etc/shadow.bat
12        cp -p /etc/group /etc/group.bat
13 2.刪除除root以外uid為0的賬戶(刪除之前應確保賬號未被其他業務使用)
14        userdel usename

二、檢查系統中是否存在空密碼賬戶

 1 配置要求:
 2 在/etc/shadow文件中第二項不能為空
 3 檢查步驟:
 4 執行以下命令查看系統中是否存在空密碼賬戶
 5 awk -F : '($2 == "") {print $1}' /etc/shadow
 6 合規標准:
 7 執行上面命令后顯示為空則合規。否則不合規
 8 加固方案:
 9 1.執行備份
10        cp -p /etc/shadow /etc/shadow.bat
11 cp -p /etc/passwd /etc/passwd.bat 12 cp -p /etc/group /etc/group.bat
13 2.設置密碼
14 passwd username
15 測試:
16 1.創建用戶:
17 useradd aaa (此時aaa沒有設置密碼,但還不能使用空密碼登錄)
18 2.使用root賬戶清除aaa密碼
19 passwd -d aaa
20 3.再次使用如下命令檢查
21 awk -F : '($2 == "") {print $1}' /etc/shadow (此時發現顯示不為空了)

三、檢查用戶口令設置

 1 配置要求:
 2 密碼設置必須符合策略
 3 檢查步驟:
 4 執行以下命令檢查以下參數
 5        PASS_MAX_DAYS 密碼最長過期天數參考值90
 6        PASS_MIN_DAYS  密碼最小過期天數參考值0
 7        PASS_MIN_LEN 密碼最小長度參考值8
 8        PASS_W ARN_AGE 密碼過期警告天數參考值7
 9 合規標准:
10 密碼設置符合策略則合規。否則不合規
11 加固方案:
12  1.執行備份
13         cp -p /etc/login.defs /etc/login.defs.bat
14 2.修改如下參數
15        PASS_MAX_DAYS 密碼最長過期天數參考值90
16        PASS_MIN_DAYS  密碼最小過期天數參考值0
17        PASS_MIN_LEN 密碼最小長度參考值8
18        PASS_W ARN_AGE 密碼過期警告天數參考值7

四、對用戶密碼強度的設置

 1 配置要求:
 2 設置新密碼不能和舊密碼相同,新密碼至少8位,同時包含大小寫字母、數字和符號
 3 檢查步驟:
 4 執行以下命令修改參數
 5 vi /etc/pam.d/sysetm-auth
 6     difok= :此選項用來定義新密碼中必須要有幾個字符和舊密碼不同
 7     minlen=:此選項用來設置新密碼的最小長度
 8     ucredit= :此選項用來設定新密碼中可以包含的大寫字母的最大數目。-1 至少一個
 9     lcredit=:此選項用來設定新密碼中可以包含的小寫字母的最大數目
10     dcredit=:此選項用來設定新密碼中可以包含的數字的最大數目 
11     ocredit=:此選項用來設定新密碼中可以包含的標點符號的最大數目
12 合規標准:
13 新密碼不能和舊密碼相同,新密碼至少8位,同時包含大小寫字母、數字和符號則合規。否則不合規
14 加固方案:
15 1.執行備份
16         cp -p /etc/pam.d/sysetm-auth /etc/pam.d/sysetm-auth.bat
17 2.修改參數
18 password  requisite  pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=  difok=1 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
19:注:這個密碼強度的設定只對普通用戶有限制作用,root用戶無論修改自己的密碼還是修改普通用戶的時候,不符合強度設置依然可以設置成

 

 五、對用戶的登錄次數進行限制

 1 配置要求:
 2 對用戶登錄次數進行限制
 3 檢查步驟:
 4 執行以下命令修改文件中的參數
 5 vi  /etc/pam.d/sshd
 6 合規標准:
 7 對用戶登錄次數進行限制,當普通用戶輸入密碼錯誤達到3次鎖定150秒,root用戶輸入密碼錯誤達到3次鎖定300秒則合規。否則不合規
注:鎖定的意思即使密碼輸入正確也無法登錄成功。
8 加固方案: 9 1.執行備份 10 cp -p /etc/pam.d/sshd /etc/pam.d/sshd.bat 11 2.設置如下 12 auth required pam_tally2.so deny=3 unlock_time=150 even_deny_root root_unlock_time300

 

 

 測試:當密碼輸入三次錯誤時,用戶密碼被鎖定

 

 查看被鎖定用戶

 

 將被鎖定的用戶解鎖

 

  查看被鎖定用戶

 

 六、禁止root用戶遠程登錄

 1 配置要求:
 2 禁止root用戶遠程登錄
 3 檢查步驟:
 4 執行以下命令修改文件中的參數
 5 vi   /etc/ssh/sshd_config
 6 修改參數為PermitRootLogin no  
 7 合規標准:
 8 root用戶無法遠程登錄(如CRT登錄)則合規。否則不合規
 9 加固方案:
10 1.執行備份
11       cp -p /etc/ssh/sshd_config  /etc/ssh/sshd_config.bat
12 2.修改如下
13       進入/etc/ssh/sshd_config文件
14       修改參數:PermitRootLogin no  

 

 

 測試遠程登錄:

 

 提示密碼驗證失敗,請檢查用戶名和密碼是否正確

 

 七、設置歷史命令保存條數和賬戶超時時間

 1 配置要求:
 2 設置歷史命令保存條數和賬戶超時時間
 3 檢查步驟:
 4 執行以下命令修改文件中的參數
 5 vi   /etc/profile
 6 修改參數為  HISTSIZE=100
 7            TMOUT=600
 8 合規標准:
 9 這個歷史條數和超時時間不要太大,越小越好
10 加固方案:
11 1.執行備份
12      cp -p /etc/profile  /etc/profile.bat
13 2.修改如下
14      進入/etc/profile文件
15      修改參數:HISTSIZE=100
16               TMOUT=600

 

 

 八、設置只有指定用戶組才能使用su命令切換到root用戶

配置要求:只有指定用戶才能使用su命令切換到root用戶
檢查步驟:
將普通用戶加入wheel組。usermod -G wheel linux
執行以下命令編輯文件
vi   /etc/pam.d/su
將下面這行注釋去掉
auth    required   pam_wheel.so   use_uid
執行以下命令編輯文件
vi /etc/login.defs
末尾加入SU_WHEEL_ONLY yes 即可。
合規標准:
這個歷史條數和超時時間不要太大,越小越好
加固方案:
1.執行備份
     cp -p /etc/pam.d/su  /etc/pam.d/su.bat
2.修改如下
將普通用戶加入wheel組:usermod -G wheel linux
執行以下命令編輯文件:vi   /etc/pam.d/su
將下面這行注釋去掉:auth    required   pam_wheel.so   use_uid
執行以下命令編輯文件:vi /etc/login.defs
末尾加入SU_WHEEL_ONLY yes 即可。

 

 

 

 

 

 測試:切換用戶aaa,用aaa用戶切換su - root,提示登錄拒絕。

 

 利用用戶linux切換su - root 登錄成功。

 

 九、對Linux賬戶進行管理

 1 檢查規則:
 2 使用如下命令檢查:
 3     1.查看具有登錄權限的用戶:
 4          使用命令 awk -F: '($7=="/bin/bash"){print $1}' /etc/passwd   
 5     2.查看UID為0的賬號,UID為0的用戶會自動切換到root用戶,所以危害很大
 6          使用命令 awk -F: '($3==0)' /etc/passwd   
 7     3.查看空口令賬號,如果存在空口令用戶的話必須設置密碼 
 8          使用命令 awk -F: '($2=="")' /etc/shadow   
 9 加固方案:
10      1.刪除不必要的賬戶
11            使用命令 userdel -r usename
12      2.鎖定不必要的賬戶
13             使用命令 passwd -l username
14 注意:username是刪除或鎖定的賬戶名稱

 

 十、對重要文件進行鎖定,即使是root'用戶也無法刪除

1 設置要求:
2     根據公司的業務需求,覺得哪些文件比較重要,就設置
3 加固方案:
4       chattr  改變文件或目錄的擴展屬性
5       lsattr  查看文件目錄的擴展屬性
6 操作命令:
7      chattr  +i  /etc/passwd /etc/shadow                 //增加屬性
8      chattr  -i  /etc/passwd /etc/shadow                 //移除屬性  
9      sattr  /etc/passwd /etc/shadow                      //查看修改后屬性

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM