共計(jì) 2772 個(gè)字符,預(yù)計(jì)需要花費(fèi) 7 分鐘才能閱讀完成。
如何進(jìn)行 Linux 的安全合規(guī)性檢查和加固,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面丸趣 TV 小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
指導(dǎo)系統(tǒng)管理人員或安全檢查人員進(jìn)行 Linux 操作系統(tǒng)的安全合規(guī)性檢查和加固。14 個(gè) Linux 系統(tǒng)安全小妙招,總有一招用的上!
1. 賬號(hào)和口令
1.1 禁用或刪除無(wú)用賬號(hào)
減少系統(tǒng)無(wú)用賬號(hào),降低安全風(fēng)險(xiǎn)。
操作步驟
使用命令 userdel 用戶名 刪除不必要的賬號(hào)。
使用命令 passwd -l 用戶名 鎖定不必要的賬號(hào)。
使用命令 passwd -u 用戶名 解鎖必要的賬號(hào)。
1.2 檢查特殊賬號(hào)
檢查是否存在空口令和 root 權(quán)限的賬號(hào)。
操作步驟
1. 查看空口令和 root 權(quán)限賬號(hào),確認(rèn)是否存在異常賬號(hào):
使用命令 awk -F: ($2==) /etc/shadow 查看空口令賬號(hào)。
使用命令 awk -F: ($3==0) /etc/passwd 查看 UID 為零的賬號(hào)。
2. 加固空口令賬號(hào):
使用命令 passwd 用戶名 為空口令賬號(hào)設(shè)定密碼。
確認(rèn) UID 為零的賬號(hào)只有 root 賬號(hào)。
1.3 添加口令策略
加強(qiáng)口令的復(fù)雜度等,降低被猜解的可能性。
操作步驟
1. 使用命令 vi /etc/login.defs 修改配置文件。
PASS_MAX_DAYS 90 #新建用戶的密碼最長(zhǎng)使用天數(shù)
PASS_MIN_DAYS 0 #新建用戶的密碼最短使用天數(shù)
PASS_WARN_AGE 7 #新建用戶的密碼到期提前提醒天數(shù)
2. 使用 chage 命令修改用戶設(shè)置。
例如,chage -m 0 -M 30 -E 2000-01-01 -W 7 用戶名 表示將此用戶的密碼最長(zhǎng)使用天數(shù)設(shè)為 30,最短使用天數(shù)設(shè)為 0,密碼 2000 年 1 月 1 日過(guò)期,過(guò)期前七天警告用戶。
3. 設(shè)置連續(xù)輸錯(cuò)三次密碼,賬號(hào)鎖定五分鐘。使用命令 vi /etc/pam.d/common-auth 修改配置文件,在配置文件中添加 auth required pam_tally.so onerr=fail deny=3 unlock_time=300。
1.4 限制用戶 su
限制能 su 到 root 的用戶。
操作步驟
使用命令 vi /etc/pam.d/su 修改配置文件,在配置文件中添加行。例如,只允許 test 組用戶 su 到 root,則添加 auth required pam_wheel.so group=test。
1.5 禁止 root 用戶直接登錄
限制 root 用戶直接登錄。
操作步驟
創(chuàng)建普通權(quán)限賬號(hào)并配置密碼, 防止無(wú)法遠(yuǎn)程登錄;
使用命令 vi /etc/ssh/sshd_config 修改配置文件將 PermitRootLogin 的值改成 no,并保存,然后使用 service sshd restart 重啟服務(wù)。
2. 服務(wù)
2.1 關(guān)閉不必要的服務(wù)
關(guān)閉不必要的服務(wù)(如普通服務(wù)和 xinetd 服務(wù)),降低風(fēng)險(xiǎn)。
操作步驟
使用命令 systemctl disable 服務(wù)名 設(shè)置服務(wù)在開(kāi)機(jī)時(shí)不自動(dòng)啟動(dòng)。
說(shuō)明:對(duì)于部分老版本的 Linux 操作系統(tǒng)(如 CentOS 6),可以使用命令 chkconfig \–level init 級(jí)別 服務(wù)名 off 設(shè)置服務(wù)在指定 init 級(jí)別下開(kāi)機(jī)時(shí)不自動(dòng)啟動(dòng)。
2.2 SSH 服務(wù)安全
對(duì) SSH 服務(wù)進(jìn)行安全加固,防止暴力破解成功。
操作步驟
使用命令 vim /etc/ssh/sshd_config 編輯配置文件。
不允許 root 賬號(hào)直接登錄系統(tǒng)。
設(shè)置 PermitRootLogin 的值為 no。
修改 SSH 使用的協(xié)議版本。
設(shè)置 Protocol 的版本為 2。
修改允許密碼錯(cuò)誤次數(shù)(默認(rèn) 6 次)。
設(shè)置 MaxAuthTries 的值為 3。
配置文件修改完成后,重啟 sshd 服務(wù)生效。
3. 文件系統(tǒng)
3.1 設(shè)置 umask 值
設(shè)置默認(rèn)的 umask 值,增強(qiáng)安全性。
操作步驟
使用命令 vi /etc/profile 修改配置文件,添加行 umask 027,即新創(chuàng)建的文件屬主擁有讀寫(xiě)執(zhí)行權(quán)限,同組用戶擁有讀和執(zhí)行權(quán)限,其他用戶無(wú)權(quán)限。
3.2 設(shè)置登錄超時(shí)
設(shè)置系統(tǒng)登錄后,連接超時(shí)時(shí)間,增強(qiáng)安全性。
操作步驟
使用命令 vi /etc/profile 修改配置文件,將以 TMOUT= 開(kāi)頭的行注釋,設(shè)置為 TMOUT=180,即超時(shí)時(shí)間為三分鐘。
4. 日志
4.1 syslogd 日志
啟用日志功能,并配置日志記錄。
操作步驟
Linux 系統(tǒng)默認(rèn)啟用以下類型日志:
系統(tǒng)日志(默認(rèn))/var/log/messages
cron 日志(默認(rèn))/var/log/cron
安全日志(默認(rèn))/var/log/secure
注意:部分系統(tǒng)可能使用 syslog-ng 日志,配置文件為:/etc/syslog-ng/syslog-ng.conf。
您可以根據(jù)需求配置詳細(xì)日志。
4.2 記錄所有用戶的登錄和操作日志
通過(guò)腳本代碼實(shí)現(xiàn)記錄所有用戶的登錄操作日志,防止出現(xiàn)安全事件后無(wú)據(jù)可查。
操作步驟
1. 打開(kāi)配置文件
[root@xxx /]# vim /etc/profile
2. 在配置文件中輸入以下內(nèi)容:
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. 運(yùn)行加載配置生效。
[root@xxx /]# source /etc/profile
注意:/var/log/history 是記錄日志的存放位置,可以自定義。
通過(guò)上述步驟,可以在 /var/log/history 目錄下以每個(gè)用戶為名新建一個(gè)文件夾,每次用戶退出后都會(huì)產(chǎn)生以用戶名、登錄 IP、時(shí)間的日志文件,包含此用戶本次的所有操作(root 用戶除外)。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝您對(duì)丸趣 TV 的支持。