天天看點

linux 加強檢測腳本,Linux系統檢測和防護腳本

1、友善将伺服器安全情況通過檢測腳本直接輸出txt檔案,同時便于檢查出安全隐患。

2、縮短安全檢查和防護時間,提高安全檢查和防護效率

github位址 https://github.com/xiaoyunjie/Shell_Script.git

一、Linux檢測腳本

1.1、檔案

壓縮包包含2個檔案:

CentOS_Check_Script.sh : 腳本檔案

README.txt : 說明檔案

1.2、操作說明

執行CentOS_Check_Script.sh腳本檔案進行檢查,每次體檢生成檔案都是唯一的,指令格式如下:

sudo sh CentOS_Check_Script.sh | tee check_`date +%Y%m%d_%H%M%S`.txt

1.3、腳本簡介

按三級等保要求,編寫的一鍵檢查腳本,此腳本隻适合linux分支中的redhat、centos,運作腳本将結果輸出到自定義的檔案中,腳本結果需要管理者人為檢查,腳本結果中有相應提示檢測内容是否需要整改。

1.4、腳本檢測内容

警告:本腳本隻是一個檢查的操作,未對伺服器做任何修改,管理者可以根據此報告進行相應的安全整改

管理者需要根據檢測報告進行安全加強,需要加強的條目都會标記 [需調整]

二、Linux加強腳本

2.1、腳本檔案

CentOS_Protective_Script.sh : 腳本檔案

README.txt : 說明檔案

2.2、腳本操作說明

執行CentOS_Protective_Script.sh腳本檔案進行加強,指令格式如下

sudo sh CentOS_Protective_Script.sh

執行完成後,請按腳本提示重新開機相應服務

如果ostype是unknow,請不要繼續執行

2.3、腳本簡介

一鍵加強腳本為linux系統提供基礎安全加強,包括以下幾塊内容加強:

密碼複雜度:密碼修改重試3次機會,新密碼與老密碼必須有3字元不同,最小密碼長度12個字元,包含大寫字元至少一個,小寫字母至少一個,數字至少一個,特殊字元至少一個。

新增管理者賬号:不直接使用root賬号,新增管理者eproot賬号,用于指令執行,遠端登入。

遠端登入賬戶設定:限制root賬号遠端登入

賬号登入安全設定:配置系統曆史指令操作記錄和定時帳戶自動登出時間

遠端登入端口設定:修改預設SSH端口

賬戶登入失敗處理:限制登入失敗三次,普通賬号鎖定5分鐘,root賬号鎖定5分鐘

系統配置檔案備份還原:腳本在首次執行時會将系統配置儲存于腳本所在目錄下的backup目錄下,以便後續需要恢複配置時使用。再次運作腳本時,将不會再進行備份,除非原備份目錄被删除。

2.3.1、簡介

linux 加強檢測腳本,Linux系統檢測和防護腳本

首次運作腳本,會檢測目前系統類型,以及備份重要系統配置檔案,包括system-auth、authorized_keys、sshd、sudoers、sshd_config、profile、su。通過選擇加強編号進行相應的内容進行加強,也可以選擇編号1,将所有内容都進行加強。

2.3.2、密碼複雜度設定[Set Password Complexity Requirements ]

linux 加強檢測腳本,Linux系統檢測和防護腳本

選擇編号2,腳本會自動進行密碼複雜度配置,配置内容為:密碼修改重試3次機會,新密碼與老密碼必須有3字元不同,最小密碼長度12個字元,包含大寫字元至少一個,小寫字母至少一個,數字至少一個,特殊字元至少一個。

配置成功,會提示[Password complexity set success],失敗會提示[Password complexity set failed],重複執行腳本選擇此編号,腳本每次都會配置,不會提示已配置過。

2.3.3、新增管理者賬号[Create eproot account]

禁止使用root登入系統,需要建立eproot賬号,授予管理者權限,并且保證運作指令時無需輸入root密碼。

linux 加強檢測腳本,Linux系統檢測和防護腳本

選擇編号3,會提示是否建立eproot賬号,确認後,請輸入密碼,回車,腳本會自行建立eproot賬号,并且授予管理者權限。重複執行腳本,選擇編号3,如果已經建立過eproot賬号,會列出建立的資訊,并提示已建立。

linux 加強檢測腳本,Linux系統檢測和防護腳本

2.3.4、遠端登入賬戶設定[Set Remote Login Configuration(SSH)]

linux 加強檢測腳本,Linux系統檢測和防護腳本

選擇編号‘4’進行SSH遠端登入相關安全配置,腳本會自動配置SSH協定為2,然後提示是否禁止root賬号遠端登入,并确定已經有其餘可遠端登入的賬号。輸入y,确認後回車關閉root遠端登入。

linux 加強檢測腳本,Linux系統檢測和防護腳本

重複執行腳本,選擇編号4,會提示已經禁止root遠端。

2.3.5、賬戶登入安全設定[Set Shell History and TMOUT]

linux 加強檢測腳本,Linux系統檢測和防護腳本

選擇編号5賬戶登入安全設定,輸入y回車,設定history指令儲存行數以及列印history指令時間。

設定shell環境逾時時間,選擇區間為300~600秒,如果不輸入任何值,腳本預設設定為600秒。

重複執行腳本,選擇編号5,會重新設定history和TMOUT

2.3.6、遠端登入端口設定[Set SSH Port]

linux 加強檢測腳本,Linux系統檢測和防護腳本

選擇編号6進行SSH服務端口配置,輸入y,回車輸入端口号,腳本會根據使用者輸入的端口号,配置更改相應的端口

腳本會對輸入的端口進行判斷是否滿足要求,如果滿足要求會進行設定,如果不滿足要求腳本會給出提示,并要求使用者重新輸入确認更改端口,并輸入端口号。

端口号規則: 輸入端口号區間 1024

重複執行腳本,選擇編号6,修改ssh端口,無法通過腳本改回端口22。

2.3.7、賬戶登入失敗處理[Set Logon failure handling]

linux 加強檢測腳本,Linux系統檢測和防護腳本

執行腳本,選擇編号7,設定賬戶登入失敗處理,輸入y确認回車,腳本會自動進行配置。

登入失敗處理内容:登入失敗三次後賬号會被限制登入,普通賬号鎖定5分鐘,root賬号鎖定5分鐘,超過限制時間,才可以重新登入。

#使用一下指令檢視指定賬戶的失敗次數

pam_tally2 --user=root

Login Failures Latest failure From

root 4 03/20/19 16:57:09 192.168.149.9

#以下指令可以立馬重置賬戶的失敗次數,解除限制(前提是已經進入系統)

pam_tally2 --user=root --reset

2.3.8、配置備份與恢複[Recover Configuration]

linux 加強檢測腳本,Linux系統檢測和防護腳本

執行腳本,選擇編号8,腳本會将儲存于所在backup目錄下的系統配置還原。

無法還原以下配置

新增的eproot賬戶不删除,防止誤删。(eproot權限為修改前的狀态)

2.3.9、全部加強[ALL protective]

選擇标号1,腳本會按[2-7]順序自動執行腳本加強,部分參數需要手動輸入。