運(yùn)維圈子里有個(gè)共識(shí):服務(wù)器上線第一天,攻擊可能已經(jīng)在路上了。不是危言聳聽(tīng)——默認(rèn)配置的Ubuntu服務(wù)器,root密碼被暴力破解的平均時(shí)間,短到讓人意外。
這篇文章整理了一份可直接落地的檢查清單。沒(méi)有廢話,每一步都對(duì)應(yīng)真實(shí)攻擊場(chǎng)景。
![]()
一、先修漏洞,再談防御
系統(tǒng)更新是安全基線,不是可選項(xiàng)。攻擊者每天都在掃描公開(kāi)的CVE漏洞,你的補(bǔ)丁延遲就是他們的機(jī)會(huì)窗口。執(zhí)行兩條命令完成更新和清理:
apt update && apt upgrade -y
apt autoremove -y
第二條清理廢棄包,減少攻擊面。很多入侵利用的正是那些"用不上但也沒(méi)刪"的老舊組件。
二、root賬號(hào):能不用就不用
直接以root登錄是運(yùn)維大忌。一旦憑證泄露,攻擊者拿到的是整臺(tái)機(jī)器的完全控制權(quán),沒(méi)有審計(jì)痕跡,沒(méi)有權(quán)限邊界。標(biāo)準(zhǔn)做法是創(chuàng)建普通用戶并賦予提權(quán)權(quán)限:
adduser adminuser
usermod -aG sudo adminuser
日常操作用這個(gè)賬號(hào),需要特權(quán)時(shí)臨時(shí)提權(quán)。這樣至少留下操作日志,出事能追溯。
三、SSH加固:三道防線
SSH是服務(wù)器暴露最廣的入口,也是攻擊最集中的地方。三道防線依次收緊。
第一道:禁root登錄。編輯 /etc/ssh/sshd_config,找到 PermitRootLogin yes 改為 no,重啟SSH服務(wù)。
第二道:改默認(rèn)端口。把22換成高位端口如2222,能過(guò)濾掉90%的自動(dòng)化掃描腳本——它們只掃標(biāo)準(zhǔn)端口。改完后記得防火墻放行新端口。
第三道:密鑰替代密碼。本地生成密鑰對(duì) ssh-keygen,公鑰推送到服務(wù)器 ssh-copy-id user@server-ip,然后配置文件里關(guān)掉密碼認(rèn)證 PasswordAuthentication no。三道防線全部生效后,暴力破解基本失去意義。
四、防火墻:UFW極簡(jiǎn)配置
Ubuntu自帶的UFW(Uncomplicated Firewall)足夠大多數(shù)場(chǎng)景。原則是默認(rèn)拒絕,按需放行。示例:SSH改到2222端口后,只開(kāi)放2222、80、443。
ufw allow 2222/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
啟用前用 ufw status 確認(rèn)規(guī)則無(wú)誤。防火墻配錯(cuò)導(dǎo)致把自己鎖在門(mén)外,是新手常見(jiàn)事故。
五、Fail2Ban:自動(dòng)封禁暴力破解
即使改了SSH端口、用了密鑰,日志里還是會(huì)看到大量試探連接。Fail2Ban的作用就是監(jiān)控這些失敗嘗試,超過(guò)閾值自動(dòng)封IP。安裝啟用命令如下:
apt install fail2ban -y
systemctl enable fail2ban
systemctl start fail2ban
查看封禁狀態(tài):fail2ban-client status。默認(rèn)配置對(duì)SSH防護(hù)已經(jīng)夠用,生產(chǎn)環(huán)境建議根據(jù)日志調(diào)整封禁時(shí)長(zhǎng)和閾值。
六、Docker容器:別給攻擊者跳板
如果跑Docker,容器安全是另一層防線。幾個(gè)硬性要求:容器內(nèi)禁止root運(yùn)行;鏡像只從可信源拉取,定期更新;暴露端口最小化;上線前用Trivy等工具掃描漏洞。Docker本身也要保持更新:
apt update
apt install docker-ce docker-ce-cli containerd.io
容器被攻破后,如果配置得當(dāng),攻擊者只能困在容器里;配置不當(dāng),就是整臺(tái)宿主機(jī)淪陷。
七、自動(dòng)更新:最后一道保險(xiǎn)
手動(dòng)更新總有遺漏。安裝unattended-upgrades,讓系統(tǒng)自動(dòng)安裝安全補(bǔ)丁:
apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades
這樣即使忙忘了,關(guān)鍵漏洞也能及時(shí)補(bǔ)上。
八、審計(jì)與監(jiān)控:別等出事了才看日志
前面七步是防御,這一步是兜底。安裝auditd記錄關(guān)鍵文件變更:
apt install auditd -y
配置監(jiān)控 /etc/passwd 等敏感文件,日志集中收集到外部系統(tǒng)。很多入侵是事后幾周才發(fā)現(xiàn),因?yàn)楦緵](méi)人看日志。
安全加固沒(méi)有完成時(shí),只有進(jìn)行時(shí)。這份清單覆蓋最常見(jiàn)攻擊向量,但生產(chǎn)環(huán)境還需根據(jù)業(yè)務(wù)場(chǎng)景調(diào)整。建議每季度復(fù)盤(pán)一次配置,攻擊手法在變,防御策略也要跟上。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.