「安全第一」是運維鐵律。本文彙整六大面向的 Linux 安全策略,涵蓋核心網路參數、登入控制、帳號精簡、SELinux、防火牆雙層防護與審計追蹤,提供可直接落地的指令與設定檔範例。
攻擊者常以 Ping 掃描存活主機。關閉回應可降低暴露面。
# 立即生效
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
# 永久生效(加入開機腳本)
echo 'echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all' >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
預設值 0 為回應,1 為忽略。
vi /etc/inittab
# 註解掉以下行:
# ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# 重新載入 init 設定
telinit q
防止物理接觸主機者誤觸或惡意重開機。
vi /etc/profile
# 修改 HISTSIZE
HISTSIZE=30
# 或設為 0 完全停用
# HISTSIZE=0
減少敏感指令(含密碼、金鑰參數)殘留風險。
# 刪除帳號
userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
# ... 依實際環境刪除
# 刪除群組
groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip
groupdel pppusers
groupdel popusers
groupdel slipusers
原則:不需要的服務帳號全刪,縮小攻擊面。
# 查看狀態
getenforce
# Disabled / Permissive / Enforcing
# 永久關閉
vi /etc/sysconfig/selinux
SELINUX=disabled
# 重開機生效
reboot
⚠ 進階環境建議改為 Permissive 並配合 audit2allow 逐步建立政策,而非直接關閉。
第一層:iptables(核心層封包過濾)。
第二層:tcp_wrappers(應用層存取控制,依賴 libwrap)。
ldd /usr/sbin/sshd | grep libwrap
# 輸出含 libwrap.so 即支援
常見支援:sshd、vsftpd、portmap、xinetd、sendmail。
服務名: 客戶端清單 [: 動作]
# 關鍵字:ALL, ALL EXCEPT
# /etc/hosts.allow
sshd: 222.90.66.4 61.185.224.66 softpark.com
# /etc/hosts.deny
sshd: ALL
匹配順序:hosts.allow → hosts.deny → 預設允許。故 deny 設 ALL 即達白名單效果。
auditd 記錄關鍵系統呼叫。chkrootkit、rkhunter 掃描 Rootkit。chattr +i(不可變)或 +a(僅追加):chattr -R +i /bin /boot /lib /sbin /usr/bin /usr/sbinchattr +i /etc/passwd /etc/shadow /etc/sudoers /etc/fstabchattr +a /var/log/messages /var/log/securenosuid,noexec,nodev(/tmp、/var/tmp、/dev/shm)。