Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 系統安裝與配置 DenyHosts 防暴力破解工具完整指南

編輯:關於 Linux

DenyHosts 是一款基於 Python 開發的安全防護工具,專門用於監控 SSH 登入日誌,自動封鎖多次嘗試失敗的 IP 位址,有效防禦暴力破解攻擊。對於維護 Linux 伺服器的管理員來說,掌握 DenyHosts 的安裝與配置是提升主機安全性的關鍵技能。

DenyHosts 工具示意圖

核心功能與原理

DenyHosts 通過分析 /var/log/secure(或 /var/log/auth.log)等認證日誌,識別短時間內重複失敗的 SSH 登入嘗試。當某 IP 達到預設閾值時,該工具會自動將其寫入 /etc/hosts.deny,從而在系統層面阻斷後續連線。這種「監控→分析→封鎖」的自動化流程,大幅降低了人工維護防火牆規則的負擔。

步驟一:快速安裝 DenyHosts

以 Ubuntu/Debian 系統為例,僅需一條指令即可完成安裝與初始化配置:

sudo apt-get update && sudo apt-get install denyhosts

安裝完成後,服務會自動啟動並加入開機自啟。RedHat/CentOS 系列可透過 EPEL 倉庫安裝:yum install denyhosts。

步驟二:設定白名單,避免誤封自己

這是最關鍵的一步。 若跳過此步驟,管理員自身的 IP 可能因操作失誤觸發封鎖,導致無法遠端連線。

  1. 編輯允許清單:sudo nano /etc/hosts.allow
  2. 在檔案末尾加入你的固定 IP(或常用 IP 段),格式如下:
    sshd: 203.0.113.45
    sshd: 198.51.100.0/24
  3. 重啟服務生效:sudo systemctl restart denyhosts(或 sudo /etc/init.d/denyhosts restart)

步驟三:深度自訂配置(可選)

預設配置已能滿足大多數場景,但針對高安全需求環境,可微調 /etc/denyhosts.conf 關鍵參數:

參數建議值說明
PURGE_DENY1w封鎖 IP 的保留時間(如 1 週),避免誤封長期佔用
DENY_THRESHOLD_INVALID3不存在的用戶登入失敗閾值
DENY_THRESHOLD_VALID5合法用戶登入失敗閾值
DENY_THRESHOLD_ROOT2Root 登入失敗閾值(建議嚴格)
HOSTNAME_LOOKUPNO關閉反向 DNS 解析,提升效能
ADMIN_EMAILadmin@example.com接收封鎖通知郵件
DAEMON_LOG/var/log/denyhosts工具自身運行日誌

修改後務必重啟服務:sudo systemctl restart denyhosts。

進階管理技巧

  • 查看已封鎖 IP: cat /etc/hosts.deny
  • 手動解封誤封 IP: 編輯 /etc/hosts.deny 刪除對應行,並清理 /var/lib/denyhosts/ 下的記錄檔
  • 同步封鎖名單至多台伺服器: 可配合 rsync 或中央化日誌系統實現集群聯動

總結

DenyHosts 以「輕量、自動化、零侵入」特性,成為 Linux SSH 防暴力破解的首選工具。配合「修改預設 SSH 埠號、禁用 Root 登入、強制金鑰認證」等基線加固措施,可構建多層次防禦體系。建議定期審閱封鎖日誌,並根據業務特性調整閾值,在安全性與可用性間取得平衡。

Copyright © Windows教程網 All Rights Reserved