KeyFrame內部研究專用

Linux Server Hardening: The Complete Guide (Firewall, SSH, Lynis & More)

Homelab Works·7月1日週三·30 min英文

三句話摘要

Linux伺服器系統安全加固的七步完整指南,從自動更新到SSH加密登入。 Linux伺服器安全加固並非一次性工作,而是透過七個遞進步驟(更新、帳戶、防禦、服務、框架、內核、遠端存取)在多層次構築防線,最終透過自動化工具持續驗證安全狀態。 自動化安全管理:安裝unattended-upgrades後,系統會自動套用安全補丁,對小型團隊或多伺服器環境特別重要,不必手動管理數十台機器的更新。

重點整理

重點
  • 1

    自動化安全管理:安裝unattended-upgrades後,系統會自動套用安全補丁,對小型團隊或多伺服器環境特別重要,不必手動管理數十台機器的更新。

  • 2

    多層防禦策略:防火墻控制流量進出,fail2ban監控日誌並自動封鎖可疑IP,兩者配合形成24小時自動防禦體系,類似於安保人員全天監控。

  • 3

    最小權限原則:停用root直接SSH登入、禁用密碼認証、限制允許登入的使用者帳戶,確保即使認証被洩露也只能做特定帳號的動作範圍。

  • 4

    內核層面加固:設置sysctl參數限制指針洩露、禁用IP重定向、防止IP欺騙,雖不消除漏洞但大幅提高利用難度,特別針對攻擊者常鏈結多個漏洞的手法。

實用技巧與重點

乾貨
  • 安裝指令
  • `sudo apt update && sudo apt upgrade -y`
  • `sudo apt install unattended-upgrades`
  • `sudo apt install fail2ban`
  • `sudo apt install apparmor`
  • `sudo apt install lynis`
  • 防火牆設置
  • `sudo ufw default deny incoming`
  • `sudo ufw default allow outgoing`
  • `sudo ufw allow ssh`
  • `sudo ufw enable`
  • 建立管理員帳戶
  • `sudo adduser jane`
  • `sudo usermod -aG sudo jane`
  • SSH金鑰生成(Windows PowerShell):
  • `ssh-keygen -t ed25519`
  • 禁用不必要服務
  • `sudo systemctl disable --now avahi-daemon`
  • `sudo systemctl disable --now cups`
  • AppArmor啟用
  • `sudo systemctl enable --now apparmor`
  • 內核加固設置檔案:`/etc/sysctl.d/99-hardening.conf`
  • 參數:
  • `kernel.kptr_restrict = 1`
  • `kernel.dmesg_restrict = 1`
  • `net.ipv4.conf.all.rp_filter = 1`
  • `net.ipv4.conf.all.accept_redirects = 0`
  • `net.ipv4.conf.all.send_redirects = 0`
  • SSH設置修改檔案:`/etc/ssh/sshd_config`
  • 關鍵參數:
  • `AddressFamily inet`(僅IPv4)
  • `PermitRootLogin no`
  • `PasswordAuthentication no`
  • `AllowUsers jane`
  • 重啟服務:`sudo systemctl restart sshd`
  • 安全審計工具
  • `sudo lynis audit system`

結論

結論

Linux伺服器安全加固並非一次性工作,而是透過七個遞進步驟(更新、帳戶、防禦、服務、框架、內核、遠端存取)在多層次構築防線,最終透過自動化工具持續驗證安全狀態。

完整解析

詳細

Linux伺服器的安全加固是持續的防禦過程,需要在多個層次同時施加保護。本教程提供的七步方案覆蓋從作業系統基礎到遠端存取的完整安全鏈。

首先,自動安全更新是最基礎的防線。透過安裝unattended-upgrades套件,系統會在背景自動下載並套用安全補丁,即使管理員忘記手動更新也能保持保護狀態。特別是在資源有限的環境(小型企業或家用實驗室),無須為每台伺服器排程更新檢查。服務啟動後可用`systemctl status unattended-upgrades`驗證其運作狀態。

第二步是建立獨立的管理員帳戶而非直接使用root。使用`sudo adduser jane`建立新帳戶後,透過`sudo usermod -aG sudo jane`將其加入sudoers群組。這樣的設計遵循最小權限原則——帳戶名稱避免選用容易猜測的名稱如「admin」,因為攻擊者通常會嘗試常見使用者名稱。jane能執行需要超級使用者權限的指令,但在日常使用時權限受限。

