1. 禁用Telnet服務(最直接有效的防范措施)
Debian系統中,Telnet服務若未使用應徹底禁用,避免其占用端口并成為攻擊目標??赏ㄟ^以下命令操作:
systemctl
(適用于systemd系統,Debian 8及以上版本):sudo systemctl stop telnet.socket # 停止Telnet服務
sudo systemctl disable telnet.socket # 禁止系統啟動時自動啟動
sudo systemctl status telnet.socket # 驗證服務狀態(應為"inactive (dead)"且"disabled")
service
命令(適用于較舊系統,如Debian 7及以下):sudo service telnet.socket stop
sudo update-rc.d telnet.socket disable
xinetd
管理Telnet的情況):/etc/xinetd.d/telnet
文件,將disable = no
改為disable = yes
,保存后重啟xinetd
服務:sudo systemctl restart xinetd
禁用后,Telnet服務將不再運行,徹底消除明文傳輸的風險。
2. 使用SSH替代Telnet(推薦的長期解決方案)
SSH(Secure Shell)是加密的遠程登錄協議,能有效解決Telnet明文傳輸的問題。在Debian中安裝并配置SSH的步驟如下:
sudo apt update
sudo apt install openssh-server
sudo systemctl start ssh
sudo systemctl enable ssh
/etc/ssh/sshd_config
):
PermitRootLogin no
(需用普通用戶+sudo
管理);Port 2222
(減少自動化掃描攻擊);AllowUsers your_username
(僅授權特定用戶);PasswordAuthentication no
(需提前配置公鑰認證)。sudo systemctl restart ssh
通過SSH替代Telnet,可從根源上杜絕數據泄露和中間人攻擊。
3. 配置防火墻限制訪問
即使禁用了Telnet,仍建議通過防火墻阻斷其端口(默認23/tcp),防止意外啟用或未完全禁用的情況:
ufw
(Uncomplicated Firewall,Debian默認防火墻工具):sudo ufw deny 23/tcp # 拒絕Telnet端口的所有入站連接
sudo ufw enable # 啟用防火墻
sudo ufw status # 驗證規則(應顯示"23/tcp DENY")
iptables
(底層防火墻工具,適用于高級用戶):sudo iptables -A INPUT -p tcp --dport 23 -j DROP # 阻止Telnet端口流量
sudo netfilter-persistent save # 保存規則(Debian 9及以上)
防火墻能形成第一道防線,阻止未經授權的Telnet連接請求。
4. 定期更新系統與軟件包
Telnet服務或其依賴庫的已知漏洞是攻擊的重要入口,定期更新系統可修復這些漏洞:
sudo apt update # 更新軟件包列表
sudo apt upgrade # 升級所有可升級的軟件包
sudo apt autoremove # 刪除無用的依賴包
建議開啟自動安全更新(針對Debian 10及以上版本):
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
及時更新能降低因漏洞被利用而導致的風險。
5. 強化系統與用戶安全策略
即使使用Telnet(不推薦),也應通過以下措施降低風險:
/etc/pam.d/common-password
文件設置密碼復雜度要求(如minlen=12
、ucredit=-1
等)。/etc/ssh/sshd_config
設置PermitRootLogin no
,強制用戶通過普通賬戶+sudo
執行特權操作,減少root賬戶被攻擊后的影響范圍。/var/log/auth.log
(SSH登錄日志)或/var/log/syslog
(系統日志),使用fail2ban
等工具自動封禁多次登錄失敗的IP地址(如設置maxretry=3
,即3次失敗后封禁1小時)。