Linux伺服器作業系統如何加固
本文主要和大家分享Linux伺服器作業系統如何加固,本幫助手冊旨在指導系統管理人員或安全檢查人員進行Linux操作系統的安全合規性檢查和加固,需要的朋友可以參考下,希望能幫助大家。
1. 帳號與口令
1.1 停用或刪除無用帳號
減少系統無用帳號,降低安全風險。
操作步驟
使用指令
userdel <使用者名稱>
刪除不必要的帳號。使用指令
passwd -l <使用者名稱>
鎖定不必要的帳號。使用指令
passwd -u <用戶名>
解鎖必要的帳號。
1.2 檢查特殊帳號
檢查是否有空口令和root權限的帳號。
操作步驟
查看空口令和root權限帳號,確認是否有異常帳號:
使用指令
awk -F: '($2=="")' /etc/shadow
檢視空口令帳號。使用指令
awk -F: '($3==0)' /etc/passwd
檢視UID為零的帳號。
加強空口令帳號:
#使用指令
passwd <使用者名稱>
為空口令帳號設定密碼。確認UID為零的帳號只有root帳號。
1.3 增加口令策略
加強口令的複雜度等,降低被猜解的可能性。
操作步驟
使用指令
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 <使用者名稱>表示將此使用者的密碼最長使用天數設為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 設定服務在指定init等級下開機是否啟動。
操作步驟
使用指令vim /etc/ssh/sshd_config 編輯設定檔。
- 不允許root帳號直接登入系統。
設定 PermitRootLogin 的值為 no。
- 修改SSH所使用的協定版本。
設定 Protocol 的版本為 2。
- 修改允許密碼錯誤次數(預設6次)。
設定 MaxAuthTries 的值為 3。
操作步驟
使用指令vi /etc/profile 修改設定文件,新增行
umask 027,即新建立的文件屬主擁有讀寫執行權限,同組使用者擁有讀取和執行權限,其他使用者無權限。
操作步驟
使用命令vi /etc/profile 修改設定文件,將以
TMOUT= 開頭的行註釋,設定為
TMOUT=180,即逾時時間為三分鐘。
4. 日誌
4.1 syslogd日誌
啟用日誌功能,並設定日誌記錄。
操作步驟
Linux系統預設啟用下列類型日誌:
系統日誌(預設)/var/log/ messages
cron日誌(預設)/var/log/cron
-
安全日誌(預設)/var/log/secure
注意:部分系統可能使用syslog-ng日誌,設定檔為:/etc/syslog-ng/syslog-ng.conf。
您可以根據需求配置詳細日誌。
4.2 記錄所有使用者的登入和操作日誌
透過腳本程式碼實作記錄所有使用者的登入操作日誌,防止安全事件後無據可查。
操作步驟
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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

VS Code擴展安裝失敗的原因可能包括:網絡不穩定、權限不足、系統兼容性問題、VS Code版本過舊、殺毒軟件或防火牆干擾。通過檢查網絡連接、權限、日誌文件、更新VS Code、禁用安全軟件以及重啟VS Code或計算機,可以逐步排查和解決問題。

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

在 VS Code 中,可以通過以下步驟在終端運行程序:準備代碼和打開集成終端確保代碼目錄與終端工作目錄一致根據編程語言選擇運行命令(如 Python 的 python your_file_name.py)檢查是否成功運行並解決錯誤利用調試器提升調試效率

VS Code 全稱 Visual Studio Code,是一個由微軟開發的免費開源跨平台代碼編輯器和開發環境。它支持廣泛的編程語言,提供語法高亮、代碼自動補全、代碼片段和智能提示等功能以提高開發效率。通過豐富的擴展生態系統,用戶可以針對特定需求和語言添加擴展程序,例如調試器、代碼格式化工具和 Git 集成。 VS Code 還包含直觀的調試器,有助於快速查找和解決代碼中的 bug。

VS Code 擴展存在惡意風險,例如隱藏惡意代碼、利用漏洞、偽裝成合法擴展。識別惡意擴展的方法包括:檢查發布者、閱讀評論、檢查代碼、謹慎安裝。安全措施還包括:安全意識、良好習慣、定期更新和殺毒軟件。

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

通過在 VS Code 擴展商店中安裝和啟用“簡體中文語言包”或“繁體中文語言包”,可以將 VS Code 的用戶界面翻譯為中文,從而提升編碼體驗。此外,還可以調整主題、快捷鍵和代碼片段以進一步個性化設置。

在 VSCode 中運行任務:創建 tasks.json 文件,指定 version 和任務列表;配置任務的 label、command、args 和 type;保存並重新加載任務;使用快捷鍵 Ctrl Shift B (macOS 為 Cmd Shift B) 運行任務。
