Linux 雖以安全著稱,但預設配置往往不足以抵禦針對性攻擊。多數入侵源於配置不當而非核心漏洞。以下六大硬化技巧可顯著提升伺服器抗攻擊能力。
只開放業務必須的埠位(如 22/80/443),其餘全部拒絕。同時禁止 Ping 回應降低被發現機率:
# 方法 1:核心參數
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
# 方法 2:iptables 丟棄 ICMP
iptables -A INPUT -p icmp -j DROP
# 方法 3:sysctl 永久生效
echo "net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf && sysctl -p
vi /etc/ssh/sshd_config
# Port 22 → 改為 10000 以上未使用埠位,例:Port 2222
# PermitRootLogin yes → PermitRootLogin no
# 建立一般使用者並設定密碼
useradd adminuser
passwd adminuser
# 重啟 SSH 服務
systemctl restart sshd
效果:自動化掃描腳本多針對 22 埠,修改埠位可避開 90% 以上暴力破解嘗試。
# 刪除不需的使用者
userdel adm; userdel lp; userdel sync; userdel shutdown
userdel halt; userdel news; userdel uucp; userdel operator
userdel games; userdel gopher; userdel ftp # 若不需匿名 FTP
# 刪除對應群組
groupdel adm; groupdel lp; groupdel news; groupdel uucp
groupdel games; groupdel dip; groupdel pppusers
減少攻擊面,防止廢棄帳號被利用提權。
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
即使 root 也無法修改/刪除,防止駭客竄改帳號資訊或植入後門帳號。需修改時先 chattr -i 解除。
chmod 600 /etc/xinetd.conf
僅允許 root 讀寫,防止一般使用者或被攻破的服務進程竄改超級伺服器設定。
# vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
若業務需求必須提供匿名下載,請嚴格限制目錄權限、啟用上傳速率限制、隔離於獨立分區。
rpm -Va 或 debsums 檢查系統檔案完整性安全非一次性設定,而是持續的流程:基線配置 → 持續監控 → 定期稽核 → 事件響應 → 改進基線。這六大技巧是建立 Linux 伺服器安全基線的起點。