第三步是建立雙層防禦:UFW防火牆與fail2ban入侵防禦系統。UFW配置預設拒絕所有進入流量(`ufw default deny incoming`)但允許出站流量,除了明確允許的SSH連接埠。fail2ban則監控系統日誌,當偵測到多次失敗登入等可疑行為時自動封鎖該IP地址。兩者搭配形成靜態規則與動態防禦的組合。

第四步禁用不必要的系統服務。Linux預設啟用許多服務如avahi-daemon(本地網路探索)與cups(印表機支援),每個服務都是潛在的攻擊面。`systemctl disable --now 服務名稱`可停用未使用的服務。這個步驟要求管理員了解自己環境的真實需求,只保留必要功能。

第五步啟用AppArmor與日誌監控。AppArmor是Ubuntu內建的安全框架,會限制應用程式能執行的動作——即使應用程式被入侵,也無法超出其限制範圍。`journalctl -p 3 -xb`可檢視系統錯誤與警告日誌,早期發現潛在問題。

第六步是內核層面加固。透過編輯`/etc/sysctl.d/99-hardening.conf`套用內核參數,限制指標洩露、禁用IP重定向、防止欺騙封包等。這些設置無法消除內核漏洞,但大幅提高利用難度。因為攻擊者往往鏈結多個漏洞進行復雜攻擊,每個層次的加固都能減小其爆炸半徑。

第七步是SSH加固,這是遠端存取的關鍵。客戶端透過`ssh-keygen -t ed25519`生成密鑰對,將公鑰傳送至伺服器並設置為認證方式。伺服器端在`/etc/ssh/sshd_config`中禁用密碼認證(`PasswordAuthentication no`)、禁用root登入(`PermitRootLogin no`)、限制允許登入的使用者(`AllowUsers jane`)。完成設置後重啟SSH服務使其生效。密鑰認證較密碼更難被破解,且禁用密碼登入能完全阻止暴力破解攻擊。

最後,使用Lynis工具進行安全審計。執行`sudo lynis audit system`會掃描整個系統並生成詳細報告,顯示當前的安全狀態與改進建議,幫助管理員識別任何遺漏的設置。這份報告可作為持續安全改進的參考。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

Risky Bulletin: Russia starts blocking DoH and DoT
編輯精選
8 min
Web2 安全英文PODCAST8月26日

Risky Bulletin: Russia starts blocking DoH and DoT

Risky Business

  • 國家級網路管制層級提升:俄羅斯主動封鎖加密 DNS 協定對抗審查工具,中國加速淘汰 Windows 系統並遷移自主 Linux 發行版,各國正透過技術與法律手段強化網路主權與信息控制能力。
  • 詐騙犯罪走向精密化與自動化:從冒充警察的聲音詐騙(竊取 7.2 百萬美元)、AI 語音代理自動化破解 iPhone 啟用鎖、到跨越數百網站的投資詐騙(詐騙 7400 萬美元),犯罪組織正利用自動化工具與 AI 技術大幅降低成本並擴大規模。
  • AI 惡意軟體威脅實際上被嚴重誇大:405 個整合 AI 的惡意軟體樣本中僅 12 個於真實感染被偵測,其餘來自測試環境,證明當前 AI 惡意軟體仍停留於實驗階段,尚未構成主流威脅。
SANS Stormcast Wednesday, August 26th, 2026: Obfuscating SSRF; Paint and Photos AI Watermarks; FTP Banner C2;
5 min
Web2 安全英文PODCAST8月26日

SANS Stormcast Wednesday, August 26th, 2026: Obfuscating SSRF; Paint and Photos AI Watermarks; FTP Banner C2;

SANS Stormcast

  • SSRF 攻擊者已進化出高級繞過手段,不直接使用元數據服務 IP(169.254.169.254),而改用專門域名服務將請求轉址,支援點或破折號分隔 IP,甚至可自部署 DNS 伺服器進行 DNS 重綁定攻擊,使傳統簡易過濾機制失效。
  • 本地 AI 模型並非完全隱私:微軟 Paint 雖在本地執行生成邏輯,但安全檢查需上傳提示文字至遠程伺服器,返回時圖像內嵌不易移除的伺服器 GUID 隱形浮水印,可見浮水印(Copilot 圖標)則易被移除。
  • 傳統 FTP 協議被新型惡意軟體重新利用為命令控制通道,透過 FTP banner 傳遞指令於連接埠 21,防守者應視任何出站 FTP 流量為異常信號。
SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。