91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux系統(tǒng)安全加固實(shí)戰(zhàn)

馬哥Linux運(yùn)維 ? 來(lái)源:馬哥Linux運(yùn)維 ? 2026-03-13 09:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、概述

1.1 背景介紹

Linux 主機(jī)的“安全問(wèn)題”在生產(chǎn)中往往不是 0/1,而是一個(gè)持續(xù)被配置細(xì)節(jié)放大的風(fēng)險(xiǎn)曲線:同一套業(yè)務(wù)在不同團(tuán)隊(duì)、不同鏡像、不同運(yùn)維習(xí)慣下,最終暴露面會(huì)出現(xiàn)數(shù)量級(jí)差異。

常見(jiàn)誤判主要有三類:

“裝了殺軟/EDR 就安全”:主機(jī)被暴露的第一步通常來(lái)自弱口令、SSH 暴露、sudo 濫用、內(nèi)核參數(shù)不當(dāng)、日志審計(jì)缺失等配置問(wèn)題;EDR 只能覆蓋部分已知攻擊鏈。

“只要開防火墻就行”:防火墻是重要的一層,但如果賬號(hào)策略、權(quán)限邊界、審計(jì)鏈路缺失,攻擊者在內(nèi)網(wǎng)橫向時(shí)仍然非常順。

“一次加固就一勞永逸”:加固是持續(xù)過(guò)程,需要把基線、變更、回滾、驗(yàn)證、監(jiān)控串成閉環(huán),否則一次誤改就能把主機(jī)變成不可維護(hù)狀態(tài)(鎖死 SSH、sudo 失效、業(yè)務(wù)端口誤封等)。

本文按“調(diào)優(yōu)避坑類”方式組織:先講默認(rèn)值與適用邊界,再給出高頻誤改與風(fēng)險(xiǎn)矩陣,最后給出可落地的推薦配置、回滾方案與驗(yàn)證動(dòng)作,并覆蓋賬號(hào)安全、SSH 加固、防火墻、內(nèi)核參數(shù)、文件權(quán)限、審計(jì)日志六大方向。

1.2 安全基線對(duì)照表(CIS 視角 + 生產(chǎn)落地視角)

說(shuō)明:CIS Benchmark 的要求會(huì)因發(fā)行版與版本而不同。表中給出“方向?qū)φ铡?,落地時(shí)仍需按發(fā)行版官方文檔與企業(yè)合規(guī)要求調(diào)整。

加固域 本文關(guān)鍵點(diǎn)(20項(xiàng)) CIS/常見(jiàn)基線關(guān)注點(diǎn) 典型收益 典型風(fēng)險(xiǎn)點(diǎn)
賬號(hào)安全 密碼復(fù)雜度/有效期、失敗鎖定、root 登錄限制、最小權(quán)限 sudo 賬戶策略、口令策略、root/系統(tǒng)賬號(hào) 降低爆破與憑據(jù)濫用 誤改導(dǎo)致運(yùn)維無(wú)法登錄
SSH 禁止密碼登錄、限制來(lái)源、強(qiáng)算法、空閑斷開、Banner SSHD 配置、加密套件 減少暴露面與憑據(jù)攻擊 鎖死遠(yuǎn)程、舊客戶端不兼容
防火墻 默認(rèn)拒絕、最小放行、管理面隔離、出站策略 Host firewall 降低端口掃描與橫向 誤封業(yè)務(wù)端口、健康檢查失敗
內(nèi)核參數(shù) 反欺騙、關(guān)閉重定向、SYN 防護(hù)、core dump 控制、ASLR sysctl hardening 降低網(wǎng)絡(luò)/內(nèi)核攻擊面 與容器/網(wǎng)絡(luò)棧策略沖突
文件權(quán)限 umask、關(guān)鍵文件權(quán)限、禁止 SUID/SGID 濫用、/tmp 防護(hù) permissions, mount options 降低提權(quán)路徑 誤改影響程序?qū)懭?/td>
審計(jì)日志 auditd 規(guī)則、日志留存、遠(yuǎn)端匯聚、告警指標(biāo) audit/logging 事后可追溯、合規(guī)證據(jù) 規(guī)則過(guò)多導(dǎo)致性能與磁盤壓力

1.3 適用場(chǎng)景

互聯(lián)網(wǎng)暴露主機(jī):跳板機(jī)、邊緣節(jié)點(diǎn)、對(duì)外 API 網(wǎng)關(guān)、獨(dú)立對(duì)外提供 SSH 的運(yùn)維主機(jī)。

內(nèi)網(wǎng)關(guān)鍵業(yè)務(wù)主機(jī):支付、訂單、賬號(hào)、權(quán)限、核心數(shù)據(jù)庫(kù)周邊。

交付前基線統(tǒng)一:鏡像制作、金鏡像、自動(dòng)化裝機(jī)(PXE/Cloud-init/Ansible)。

合規(guī)與審計(jì)要求:等保、ISO27001、SOC2 相關(guān)審計(jì)留證。

事故后補(bǔ)強(qiáng):發(fā)生爆破、異常登錄、橫向移動(dòng)、提權(quán)疑似后。

1.4 環(huán)境要求

組件 版本 / 要求 說(shuō)明
操作系統(tǒng) RHEL/CentOS 7/8/9、Rocky/Alma、Ubuntu 20.04/22.04/24.04、Debian 11/12 不同發(fā)行版 PAM/sshd/auditd 路徑略有差異
OpenSSH 7.4+(建議 8.0+) 老版本算法支持差,需兼容性評(píng)估
防火墻組件 firewalld 或 nftables/iptables 新發(fā)行版優(yōu)先 nftables
審計(jì)組件 auditd(audit) 與 systemd-journald/rsyslog 配合
權(quán)限 root 或具備 sudo 權(quán)限的運(yùn)維賬號(hào) 加固需修改系統(tǒng)配置
監(jiān)控/日志 Prometheus/Agent、ELK/EFK、SIEM(可選) 用于落地監(jiān)控與告警閉環(huán)

1.5 安全加固坐標(biāo)系(不要“東一榔頭西一棒子”)

本文把主機(jī)加固拆成 5 個(gè)層次,所有動(dòng)作都要能定位到坐標(biāo)系,并能回滾與驗(yàn)證:

層次 目標(biāo) 關(guān)鍵檢查點(diǎn) 典型證據(jù)
入口層 控制誰(shuí)能連進(jìn)來(lái) SSH、端口暴露、來(lái)源限制 ss/iptables/firewalld 狀態(tài)、sshd_config
身份層 控制誰(shuí)是誰(shuí) 賬號(hào)策略、失敗鎖定、MFA(可選) /etc/login.defs、PAM、faillock
權(quán)限層 控制能做什么 sudo 最小權(quán)限、SUID、文件權(quán)限 sudoers.d、find 權(quán)限掃描
內(nèi)核/網(wǎng)絡(luò)層 控制攻擊面與系統(tǒng)行為 sysctl hardening、內(nèi)核參數(shù) sysctl -a、/etc/sysctl.d
可觀測(cè)/審計(jì)層 控制能否追溯 auditd、日志留存、告警 audit.log、journald、SIEM 告警

二、詳細(xì)步驟(調(diào)優(yōu)避坑類結(jié)構(gòu))

本章分三段:

2.1 默認(rèn)值與適用邊界:告訴你“系統(tǒng)默認(rèn)大概是什么”“哪些場(chǎng)景別亂改”。

2.2 常見(jiàn)誤改與風(fēng)險(xiǎn)邊界:把最常見(jiàn)的“自殺式加固”寫清楚。

2.3 推薦調(diào)整、回滾與驗(yàn)證:給出可以直接落地的配置塊 + 驗(yàn)證命令鏈。

2.1 默認(rèn)值和適用場(chǎng)景

2.1.1 賬號(hào)安全默認(rèn)值概覽

不同發(fā)行版默認(rèn)策略差異較大,尤其是口令策略與失敗鎖定。

Ubuntu/Debian:常見(jiàn)依賴 PAM(pam_pwquality / pam_faillock 或舊的 pam_tally2),默認(rèn)并不一定啟用強(qiáng)復(fù)雜度。

RHEL 系:system-auth/password-auth 棧較完整,但企業(yè)鏡像可能被二次改動(dòng)。

關(guān)鍵默認(rèn)文件:

/etc/login.defs:密碼有效期、最小長(zhǎng)度(并不強(qiáng)制復(fù)雜度)。

