本文主要和大家分享Linux伺服器作業系統如何加固,本幫助手冊旨在指導系統管理人員或安全檢查人員進行Linux操作系統的安全合規性檢查和加固,需要的朋友可以參考下,希望能幫助大家。
減少系統無用帳號,降低安全風險。
操作步驟
使用指令 userdel 85ff2422afb252e7373456decba4507d
刪除不必要的帳號。
使用指令 passwd -l 85ff2422afb252e7373456decba4507d
鎖定不必要的帳號。
使用指令 passwd -u af061fc3d9d145dfe026914ea97eacfd
解鎖必要的帳號。
檢查是否有空口令和root權限的帳號。
操作步驟
查看空口令和root權限帳號,確認是否有異常帳號:
使用指令awk -F: '($2=="")' /etc/shadow
檢視空口令帳號。
使用指令 awk -F: '($3==0)' /etc/passwd
檢視UID為零的帳號。
加強空口令帳號:
#使用指令passwd 85ff2422afb252e7373456decba4507d
為空口令帳號設定密碼。
確認UID為零的帳號只有root帳號。
加強口令的複雜度等,降低被猜解的可能性。
操作步驟
使用指令 vi /etc/login.defs
修改設定檔。
PASS_MAX_DAYS 90 #新使用者的密碼最長使用天數
##PASS_MIN_DAYS 0 #新建使用者的密碼最短使用天數
PASS_WARN_AGE 7 #新使用者的密碼到期提前提醒天數
例如,
chage -m 0 -M 30 -E 2000-01-01 -W 7 85ff2422afb252e7373456decba4507d表示將此使用者的密碼最長使用天數設為30,最短使用天數設為0,密碼2000年1月1日過期,過期前七天警告用戶。
vi /etc/pam.d/common-auth修改設定文件,在設定檔中加入
auth required pam_tally.so onerr=fail deny=3 unlock_time=300。
操作步驟
使用命令vi /etc/pam.d/su修改設定文件,在設定檔中新增行。例如,只允許test群組使用者su到root,則新增
auth required pam_wheel.so group=test。
操作步驟
vi /etc/ssh/sshd_config修改設定檔將PermitRootLogin的值改成no,並儲存,然後使用
service sshd restart重新啟動服務。
操作步驟
使用指令chkconfig --level e5e834323ef98faf22e8336359138901 cb52345d4eabb57f7a4506607b1c8212 on|off|reset 設定服務在指定init等級下開機是否啟動。
操作步驟
使用指令vim /etc/ssh/sshd_config 編輯設定檔。
設定 PermitRootLogin 的值為 no。
設定 Protocol 的版本為 2。
設定 MaxAuthTries 的值為 3。
操作步驟
使用指令vi /etc/profile 修改設定文件,新增行
umask 027,即新建立的文件屬主擁有讀寫執行權限,同組使用者擁有讀取和執行權限,其他使用者無權限。
操作步驟
使用命令vi /etc/profile 修改設定文件,將以
TMOUT= 開頭的行註釋,設定為
TMOUT=180,即逾時時間為三分鐘。
啟用日誌功能,並設定日誌記錄。
操作步驟
Linux系統預設啟用下列類型日誌:
系統日誌(預設)/var/log/ messages
cron日誌(預設)/var/log/cron
安全日誌(預設)/var/log/secure
注意:部分系統可能使用syslog-ng日誌,設定檔為:/etc/syslog-ng/syslog-ng.conf。
您可以根據需求配置詳細日誌。
透過腳本程式碼實作記錄所有使用者的登入操作日誌,防止安全事件後無據可查。
操作步驟
1、執行 [root@xxx /]# vim /etc/profile開啟設定檔。
2、在設定檔中輸入以下內容:
history USER=`whoami` USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` if [ "$USER_IP" = "" ]; then USER_IP=`hostname` fi if [ ! -d /var/log/history ]; then mkdir /var/log/history chmod 777 /var/log/history fi if [ ! -d /var/log/history/${LOGNAME} ]; then mkdir /var/log/history/${LOGNAME} chmod 300 /var/log/history/${LOGNAME} fi export HISTSIZE=4096 DT=`date +"%Y%m%d_%H:%M:%S"` export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT" chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null
3、執行 [root@xxx /]# source /etc/profile 載入設定生效。
注意: /var/log/history 是記錄日誌的存放位置,可以自訂。
透過上述步驟,可以在/var/log/history 目錄下以每個使用者為名新建一個資料夾,每次使用者登出後都會產生以使用者名稱、登入IP、時間的日誌文件,包含此使用者本次的所有操作(root使用者除外)。
同時,建議您使用OSS服務收集儲存日誌。
相關推薦:
#以上是Linux伺服器作業系統如何加固的詳細內容。更多資訊請關注PHP中文網其他相關文章!