/etc/pam.d/*:認(rèn)證棧(真正決定復(fù)雜度/鎖定/限制)。

驗(yàn)證命令鏈:

# 當(dāng)前密碼策略相關(guān)文件
ls -l /etc/login.defs /etc/security/pwquality.conf 2>/dev/null ||true

# 失敗鎖定(RHEL系常見(jiàn))
command-v faillock >/dev/null && faillock --user root ||true

# PAM 棧(不同發(fā)行版路徑不同)
ls -l /etc/pam.d/system-auth /etc/pam.d/password-auth 2>/dev/null ||true

2.1.2 SSH 默認(rèn)值概覽

OpenSSH 默認(rèn)通常偏“可用性優(yōu)先”,在互聯(lián)網(wǎng)暴露環(huán)境需要收緊。

關(guān)鍵默認(rèn)點(diǎn):

PasswordAuthentication:很多發(fā)行版默認(rèn)yes。

PermitRootLogin:可能是prohibit-password或yes(老系統(tǒng))。

加密算法:新版本默認(rèn)更安全,但兼容舊客戶端時(shí)會(huì)被人為放寬。

驗(yàn)證命令鏈:

sshd -T | egrep -i'passwordauthentication|permitrootlogin|pubkeyauthentication|kexalgorithms|ciphers|macs'| sed's/^/sshd -T: /'

# 已暴露監(jiān)聽(tīng)
ss -lntp | egrep':22|:2222'||true

2.1.3 防火墻默認(rèn)值概覽

firewalld:默認(rèn) zone 往往是public,入站策略可能較寬。

nftables/iptables:很多主機(jī)默認(rèn)沒(méi)有規(guī)則,等同“全開”。

驗(yàn)證命令鏈:

# firewalld
command-v firewall-cmd >/dev/null && firewall-cmd --state && firewall-cmd --get-default-zone && firewall-cmd --list-all ||true

# nftables
command-v nft >/dev/null && nft list ruleset | head -n 50 ||true

# iptables
command-v iptables >/dev/null && iptables -S ||true

2.1.4 內(nèi)核參數(shù)默認(rèn)值概覽(sysctl)

常見(jiàn)默認(rèn)風(fēng)險(xiǎn)點(diǎn):

net.ipv4.conf.*.accept_redirects/send_redirects/accept_source_route:部分系統(tǒng)默認(rèn)未完全關(guān)閉。

net.ipv4.ip_forward:在路由/容器主機(jī)可能開啟,業(yè)務(wù)機(jī)通常不需要。

fs.suid_dumpable、kernel.core_pattern:影響 core dump 與泄露。

驗(yàn)證命令鏈:

sysctl -a 2>/dev/null | egrep'accept_redirects|send_redirects|accept_source_route|rp_filter|ip_forward|randomize_va_space|kptr_restrict|dmesg_restrict|fs.suid_dumpable'| sort

2.1.5 文件權(quán)限與掛載默認(rèn)值概覽

默認(rèn)umask可能是022(更偏可讀),關(guān)鍵服務(wù)建議更嚴(yán)。

/tmp多數(shù)系統(tǒng)未強(qiáng)制noexec,nodev,nosuid(兼容性考慮)。

驗(yàn)證命令鏈:

umask
mount | egrep' on /tmp | on /var/tmp | on /dev/shm '||true
stat-c'%a %U:%G %n'/etc/passwd /etc/shadow /etc/gshadow /etc/ssh/sshd_config 2>/dev/null ||true

2.1.6 審計(jì)與日志默認(rèn)值概覽

auditd 可能未安裝/未啟動(dòng)。

journald 可能只本地短期保存。

驗(yàn)證命令鏈:

systemctl is-enabled auditd 2>/dev/null ||true
systemctl is-active auditd 2>/dev/null ||true

# journald 持久化
grep -E'^(Storage|SystemMaxUse|SystemKeepFree|MaxRetentionSec)='/etc/systemd/journald.conf 2>/dev/null ||true
journalctl --disk-usage 2>/dev/null ||true

2.2 常見(jiàn)誤改和風(fēng)險(xiǎn)邊界

2.2.1 高風(fēng)險(xiǎn)誤改清單(先看這個(gè),再動(dòng)手)

誤改動(dòng)作 為什么危險(xiǎn) 更穩(wěn)的做法
直接把PasswordAuthentication no寫入 sshd_config 并立即重啟 沒(méi)驗(yàn)證公鑰登錄鏈路就可能鎖死遠(yuǎn)程 先開第二個(gè) SSH 會(huì)話、先用sshd -t校驗(yàn)、再 reload
把PermitRootLogin no但沒(méi)有預(yù)留 sudo 賬號(hào) root 入口被關(guān),sudo 又不可用會(huì)直接“失聯(lián)” 先確認(rèn)至少 2 個(gè)可 sudo 的運(yùn)維賬號(hào)
防火墻default deny后忘記放行業(yè)務(wù)端口/健康檢查端口 業(yè)務(wù)下線、探活失敗、集群摘除 先列出端口清單(含探活/監(jiān)控/同步)再應(yīng)用
rp_filter=1 強(qiáng)制開啟在多網(wǎng)卡/策略路由主機(jī) 可能導(dǎo)致回包被丟、網(wǎng)絡(luò)異常 多網(wǎng)卡/策略路由用2(loose)或按接口精細(xì)配置
給/tmp加noexec但業(yè)務(wù)/安裝腳本依賴臨時(shí)執(zhí)行 安裝失敗、運(yùn)行時(shí)崩潰 先在灰度機(jī)驗(yàn)證,或用應(yīng)用專用臨時(shí)目錄
audit 規(guī)則堆滿(每個(gè) syscalls 都記錄) 高 IO/CPU、日志爆盤 只對(duì)關(guān)鍵動(dòng)作審計(jì),啟用 rotate、設(shè)置閾值告警

2.2.2 根因矩陣:加固后“看起來(lái)像故障”的現(xiàn)象如何定位

現(xiàn)象 首看證據(jù) 二次驗(yàn)證 高概率根因 處理動(dòng)作
SSH 連不上(連接被拒/超時(shí)) ss -lntp 、防火墻狀態(tài) journalctl -u sshd -n 200 sshd 未監(jiān)聽(tīng)/防火墻未放行 回滾最近變更,先放行 22/管理端口
SSH 能連但認(rèn)證失敗 /var/log/auth.log 或/var/log/secure sshd -T 、PAM 日志 禁用密碼但無(wú)公鑰;PAM 鎖定 先恢復(fù)至少一種認(rèn)證方式或解鎖
sudo 報(bào)錯(cuò)/無(wú)法提權(quán) sudo -l 輸出、/var/log/secure 檢查/etc/sudoers.d權(quán)限 sudoers 語(yǔ)法錯(cuò)誤/權(quán)限不對(duì) 用visudo -c修復(fù),回滾文件
業(yè)務(wù)網(wǎng)絡(luò)異常 dmesg 、ip route、sysctl 抓包/連接跟蹤 rp_filter/redirect 參數(shù)影響 調(diào)整為 loose 或按接口配置
磁盤快速增長(zhǎng) audit.log/journalctl du -sh /var/log/* 審計(jì)規(guī)則過(guò)量、日志未輪轉(zhuǎn) 收斂規(guī)則,配置 logrotate

2.3 推薦調(diào)整、回滾與驗(yàn)證(20項(xiàng)關(guān)鍵配置)

建議原則:

每一項(xiàng)都要有回滾手段;2) 每一項(xiàng)都要有驗(yàn)證命令;3) 先灰度、后全量;4) 所有變更落盤可追溯(配置備份 + 變更記錄)。

下面的 20 項(xiàng)按六大域組織:

賬號(hào)安全(1-6)

SSH 加固(7-12)

防火墻(13-14)

內(nèi)核參數(shù)(15-17)

文件權(quán)限與掛載(18-19)

審計(jì)日志(20)

2.3.1 賬號(hào)安全(1/20):最小化可登錄賬號(hào) + 鎖定無(wú)用系統(tǒng)賬號(hào)

推薦調(diào)整

對(duì)無(wú)交互登錄需求的系統(tǒng)賬號(hào),將 shell 設(shè)置為/sbin/nologin或/usr/sbin/nologin。

對(duì)不再使用的本地賬號(hào)執(zhí)行鎖定。

# 找出可登錄賬號(hào)(shell 非 nologin/false)
awk -F:'($7 !~ /(nologin|false)$/){print $1"	"$7}'/etc/passwd

# 鎖定賬號(hào)(示例:olduser)
passwd -l olduser
usermod -s /sbin/nologin olduser 2>/dev/null || usermod -s /usr/sbin/nologin olduser

# 驗(yàn)證鎖定狀態(tài)
passwd -S olduser ||true

回滾

passwd -u olduser
usermod -s /bin/bash olduser

風(fēng)險(xiǎn)邊界:不要鎖定正在跑業(yè)務(wù)的服務(wù)賬號(hào)(如應(yīng)用進(jìn)程需要 su/sudo 或登錄執(zhí)行維護(hù)腳本的賬號(hào))。

2.3.2 賬號(hào)安全(2/20):口令復(fù)雜度(pam_pwquality)

推薦調(diào)整:?jiǎn)⒂貌⑹站o口令質(zhì)量(長(zhǎng)度、字符類、重復(fù)限制)。

Ubuntu/Debian 常見(jiàn)配置:/etc/security/pwquality.conf

# /etc/security/pwquality.conf
minlen = 14
dcredit = -1
ucredit = -1
lcredit = -1
ocredit = -1
maxrepeat = 3
maxclassrepeat = 4
gecoscheck = 1
reject_username = 1

RHEL 系常見(jiàn)在 PAM 棧中指定(示例片段):

password  requisite   pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password  sufficient  pam_unix.so sha512 shadow try_first_pass use_authtok

驗(yàn)證

# 嘗試給測(cè)試賬號(hào)設(shè)置弱口令(應(yīng)被拒絕)
# passwd testuser

# 查看 pwquality 生效路徑
grep -R"pam_pwquality"-n /etc/pam.d 2>/dev/null | head

回滾:恢復(fù)原 pwquality.conf 與 PAM 文件(見(jiàn)第 3 章腳本“備份/回滾”)。

風(fēng)險(xiǎn)邊界:過(guò)度收緊會(huì)導(dǎo)致自動(dòng)化賬號(hào)/機(jī)器人賬號(hào)改密失敗,建議把機(jī)器賬號(hào)改為密鑰/令牌機(jī)制,不要靠弱口令。

2.3.3 賬號(hào)安全(3/20):密碼有效期與最小更改間隔(login.defs)

推薦調(diào)整

人員賬號(hào):強(qiáng)制周期換密(例如 90 天)。

機(jī)器賬號(hào):不建議靠周期換密;建議用密鑰/證書。

/etc/login.defs建議值:

PASS_MAX_DAYS  90
PASS_MIN_DAYS  1
PASS_WARN_AGE  14

驗(yàn)證

chage -l 

回滾:將 PASS_* 恢復(fù)或只對(duì)特定用戶用chage定向設(shè)置。

風(fēng)險(xiǎn)邊界:對(duì)大量賬號(hào)直接統(tǒng)一改會(huì)觸發(fā)集中改密潮,建議分批推進(jìn)并結(jié)合 IAM 流程。

2.3.4 賬號(hào)安全(4/20):登錄失敗鎖定(pam_faillock)

推薦調(diào)整:對(duì)本地認(rèn)證啟用失敗鎖定,降低爆破成功率。

RHEL 8/9 示例(system-auth/password-auth 常見(jiàn)寫法):

auth    required   pam_faillock.so preauth silent deny=5 unlock_time=900 fail_interval=900
auth    [default=die] pam_faillock.so authfail deny=5 unlock_time=900 fail_interval=900
account   required   pam_faillock.so

驗(yàn)證

# 連續(xù)輸錯(cuò)密碼后查看
faillock --user 

# 解鎖
faillock --user  --reset

回滾:移除 pam_faillock 相關(guān)行或恢復(fù)備份。

風(fēng)險(xiǎn)邊界

需要明確“鎖定的是誰(shuí)”:對(duì)運(yùn)維賬號(hào)也鎖定會(huì)增加值班風(fēng)險(xiǎn)。

建議配套“break-glass”賬號(hào)(強(qiáng)權(quán)限、強(qiáng)審計(jì)、離線保管)。

2.3.5 賬號(hào)安全(5/20):限制 su(僅 wheel 組可 su)

推薦調(diào)整:?jiǎn)⒂胮am_wheel限制su。

/etc/pam.d/su示例:

auth    required  pam_wheel.so use_uid group=wheel

驗(yàn)證

getent group wheel || grep'^wheel:'/etc/group

# 非 wheel 用戶執(zhí)行 su 應(yīng)失敗
# su -

回滾:注釋/移除該行。

風(fēng)險(xiǎn)邊界:在不使用 su、只用 sudo 的團(tuán)隊(duì)可不啟用,避免對(duì)歷史腳本造成影響。

2.3.6 賬號(hào)安全(6/20):sudo 最小權(quán)限與日志

推薦調(diào)整

業(yè)務(wù)運(yùn)維按職責(zé)拆分 sudoers(命令級(jí)最小化)。

強(qiáng)制 sudo 日志記錄與 TTY。

/etc/sudoers.d/ops-minimal示例(權(quán)限文件必須 0440):

Defaults use_pty
Defaults logfile="/var/log/sudo.log"
Defaults loglinelen=0

# 僅允許運(yùn)維組執(zhí)行 systemctl/journalctl 等
%ops ALL=(root) NOPASSWD: /bin/systemctl, /bin/journalctl

# 禁止通配符給出 /bin/bash 之類的逃逸命令

驗(yàn)證

visudo -c
sudo -l
sudo systemctl status sshd
sudo tail -n 5 /var/log/sudo.log 2>/dev/null ||true

回滾:刪除/恢復(fù) sudoers.d 文件(先用備份)。

風(fēng)險(xiǎn)邊界

NOPASSWD不是原罪,但必須配套審計(jì)與來(lái)源控制。

禁止把ALL直接給到廣泛人群。

2.3.7 SSH(7/20):禁止 root 直接登錄(保留可審計(jì)的 sudo 入口)

推薦調(diào)整

互聯(lián)網(wǎng)暴露:PermitRootLogin no

內(nèi)網(wǎng)可控:至少prohibit-password(僅允許密鑰)

/etc/ssh/sshd_config:

PermitRootLogin no

驗(yàn)證

sshd -t && systemctl reload sshd
sshd -T | grep -i permitrootlogin

回滾:改回prohibit-password或yes(僅臨時(shí)救援,需配套來(lái)源限制)。

2.3.8 SSH(8/20):關(guān)閉口令登錄,強(qiáng)制公鑰(生產(chǎn)推薦)

/etc/ssh/sshd_config:

PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
AuthenticationMethods publickey

驗(yàn)證

sshd -t
sshd -T | egrep -i'passwordauthentication|kbdinteractiveauthentication|authenticationmethods'

# 在另一個(gè)終端用密鑰登錄驗(yàn)證
# ssh -i ~/.ssh/id_ed25519 user@host

回滾:臨時(shí)打開PasswordAuthentication yes(必須同時(shí)限制來(lái)源 IP,并設(shè)置時(shí)間窗口)。

風(fēng)險(xiǎn)邊界

舊自動(dòng)化腳本可能依賴密碼;應(yīng)遷移為密鑰或證書。

2.3.9 SSH(9/20):限制可登錄用戶/組(AllowUsers/AllowGroups)

/etc/ssh/sshd_config:

AllowGroups ops wheel
# 或者精確到用戶:AllowUsers alice bob

驗(yàn)證

getent group ops wheel ||true
sshd -T | egrep -i'allowgroups|allowusers'

回滾:注釋該行或加入必要賬號(hào)。

風(fēng)險(xiǎn)邊界

與集中賬號(hào)(LDAP/SSSD)結(jié)合時(shí),需要確認(rèn)組名解析正常。

2.3.10 SSH(10/20):收緊算法(Kex/Ciphers/MACs)并考慮兼容性

/etc/ssh/sshd_config(示例,需按版本調(diào)整):

KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes256-ctr
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
HostKeyAlgorithms ssh-ed25519,rsa-sha2-512,rsa-sha2-256

驗(yàn)證

sshd -T | egrep -i'kexalgorithms|ciphers|macs|hostkeyalgorithms'

# 從客戶端探測(cè)(需要 nmap 或 ssh -Q)
ssh -Q cipher | head
ssh -Q kex | head

回滾:恢復(fù)為發(fā)行版默認(rèn)或逐步放寬(不要一次性把弱算法全開)。

風(fēng)險(xiǎn)邊界:某些老設(shè)備/老系統(tǒng)的 ssh 客戶端不支持新算法,需在跳板/堡壘層做兼容隔離。

2.3.11 SSH(11/20):空閑斷開與連接限制(防止掛起會(huì)話濫用)

/etc/ssh/sshd_config:

ClientAliveInterval 300
ClientAliveCountMax 2
LoginGraceTime 30
MaxAuthTries 3
MaxSessions 10

驗(yàn)證

sshd -T | egrep -i'clientaliveinterval|clientalivecountmax|logingracetime|maxauthtries|maxsessions'

回滾:恢復(fù)原值。

2.3.12 SSH(12/20):記錄與提示(Banner、日志級(jí)別)

/etc/ssh/sshd_config:

LogLevel VERBOSE
Banner /etc/issue.net

/etc/issue.net示例:

Authorized access only. All activity may be monitored and reported.

驗(yàn)證

sshd -T | egrep -i'loglevel|banner'

風(fēng)險(xiǎn)邊界:Banner 不要泄露系統(tǒng)版本與內(nèi)部信息。

2.3.13 防火墻(13/20):入站默認(rèn)拒絕 + 最小放行(含回滾窗口)

以 firewalld 為例(nftables/iptables 類似):

# 查看當(dāng)前區(qū)與規(guī)則
firewall-cmd --get-default-zone
firewall-cmd --list-all

# 示例:只放行 SSH(22) + 業(yè)務(wù)(443) + 監(jiān)控(9100)
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=9100/tcp

# reload 前先在當(dāng)前會(huì)話確認(rèn)規(guī)則
firewall-cmd --reload
firewall-cmd --list-all

回滾

# 刪除放行
firewall-cmd --permanent --remove-port=9100/tcp ||true
firewall-cmd --permanent --remove-service=https ||true
firewall-cmd --reload

驗(yàn)證

ss -lntp
# 從允許來(lái)源探測(cè)端口
# nc -vz  22 443 9100

風(fēng)險(xiǎn)邊界:要把集群健康檢查端口、配置下發(fā)端口、日志/監(jiān)控出站依賴一起納入“端口清單”。

2.3.14 防火墻(14/20):管理面隔離(來(lái)源 IP 白名單/跳板機(jī))

推薦:SSH 僅允許運(yùn)維網(wǎng)段或跳板機(jī) IP。

firewalld rich rule 示例:

# 僅允許 10.10.0.0/16 訪問(wèn) 22
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.10.0.0/16" port port="22" protocol="tcp" accept'

# 其他來(lái)源拒絕(如果 zone 默認(rèn) accept,需要顯式 drop)
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="22" protocol="tcp" drop'

firewall-cmd --reload

驗(yàn)證

firewall-cmd --list-rich-rules

風(fēng)險(xiǎn)邊界:多跳板、多運(yùn)維網(wǎng)段時(shí)要確保白名單完整,否則會(huì)誤傷。

2.3.15 內(nèi)核參數(shù)(15/20):反欺騙與重定向關(guān)閉(sysctl)

/etc/sysctl.d/99-hardening.conf:

# 反欺騙與路由相關(guān)
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# 關(guān)閉 ICMP 重定向接收/發(fā)送
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0

# 禁止 source route
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0

應(yīng)用與驗(yàn)證

sysctl --system
sysctl net.ipv4.conf.all.rp_filter net.ipv4.conf.all.accept_redirects net.ipv4.conf.all.send_redirects

回滾:刪除該 sysctl 文件或恢復(fù)備份后sysctl --system。

風(fēng)險(xiǎn)邊界

多網(wǎng)卡/策略路由:建議rp_filter=2(loose),或按接口設(shè)置。

2.3.16 內(nèi)核參數(shù)(16/20):SYN flood 防護(hù)與連接行為收斂

/etc/sysctl.d/99-hardening.conf增補(bǔ):

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_fin_timeout = 15

驗(yàn)證

sysctl net.ipv4.tcp_syncookies net.ipv4.tcp_max_syn_backlog

風(fēng)險(xiǎn)邊界:此類參數(shù)需要結(jié)合業(yè)務(wù)連接模型與壓測(cè)數(shù)據(jù);不要在無(wú)壓測(cè)情況下極端收緊。

2.3.17 內(nèi)核參數(shù)(17/20):內(nèi)核信息泄露與調(diào)試面收緊(ASLR/dmesg/kptr)

/etc/sysctl.d/99-hardening.conf增補(bǔ):

kernel.randomize_va_space = 2
kernel.kptr_restrict = 2
kernel.dmesg_restrict = 1
fs.suid_dumpable = 0

驗(yàn)證

sysctl kernel.randomize_va_space kernel.kptr_restrict kernel.dmesg_restrict fs.suid_dumpable

風(fēng)險(xiǎn)邊界:某些調(diào)試與崩潰分析需要 core dump;生產(chǎn)可以按需對(duì)特定服務(wù)開啟,而不是全局開啟。

2.3.18 文件權(quán)限(18/20):關(guān)鍵文件權(quán)限基線(shadow/sudoers/ssh)

推薦基線

# 典型期望:
# /etc/shadow 000/400/600 僅 root 可讀
# /etc/sudoers 440 root:root
# /etc/ssh/sshd_config 600 root:root

chown root:root /etc/shadow /etc/gshadow /etc/sudoers /etc/ssh/sshd_config
chmod 600 /etc/shadow /etc/gshadow /etc/ssh/sshd_config
chmod 440 /etc/sudoers

# 驗(yàn)證
stat-c'%a %U:%G %n'/etc/shadow /etc/gshadow /etc/sudoers /etc/ssh/sshd_config
visudo -c

回滾:恢復(fù)為發(fā)行版默認(rèn)權(quán)限(建議從包管理器校驗(yàn):rpm -V sudo openssh-server或debsums)。

風(fēng)險(xiǎn)邊界

如果把 sudoers 權(quán)限設(shè)錯(cuò)(如 644),sudo 會(huì)拒絕工作。

2.3.19 文件權(quán)限與掛載(19/20):/tmp、/dev/shm 防護(hù)(nodev,nosuid,noexec)

推薦調(diào)整:在安全要求高的環(huán)境,把臨時(shí)目錄掛載選項(xiàng)收緊。

/etc/fstab示例(需結(jié)合實(shí)際分區(qū)):

tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0
tmpfs /tmp   tmpfs defaults,nodev,nosuid,noexec,mode=1777 0 0

應(yīng)用與驗(yàn)證

mount -o remount /tmp
mount -o remount /dev/shm
mount | egrep' on /tmp | on /dev/shm '

# 驗(yàn)證 noexec(應(yīng)失?。?cat > /tmp/test_exec.sh <<'EOF'
#!/usr/bin/env bash
echo?ok
EOF
chmod +x /tmp/test_exec.sh
/tmp/test_exec.sh ||?echo?"noexec 生效,執(zhí)行被拒絕"
rm -f /tmp/test_exec.sh

回滾:移除 noexec 后 remount;若業(yè)務(wù)依賴臨時(shí)執(zhí)行,可只對(duì) /dev/shm 做收緊。

風(fēng)險(xiǎn)邊界

某些語(yǔ)言/框架會(huì)在 /tmp 生成可執(zhí)行臨時(shí)文件;必須在灰度驗(yàn)證。

2.3.20 審計(jì)日志(20/20):auditd 關(guān)鍵規(guī)則 + 留存與告警閾值

推薦調(diào)整:只審計(jì)“高價(jià)值動(dòng)作”,避免全量 syscalls。

/etc/audit/rules.d/hardening.rules示例:

# 刪除舊規(guī)則并設(shè)置緩沖
-D
-b 8192
-f 1

# 賬戶與權(quán)限關(guān)鍵文件
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/group -p wa -k identity
-w /etc/gshadow -p wa -k identity

# sudoers 變更
-w /etc/sudoers -p wa -k scope
-w /etc/sudoers.d/ -p wa -k scope

# sshd 配置
-w /etc/ssh/sshd_config -p wa -k sshd

# 特權(quán)命令執(zhí)行(按需選?。?-a always,exit -F arch=b64 -S execve -F euid=0 -k privileged

# 時(shí)間修改
-a always,exit -F arch=b64 -S adjtimex,settimeofday,clock_settime -k time-change
-w /etc/localtime -p wa -k time-change

# 網(wǎng)絡(luò)配置變更
-a always,exit -F arch=b64 -S sethostname,setdomainname -k system-locale
-w /etc/hosts -p wa -k system-locale
-w /etc/sysctl.conf -p wa -k sysctl
-w /etc/sysctl.d/ -p wa -k sysctl

應(yīng)用與驗(yàn)證

augenrules --load 2>/dev/null ||true
systemctl restart auditd

# 觸發(fā)一次 sudoers 讀取與查看近期事件
auditctl -s
ausearch -k scope -ts recent | head -n 20

回滾:恢復(fù) rules.d 目錄備份并重載規(guī)則。

風(fēng)險(xiǎn)邊界

-f 1表示審計(jì)失敗時(shí)觸發(fā)告警(不同策略含義不同),生產(chǎn)需評(píng)估;不要在磁盤不足情況下強(qiáng)制啟用。

三、示例代碼和配置

本章提供可復(fù)用的配置與腳本,目標(biāo)是“配置-執(zhí)行-驗(yàn)證-回滾”閉環(huán)。

3.1 完整配置樣例:sshd_config(可按需裁剪)

# 文件位置:/etc/ssh/sshd_config

Port 22
Protocol 2

PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
AuthenticationMethods publickey

AllowGroups ops wheel

LogLevel VERBOSE
Banner /etc/issue.net

ClientAliveInterval 300
ClientAliveCountMax 2
LoginGraceTime 30
MaxAuthTries 3
MaxSessions 10

# 算法(按 OpenSSH 版本調(diào)整)
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes256-ctr
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com

# 禁止轉(zhuǎn)發(fā)(跳板機(jī)按需開放)
AllowTcpForwarding no
X11Forwarding no
PermitTunnel no

# 限制環(huán)境變量注入
AcceptEnv LANG LC_*

說(shuō)明:

AllowGroups會(huì)影響集中賬號(hào)解析,啟用前確認(rèn)getent group正常。

禁止轉(zhuǎn)發(fā)會(huì)影響部分隧道類運(yùn)維方式(如 ssh -L),需要在跳板層統(tǒng)一規(guī)劃。

3.2 完整配置樣例:sysctl 加固文件

# 文件位置:/etc/sysctl.d/99-hardening.conf

# 網(wǎng)絡(luò)基礎(chǔ)防護(hù)
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1

# 反欺騙(多網(wǎng)卡/策略路由按需改為 2)
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# SYN 與連接行為(需要壓測(cè)驗(yàn)證)
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_fin_timeout = 15

# 信息泄露與調(diào)試面
kernel.randomize_va_space = 2
kernel.kptr_restrict = 2
kernel.dmesg_restrict = 1
fs.suid_dumpable = 0

應(yīng)用:

sysctl --system

3.3 完整配置樣例:auditd 規(guī)則(關(guān)鍵動(dòng)作審計(jì))

# 文件位置:/etc/audit/rules.d/hardening.rules

-D
-b 8192
-f 1

-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/group -p wa -k identity
-w /etc/gshadow -p wa -k identity

-w /etc/sudoers -p wa -k scope
-w /etc/sudoers.d/ -p wa -k scope

-w /etc/ssh/sshd_config -p wa -k sshd

-a always,exit -F arch=b64 -S execve -F euid=0 -k privileged

-a always,exit -F arch=b64 -S adjtimex,settimeofday,clock_settime -k time-change
-w /etc/localtime -p wa -k time-change

-w /etc/sysctl.conf -p wa -k sysctl
-w /etc/sysctl.d/ -p wa -k sysctl

驗(yàn)證:

augenrules --load 2>/dev/null ||true
systemctl restart auditd
ausearch -k identity -ts recent | head

3.4 腳本一:快速采集加固證據(jù)(適合工單/復(fù)盤留檔)

#!/usr/bin/env bash
set-euo pipefail

# 文件名:collect-hardening-evidence.sh
# 作用:采集主機(jī)加固相關(guān)證據(jù)與關(guān)鍵配置
# 適用場(chǎng)景:變更前對(duì)比、變更后留檔、審計(jì)抽查
# 使用方法:sudo bash collect-hardening-evidence.sh /tmp/hardening-evidence
# 輸入?yún)?shù):輸出目錄
# 輸出結(jié)果:在輸出目錄生成多個(gè)文本文件
# 風(fēng)險(xiǎn)提示:只讀采集,風(fēng)險(xiǎn)低

OUT_DIR="${1:-/tmp/hardening-evidence}"
mkdir -p"$OUT_DIR"

{
echo"== time =="; date -Is
echo
echo"== os =="; cat /etc/os-release 2>/dev/null ||true
echo
echo"== kernel =="; uname -a
echo
echo"== sshd -T (selected) =="; sshd -T 2>/dev/null | egrep -i'port|permitrootlogin|passwordauthentication|pubkeyauthentication|authenticationmethods|allowusers|allowgroups|loglevel|clientaliveinterval|ciphers|macs|kexalgorithms'||true
echo
echo"== listening ports =="; ss -lntp
echo
echo"== firewall ==";
ifcommand-v firewall-cmd >/dev/null;thenfirewall-cmd --state && firewall-cmd --get-default-zone && firewall-cmd --list-all;fi
ifcommand-v nft >/dev/null;thennft list ruleset | head -n 200;fi
ifcommand-v iptables >/dev/null;theniptables -S;fi
echo
echo"== sysctl (selected) =="; sysctl -a 2>/dev/null | egrep'rp_filter|accept_redirects|send_redirects|accept_source_route|tcp_syncookies|randomize_va_space|kptr_restrict|dmesg_restrict|fs.suid_dumpable'| sort
echo
echo"== critical file perms ==";stat-c'%a %U:%G %n'/etc/passwd /etc/shadow /etc/gshadow /etc/sudoers /etc/ssh/sshd_config 2>/dev/null ||true
echo
echo"== auditd =="; systemctl is-active auditd 2>/dev/null ||true; auditctl -s 2>/dev/null ||true
} | tee"$OUT_DIR/summary.txt">/dev/null

# 單獨(dú)保存配置文件(若存在)
cp -a /etc/ssh/sshd_config"$OUT_DIR/"2>/dev/null ||true
cp -a /etc/sysctl.conf"$OUT_DIR/"2>/dev/null ||true
cp -a /etc/sysctl.d"$OUT_DIR/"2>/dev/null ||true
cp -a /etc/audit/rules.d"$OUT_DIR/"2>/dev/null ||true

echo"Evidence collected in:$OUT_DIR"

3.5 腳本二:加固前自動(dòng)備份(強(qiáng)烈建議每次變更先跑)

#!/usr/bin/env bash
set-euo pipefail

# 文件名:backup-hardening-configs.sh
# 作用:對(duì)關(guān)鍵配置進(jìn)行時(shí)間戳備份
# 適用場(chǎng)景:任何加固/變更前
# 使用方法:sudo bash backup-hardening-configs.sh /var/backups/hardening
# 輸入?yún)?shù):備份根目錄
# 輸出結(jié)果:創(chuàng)建一個(gè)帶時(shí)間戳的備份目錄
# 風(fēng)險(xiǎn)提示:只讀復(fù)制,風(fēng)險(xiǎn)低

BACKUP_ROOT="${1:-/var/backups/hardening}"
TS="$(date +%Y%m%d-%H%M%S)"
DST="$BACKUP_ROOT/$TS"
mkdir -p"$DST"

copy_if_exists() {
localp="$1"
if[ -e"$p"];then
  mkdir -p"$DST$(dirname "$p")"
  cp -a"$p""$DST$p"
fi
}

copy_if_exists /etc/ssh/sshd_config
copy_if_exists /etc/login.defs
copy_if_exists /etc/security/pwquality.conf
copy_if_exists /etc/pam.d
copy_if_exists /etc/sudoers
copy_if_exists /etc/sudoers.d
copy_if_exists /etc/sysctl.conf
copy_if_exists /etc/sysctl.d
copy_if_exists /etc/fstab
copy_if_exists /etc/audit/auditd.conf
copy_if_exists /etc/audit/rules.d

printf'Backup created: %s
'"$DST"

3.6 腳本三:加固變更驗(yàn)證(集中跑一遍,避免遺漏)

#!/usr/bin/env bash
set-euo pipefail

# 文件名:verify-hardening.sh
# 作用:對(duì)關(guān)鍵加固項(xiàng)做一致性檢查與輸出
# 適用場(chǎng)景:變更后自檢、上線前檢查
# 使用方法:sudo bash verify-hardening.sh
# 輸入?yún)?shù):無(wú)
# 輸出結(jié)果:標(biāo)準(zhǔn)輸出,便于工單留存
# 風(fēng)險(xiǎn)提示:只讀檢查,風(fēng)險(xiǎn)低

fail=0
check() {
localname="$1";shift
echo"[CHECK]$name"
if"$@";then
 echo" PASS"
else
 echo" FAIL"
  fail=1
fi
}

# sshd 語(yǔ)法
check"sshd config syntax"sshd -t

# sshd 關(guān)鍵項(xiàng)
check"sshd: PermitRootLogin is no"bash -lc"sshd -T | grep -qi '^permitrootlogin no$'"
check"sshd: PasswordAuthentication is no"bash -lc"sshd -T | grep -qi '^passwordauthentication no$'"

# 防火墻狀態(tài)(若使用 firewalld)
ifcommand-v firewall-cmd >/dev/null;then
 check"firewalld running"firewall-cmd --state
fi

# sysctl 關(guān)鍵項(xiàng)
check"sysctl: accept_redirects=0"bash -lc"sysctl -n net.ipv4.conf.all.accept_redirects | grep -qx '0'"
check"sysctl: send_redirects=0"bash -lc"sysctl -n net.ipv4.conf.all.send_redirects | grep -qx '0'"

# 關(guān)鍵文件權(quán)限
check"/etc/shadow perms"bash -lc"stat -c '%a' /etc/shadow 2>/dev/null | egrep -qx '400|000|600'"
check"/etc/sudoers perms"bash -lc"stat -c '%a' /etc/sudoers 2>/dev/null | grep -qx '440'"

# auditd
ifsystemctl is-active auditd >/dev/null 2>&1;then
echo"[INFO] auditd active"
 auditctl -s ||true
else
echo"[WARN] auditd not active"
fi

exit"$fail"

3.7 腳本四:一鍵回滾(從備份目錄恢復(fù)關(guān)鍵文件)

#!/usr/bin/env bash
set-euo pipefail

# 文件名:rollback-hardening.sh
# 作用:從備份目錄回滾關(guān)鍵配置
# 適用場(chǎng)景:誤改導(dǎo)致登錄/業(yè)務(wù)異常,需要快速恢復(fù)
# 使用方法:sudo bash rollback-hardening.sh /var/backups/hardening/20260101-010101
# 輸入?yún)?shù):備份目錄(由 backup-hardening-configs.sh 生成)
# 輸出結(jié)果:恢復(fù)配置并提示下一步
# 風(fēng)險(xiǎn)提示:會(huì)覆蓋系統(tǒng)配置,需在控制臺(tái)/帶外通道可用時(shí)操作

SRC="http://m.makelele.cn/images/chaijie_default.png"

restore_if_exists() {
localp="$1"
if[ -e"$SRC$p"];then
  mkdir -p"$(dirname "$p")"
  cp -a"$SRC$p""$p"
 echo"restored:$p"
fi
}

restore_if_exists /etc/ssh/sshd_config
restore_if_exists /etc/login.defs
restore_if_exists /etc/security/pwquality.conf
restore_if_exists /etc/pam.d
restore_if_exists /etc/sudoers
restore_if_exists /etc/sudoers.d
restore_if_exists /etc/sysctl.conf
restore_if_exists /etc/sysctl.d
restore_if_exists /etc/fstab
restore_if_exists /etc/audit/auditd.conf
restore_if_exists /etc/audit/rules.d

echo"Reloading services (best-effort) ..."
systemctl reload sshd 2>/dev/null ||true
sysctl --system 2>/dev/null ||true
systemctl restart auditd 2>/dev/null ||true

echo"Rollback done. Re-test SSH/sudo and service health."

3.8 腳本五:審計(jì)日志歸桶(按關(guān)鍵事件分桶,便于排障/復(fù)盤)

#!/usr/bin/env bash
set-euo pipefail

# 文件名:bucket-security-logs.sh
# 作用:把常見(jiàn)安全事件從日志中歸桶:SSH失敗、sudo、用戶變更、審計(jì)關(guān)鍵 key
# 適用場(chǎng)景:安全事件排查、審計(jì)抽查、事故復(fù)盤
# 使用方法:sudo bash bucket-security-logs.sh /var/log /tmp/sec-buckets
# 輸入?yún)?shù):日志目錄、輸出目錄
# 輸出結(jié)果:在輸出目錄生成多類事件文件
# 風(fēng)險(xiǎn)提示:只讀讀取日志,風(fēng)險(xiǎn)低

LOG_DIR="${1:-/var/log}"
OUT_DIR="${2:-/tmp/sec-buckets}"
mkdir -p"$OUT_DIR"

AUTH_LOG=""
if[ -f"$LOG_DIR/auth.log"];thenAUTH_LOG="$LOG_DIR/auth.log";fi
if[ -f"$LOG_DIR/secure"];thenAUTH_LOG="$LOG_DIR/secure";fi

if[ -n"$AUTH_LOG"];then
 egrep -i'Failed password|Invalid user|authentication failure'"$AUTH_LOG"| tail -n 2000 >"$OUT_DIR/ssh_failed.log"||true
 egrep -i'sudo:'"$AUTH_LOG"| tail -n 2000 >"$OUT_DIR/sudo.log"||true
 egrep -i'useradd|usermod|passwd[|chage'"$AUTH_LOG"| tail -n 2000 >"$OUT_DIR/account_change.log"||true
fi

AUDIT_LOG="$LOG_DIR/audit/audit.log"
if[ -f"$AUDIT_LOG"];then
 egrep' key=(identity|scope|sshd|privileged|sysctl|time-change)'"$AUDIT_LOG"| tail -n 5000 >"$OUT_DIR/audit_key_events.log"||true
fi

echo"Buckets written to:$OUT_DIR"

四、實(shí)際應(yīng)用案例(4個(gè)生產(chǎn)環(huán)境加固案例)

案例以“現(xiàn)象→判斷→下鉆→證據(jù)→根因→修復(fù)→驗(yàn)證→防再發(fā)”組織,并給出可復(fù)用檢查點(diǎn)。

4.1 案例一:互聯(lián)網(wǎng)跳板機(jī)遭遇 SSH 爆破(從告警到閉環(huán))

4.1.1 現(xiàn)場(chǎng)現(xiàn)象

SIEM 告警:短時(shí)間大量 SSH 登錄失敗。

跳板機(jī) CPU 升高,sshd進(jìn)程頻繁。

4.1.2 第一輪判斷

先確認(rèn)是否為外部爆破與來(lái)源集中:

# 統(tǒng)計(jì)失敗來(lái)源 IP(示例:auth.log)
awk'/Failed password/ {print $(NF-3)}'/var/log/auth.log | sort | uniq -c | sort -nr | head

# 當(dāng)前連接
ss -tn state established'( sport = :22 )'| head

4.1.3 第二輪下鉆

核對(duì) sshd 是否允許口令登錄、是否開啟失敗鎖定:

sshd -T | egrep -i'passwordauthentication|permitrootlogin|loglevel'
command-v faillock >/dev/null && faillock --user <被攻擊賬號(hào)> ||true

4.1.4 關(guān)鍵證據(jù)

日志片段示例(/var/log/auth.log):

Mar 11 1001 bastion sshd[12345]: Failed password for invalid user admin from 203.0.113.10 port 51234 ssh2
Mar 11 1003 bastion sshd[12346]: Failed password for root from 203.0.113.10 port 51288 ssh2

4.1.5 根因

跳板機(jī)對(duì)公網(wǎng)暴露 22,且啟用了PasswordAuthentication yes,缺少來(lái)源白名單與失敗鎖定,導(dǎo)致爆破成本極低。

4.1.6 修復(fù)動(dòng)作

立即止血:防火墻限制 SSH 來(lái)源到運(yùn)維網(wǎng)段。

長(zhǎng)期修復(fù):關(guān)閉口令登錄,強(qiáng)制公鑰;啟用失敗鎖定;收緊MaxAuthTries。

4.1.7 修復(fù)后驗(yàn)證

# 驗(yàn)證只有白名單能訪問(wèn) 22
firewall-cmd --list-rich-rules

# 驗(yàn)證口令關(guān)閉
sshd -T | grep -i'^passwordauthentication no$'

# 觀察 30 分鐘失敗次數(shù)是否明顯下降
# 可結(jié)合日志或指標(biāo)統(tǒng)計(jì)

4.1.8 防再發(fā)建議

把“跳板機(jī)必須白名單 + 禁止口令 + 失敗鎖定”做成上線門禁。

接入集中日志與告警(第 6 章給出規(guī)則模板)。

4.2 案例二:內(nèi)網(wǎng)業(yè)務(wù)機(jī)加固后服務(wù)異常(rp_filter 誤傷回包)

4.2.1 現(xiàn)場(chǎng)現(xiàn)象

變更后:業(yè)務(wù)間歇性超時(shí),重試可恢復(fù)。

應(yīng)用日志無(wú)明顯錯(cuò)誤,但請(qǐng)求鏈路出現(xiàn)丟包。

4.2.2 第一輪判斷

先確認(rèn)是否網(wǎng)絡(luò)層丟包與路由異常:

ip a
ip route
sysctl net.ipv4.conf.all.rp_filter

4.2.3 第二輪下鉆

該主機(jī)存在多網(wǎng)卡與策略路由,嚴(yán)格反向路徑校驗(yàn)會(huì)丟棄“非對(duì)稱路由回包”。

抓取內(nèi)核丟包統(tǒng)計(jì)(示意):

dmesg | tail -n 50
nstat -az | egrep'IpInNoRoutes|IpInDiscards|TcpExtTCPAbortOnMemory'

4.2.4 關(guān)鍵證據(jù)

rp_filter=1(strict)在策略路由主機(jī)觸發(fā)回包丟棄。

4.2.5 根因

把通用加固配置“無(wú)差別”套到了多網(wǎng)卡/策略路由主機(jī)。

4.2.6 修復(fù)動(dòng)作

將rp_filter調(diào)整為2(loose)或按接口定向配置。

sysctl -w net.ipv4.conf.all.rp_filter=2
sysctl -w net.ipv4.conf.default.rp_filter=2

# 固化到 sysctl 文件
sed -i's/net.ipv4.conf.all.rp_filter = 1/net.ipv4.conf.all.rp_filter = 2/'/etc/sysctl.d/99-hardening.conf
sed -i's/net.ipv4.conf.default.rp_filter = 1/net.ipv4.conf.default.rp_filter = 2/'/etc/sysctl.d/99-hardening.conf
sysctl --system

4.2.7 修復(fù)后驗(yàn)證

觀察業(yè)務(wù)超時(shí)是否消失。

指標(biāo)側(cè):P99 延遲回落、超時(shí)率下降(第 6 章給出指標(biāo)表)。

4.2.8 防再發(fā)建議

加固要“按角色模板化”:?jiǎn)尉W(wǎng)卡業(yè)務(wù)機(jī) vs 多網(wǎng)卡網(wǎng)關(guān)/容器節(jié)點(diǎn)必須分模板。

4.3 案例三:/tmp noexec 導(dǎo)致發(fā)布腳本失?。庸膛c可用性沖突)

4.3.1 現(xiàn)場(chǎng)現(xiàn)象

發(fā)布失敗,錯(cuò)誤提示“Permission denied”。

回滾發(fā)布也失敗。

4.3.2 第一輪判斷

快速確認(rèn)是否為掛載選項(xiàng)導(dǎo)致:

mount | grep' on /tmp '

# 嘗試在 /tmp 執(zhí)行最小腳本
printf'#!/bin/sh
echo ok
'> /tmp/x && chmod +x /tmp/x && /tmp/x

4.3.3 第二輪下鉆

發(fā)布工具把臨時(shí)執(zhí)行文件放在 /tmp,noexec 會(huì)拒絕執(zhí)行。

4.3.4 關(guān)鍵證據(jù)

mount顯示/tmp具備noexec。

4.3.5 根因

沒(méi)有對(duì)發(fā)布鏈路做灰度驗(yàn)證就強(qiáng)制啟用/tmp noexec。

4.3.6 修復(fù)動(dòng)作

兩種穩(wěn)妥做法:

臨時(shí)回滾/tmp的noexec;

更推薦:發(fā)布工具改用應(yīng)用專用目錄(如/var/lib/app/tmp),并只對(duì)/dev/shm做 noexec。

4.3.7 修復(fù)后驗(yàn)證

發(fā)布成功率恢復(fù)。

/tmp不再作為可執(zhí)行臨時(shí)目錄或僅在白名單機(jī)器啟用。

4.3.8 防再發(fā)建議

把/tmp noexec納入“需要業(yè)務(wù)驗(yàn)證的高風(fēng)險(xiǎn)加固項(xiàng)”,統(tǒng)一灰度策略。

4.4 案例四:審計(jì)規(guī)則過(guò)量導(dǎo)致磁盤告警(審計(jì)要可持續(xù))

4.4.1 現(xiàn)場(chǎng)現(xiàn)象

/var使用率快速上漲。

auditd日志每小時(shí)數(shù) GB。

4.4.2 第一輪判斷

du -sh /var/log/* | sort -h | tail
wc -l /var/log/audit/audit.log
auditctl -l | wc -l

4.4.3 第二輪下鉆

發(fā)現(xiàn)審計(jì)規(guī)則包含大量 syscalls 全量記錄,并且沒(méi)有有效輪轉(zhuǎn)策略。

4.4.4 關(guān)鍵證據(jù)

auditctl -l輸出規(guī)則數(shù)量異常大。

ausearch查詢顯示大量無(wú)價(jià)值事件。

4.4.5 根因

把“審計(jì)=全量記錄”當(dāng)作安全,忽略可持續(xù)性。

4.4.6 修復(fù)動(dòng)作

收斂為關(guān)鍵規(guī)則(第 2.3.20)。

配置 logrotate 或 auditd 的 max_log_file 與 rotate。

/etc/audit/auditd.conf關(guān)鍵項(xiàng)示例:

max_log_file = 50
num_logs = 10
max_log_file_action = ROTATE
space_left = 500
space_left_action = SYSLOG
admin_space_left = 200
admin_space_left_action = SUSPEND

4.4.7 修復(fù)后驗(yàn)證

觀察 24 小時(shí)日志增長(zhǎng)曲線回歸平穩(wěn)。

告警閾值(見(jiàn)第 6 章)不再頻繁觸發(fā)。

4.4.8 防再發(fā)建議

審計(jì)規(guī)則納入容量評(píng)估:以“每秒事件數(shù)”“每日增量”作為上線門檻。

五、最佳實(shí)踐和注意事項(xiàng)

5.1 最佳實(shí)踐(可執(zhí)行版)

變更前必須備份:先跑backup-hardening-configs.sh,保證任何時(shí)候可回滾。

始終保留帶外/控制臺(tái)通道:涉及 SSH、sudo 的變更必須保證有控制臺(tái)可用。

按主機(jī)角色分模板:跳板機(jī)、業(yè)務(wù)機(jī)、容器節(jié)點(diǎn)、網(wǎng)關(guān)節(jié)點(diǎn)的加固項(xiàng)不同。

安全項(xiàng)也要壓測(cè)與灰度:sysctl 與掛載選項(xiàng)對(duì)網(wǎng)絡(luò)/性能影響不可忽略。

最小暴露面優(yōu)先:先做來(lái)源白名單與端口收斂,再做復(fù)雜審計(jì)。

審計(jì)要“可持續(xù)”:關(guān)鍵事件優(yōu)先,容量閾值與輪轉(zhuǎn)必須到位。

5.2 注意事項(xiàng)(高頻踩坑點(diǎn))

禁用口令前必須驗(yàn)證密鑰登錄鏈路(至少兩人/兩把密鑰)。

AllowGroups/AllowUsers配合 LDAP/SSSD 時(shí)要驗(yàn)證解析鏈路,否則會(huì)誤封。

防火墻規(guī)則要包含:業(yè)務(wù)端口、探活端口、監(jiān)控端口、配置同步端口、必要出站。

rp_filter與多網(wǎng)卡/策略路由沖突高,必須按角色模板。

5.3 常見(jiàn)錯(cuò)誤清單(適合做變更門禁)

錯(cuò)誤動(dòng)作 為什么危險(xiǎn) 更穩(wěn)的做法
直接在生產(chǎn)全量改 sshd 誤傷會(huì)導(dǎo)致大面積失聯(lián) 先灰度 1-2 臺(tái) + 預(yù)案演練
sysctl 一把梭且無(wú)壓測(cè) 網(wǎng)絡(luò)/性能問(wèn)題難歸因 逐項(xiàng)啟用 + 指標(biāo)對(duì)照
audit 全量記錄 爆盤、性能下降 關(guān)鍵事件審計(jì) + 閾值告警
sudo 給 ALL 或 bash 直接權(quán)限逃逸 命令級(jí)白名單 + use_pty + logfile

六、故障排查和監(jiān)控(安全事件監(jiān)控、審計(jì)規(guī)則)

6.1 關(guān)鍵指標(biāo)(建議納入監(jiān)控看板)

指標(biāo)名稱 正常范圍 告警閾值 說(shuō)明
SSH 登錄失敗次數(shù)(每分鐘) 0-少量 > 20/min(按環(huán)境) 爆破/憑據(jù)攻擊信號(hào)
SSH 登錄成功次數(shù)(非工作時(shí)間) 0 > 0 異常時(shí)間窗口登錄
sudo 使用次數(shù)(按用戶/主機(jī)) 低頻 突增 提權(quán)操作異常
audit 日志增長(zhǎng)(MB/h) 穩(wěn)定 突增 規(guī)則過(guò)量或異常行為
/var 分區(qū)使用率 < 70% > 85% 防止日志爆盤
防火墻丟包/拒絕計(jì)數(shù) 穩(wěn)定 突增 誤封或掃描攻擊

6.2 日志與審計(jì)的排障命令鏈

# SSH 失敗與成功
if[ -f /var/log/auth.log ];then
 egrep -i'Failed password|Accepted publickey|Accepted password'/var/log/auth.log | tail -n 200
fi
if[ -f /var/log/secure ];then
 egrep -i'Failed password|Accepted publickey|Accepted password|sudo:'/var/log/secure | tail -n 200
fi

# 審計(jì)關(guān)鍵 key
ausearch -k identity -ts today | tail -n 50
ausearch -k scope -ts today | tail -n 50
ausearch -k privileged -ts today | tail -n 50

# 最近 1 小時(shí)的 sudo 日志(如果啟用)
tail -n 200 /var/log/sudo.log 2>/dev/null ||true

6.3 告警規(guī)則模板(Prometheus/Alertmanager 思路)

說(shuō)明:主機(jī)側(cè)需要把日志轉(zhuǎn)指標(biāo)(如 promtail + loki、或 node_exporter textfile、或 auditd exporter)。以下用“偽規(guī)則”表達(dá)核心口徑。

# 規(guī)則名:HostSSHBurstFailures
# 指標(biāo)前提:將 SSH 失敗日志聚合為計(jì)數(shù)指標(biāo) ssh_login_failed_total

alert: HostSSHBurstFailures
expr: rate(ssh_login_failed_total[5m]) > 0.3
for: 10m
labels:
 severity: warning
annotations:
 summary: "SSH failures burst on {{ $labels.instance }}"
 description: "High rate of SSH failed logins,可能存在爆破或異常掃描"
# 規(guī)則名:AuditLogGrowthTooFast
# 指標(biāo)前提:采集 /var/log/audit/audit.log 文件大小為 audit_log_bytes

alert: AuditLogGrowthTooFast
expr: (audit_log_bytes - audit_log_bytes offset 1h) / 1024 / 1024 > 500
for: 30m
labels:
 severity: warning
annotations:
 summary: "audit log growth too fast on {{ $labels.instance }}"
 description: "audit 日志 1 小時(shí)增長(zhǎng)超過(guò)閾值,可能規(guī)則過(guò)量或異常行為"

6.4 修復(fù)后驗(yàn)證(回歸動(dòng)作清單)

# 1) SSH 配置校驗(yàn)
sshd -t
systemctl reload sshd

# 2) 從白名單來(lái)源登錄驗(yàn)證(至少公鑰 + sudo)
# ssh user@host
# sudo -l

# 3) 防火墻規(guī)則校驗(yàn)
command-v firewall-cmd >/dev/null && firewall-cmd --list-all

# 4) 審計(jì)規(guī)則生效
auditctl -s
ausearch -k sshd -ts recent | head -n 10

# 5) 觀察 30-60 分鐘指標(biāo)(失敗次數(shù)、磁盤增長(zhǎng))
# 結(jié)合監(jiān)控平臺(tái)確認(rèn)曲線回落

七、總結(jié)

7.1 技術(shù)要點(diǎn)回顧(可執(zhí)行)

主機(jī)加固必須是“可回滾”的工程實(shí)踐,而不是一次性手工改配置。

SSH 優(yōu)先做來(lái)源隔離與密鑰化,再做算法收緊。

賬號(hào)安全的核心是:強(qiáng)口令/鎖定/最小可登錄賬號(hào) + sudo 最小權(quán)限。

防火墻要以“端口清單”為輸入,包含探活與監(jiān)控,避免誤傷。

sysctl 與掛載選項(xiàng)屬于“高影響項(xiàng)”,必須按主機(jī)角色模板化。

auditd 的價(jià)值在“關(guān)鍵事件可追溯”,不是“全量記錄”。

任何加固項(xiàng)都需要明確驗(yàn)證命令鏈與監(jiān)控指標(biāo),否則無(wú)法閉環(huán)。

7.2 進(jìn)階學(xué)習(xí)方向

OpenSSH 證書登錄與集中密鑰管理:解決大規(guī)模密鑰分發(fā)與撤銷問(wèn)題。

主機(jī)基線自動(dòng)化:Ansible/OSQuery/SCAP 等實(shí)現(xiàn)持續(xù)合規(guī)。

審計(jì)到 SIEM:把 audit/journald 與告警聯(lián)動(dòng),形成響應(yīng)閉環(huán)。

零信任與訪問(wèn)代理:把 SSH 入口遷移到統(tǒng)一訪問(wèn)層,實(shí)現(xiàn)強(qiáng)審計(jì)與策略化。

7.3 參考資料

CIS Benchmarks - 各發(fā)行版安全基線對(duì)照

OpenSSH Manual Pages - sshd_config 官方參數(shù)說(shuō)明

Linux Audit Documentation - auditd 規(guī)則與實(shí)踐

附錄

A. 命令速查表(加固/驗(yàn)證常用)

sshd -t             # 校驗(yàn) sshd_config 語(yǔ)法
sshd -T             # 展開生效配置(含 include)
ss -lntp            # 查看監(jiān)聽(tīng)端口
firewall-cmd --list-all     # 查看 firewalld zone 規(guī)則
nft list ruleset        # 查看 nftables 規(guī)則集
sysctl --system         # 加載 sysctl.d 配置
stat -c '%a %U:%G %n' FILE   # 查看權(quán)限
visudo -c            # 校驗(yàn) sudoers 語(yǔ)法
auditctl -s           # 查看 audit 狀態(tài)
ausearch -k KEY -ts recent   # 按 key 查詢審計(jì)事件
journalctl --disk-usage     # 查看 journald 占用

B. 參數(shù)詳解(挑關(guān)鍵的講邊界)

參數(shù) 推薦值 作用 風(fēng)險(xiǎn)邊界
PasswordAuthentication no 關(guān)閉口令登錄 必須先驗(yàn)證公鑰鏈路
PermitRootLogin no 禁止 root 直接登錄 需確保 sudo 入口可用
AllowGroups ops/wheel 限制可登錄組 需驗(yàn)證 LDAP/SSSD 解析
rp_filter 1(單網(wǎng)卡)/2(多網(wǎng)卡) 反向路徑校驗(yàn) 策略路由慎用 strict
/tmp noexec 按需啟用 阻斷臨時(shí)執(zhí)行提權(quán) 可能影響發(fā)布/安裝
audit -b 8192 審計(jì)緩沖 過(guò)大占內(nèi)存,過(guò)小丟事件

C. CIS 基線對(duì)照(示例映射表)

本文加固項(xiàng) CIS 常見(jiàn)條目方向(概念對(duì)應(yīng)) 備注
SSH 禁止 root 登錄 SSH Server Configuration 發(fā)行版條目編號(hào)不同
SSH 禁止口令登錄 SSH Server Configuration 需結(jié)合運(yùn)維體系
口令復(fù)雜度/有效期 Password Policies 建議與 IAM 統(tǒng)一
失敗鎖定 Account Lockout 注意值班風(fēng)險(xiǎn)
sudo 最小權(quán)限與日志 Privilege Escalation 強(qiáng)烈建議啟用
sysctl 關(guān)閉 redirect/source_route Network Configuration 多網(wǎng)卡需評(píng)估
/tmp 掛載收緊 Filesystem Configuration 影響兼容性
auditd 關(guān)鍵規(guī)則 Audit Configuration 需配合容量與告警

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11772

    瀏覽量

    219118
  • 防火墻
    +關(guān)注

    關(guān)注

    0

    文章

    448

    瀏覽量

    36714
  • 主機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    1054

    瀏覽量

    36763

原文標(biāo)題:Linux系統(tǒng)安全加固實(shí)戰(zhàn):20項(xiàng)關(guān)鍵配置詳解

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux系統(tǒng)安全機(jī)制及技術(shù)大觀

    Linux 系統(tǒng)是開放的, 其上安全機(jī)制、工具很多,不同的場(chǎng)景其安全目標(biāo)和選擇的工具都不相同。以下從個(gè)人角度仿ATT&CK列出一些常見(jiàn)的安全
    發(fā)表于 05-19 10:59 ?3989次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)安全</b>機(jī)制及技術(shù)大觀

    lLinux安全工程師-深圳

    Linux安全工程師-深圳【崗位要求】:1、熟悉C/C++/Java開發(fā)語(yǔ)言;2、熟悉Linux系統(tǒng)安全理論,Linux/Unix的
    發(fā)表于 03-07 17:20

    如何保護(hù)Linux系統(tǒng)安全?

    請(qǐng)問(wèn)有什么方法可以保護(hù)Linux系統(tǒng)安全?
    發(fā)表于 04-26 06:41

    檢查系統(tǒng)安全和儀器保護(hù)的重要性

    檢查系統(tǒng)安全和儀器保護(hù)的重要性
    發(fā)表于 05-13 06:10

    怎么實(shí)現(xiàn)工業(yè)控制系統(tǒng)安全防護(hù)的設(shè)計(jì)?

    工業(yè)控制系統(tǒng)潛在的風(fēng)險(xiǎn)是什么?怎么實(shí)現(xiàn)工業(yè)控制系統(tǒng)安全防護(hù)的設(shè)計(jì)?
    發(fā)表于 05-25 06:12

    BMS電池管理系統(tǒng)安全定義

    ?1. 系統(tǒng)安全定義包含電子電氣的功能安全還包含機(jī)械等其他防護(hù)部分1. 機(jī)械安全需求無(wú)鋒利銳邊/強(qiáng)度保證(碰撞/沖擊/擠壓/振動(dòng)/承載等)2. 化學(xué)安全需求無(wú)有毒有害化學(xué)物質(zhì)/材料的可
    發(fā)表于 09-15 08:12

    linux操作系統(tǒng)安全

    linux操作系統(tǒng)安全性 計(jì)算機(jī)系統(tǒng)安全性的內(nèi)涵 操作系統(tǒng)安全性功能 操作
    發(fā)表于 04-28 15:05 ?0次下載

    UNIX系統(tǒng)安全工具

    本書詳細(xì)介紹了UNIX系統(tǒng)安全的問(wèn)題、解決方法和策略。其內(nèi)容包括:帳號(hào)安全及相關(guān)工具Crack;日志系統(tǒng)的機(jī)制和安全性,日志安全工具Swat
    發(fā)表于 08-27 16:20 ?0次下載

    Windows系統(tǒng)安全模式另類應(yīng)用

    Windows系統(tǒng)安全模式另類應(yīng)用 相信有一部份的用戶對(duì)Windows操作系統(tǒng)安全模式的應(yīng)用還比較模糊,下面的我們就給大家講講Windows安全
    發(fā)表于 01-27 09:58 ?882次閱讀

    Linux操作系統(tǒng)安全的配置說(shuō)明

    Linux被認(rèn)為是一個(gè)比較安全的Internet服務(wù)器,作為一種開放源代碼操作系統(tǒng),一旦Linux系統(tǒng)中發(fā)現(xiàn)有
    發(fā)表于 09-26 17:51 ?748次閱讀

    linux web 安全加固理論

    linux web 安全加固理論
    發(fā)表于 09-07 15:13 ?17次下載
    <b class='flag-5'>linux</b> web <b class='flag-5'>安全</b><b class='flag-5'>加固</b>理論

    Linux必學(xué)的系統(tǒng)安全命令

    雖然Linux和Windows NT/2000系統(tǒng)一樣是一個(gè)多用戶的系統(tǒng),但是它們之間有不少重要的差別。對(duì)于很多習(xí)慣了Windows系統(tǒng)的管理員來(lái)講,如何保證
    發(fā)表于 11-02 15:09 ?0次下載

    如何通過(guò)一些Linux安全命令加固你的Linux系統(tǒng)?改善你的Linux安全

    在最開始,我們需要問(wèn)的一個(gè)問(wèn)題是:Linux是已經(jīng)足夠被安全加固了嗎?答案當(dāng)然是否定的。那些嫻熟的攻擊者所帶來(lái)的危險(xiǎn)是與日俱增的。每天、甚至是每小時(shí)都有新的漏洞被發(fā)現(xiàn)。對(duì)這些漏洞的利用方法通常建立在
    的頭像 發(fā)表于 09-24 12:42 ?1.1w次閱讀

    Linux系統(tǒng)安全防護(hù)措施

    隨著信息技術(shù)的快速發(fā)展,系統(tǒng)安全成為我們?nèi)粘I詈凸ぷ髦胁豢苫蛉钡囊徊糠?。主要包括了賬號(hào)安全控制、系統(tǒng)引導(dǎo)和登錄控制、弱口令檢測(cè)以及端口掃描等多個(gè)方面,為我們提供了一系列實(shí)用的安全措施
    的頭像 發(fā)表于 05-09 13:40 ?888次閱讀

    Kubernetes安全加固的核心技術(shù)

    在生產(chǎn)環(huán)境中,Kubernetes集群的安全性直接關(guān)系到企業(yè)數(shù)據(jù)安全和業(yè)務(wù)穩(wěn)定性。本文將從實(shí)戰(zhàn)角度,帶你掌握K8s安全加固的核心技術(shù)。
    的頭像 發(fā)表于 08-18 11:18 ?828次閱讀