Ubuntu下Telnet服務安全加固方法
Telnet傳輸數據為明文,易被中間人攻擊竊取用戶名、密碼等敏感信息,SSH(Secure Shell) 是更安全的替代方案。SSH通過加密通道保護數據傳輸,支持公鑰認證、端口轉發等高級功能。
sudo apt update && sudo apt install openssh-server
sudo systemctl start ssh && sudo systemctl enable ssh
/etc/ssh/sshd_config
,設置PermitRootLogin no
(禁用root直接登錄)、PubkeyAuthentication yes
(啟用公鑰認證)、Port 2222
(更改默認端口)等參數,重啟SSH服務使配置生效。若必須使用Telnet,需通過防火墻和TCP Wrappers限制訪問范圍,減少暴露風險。
ufw
(Uncomplicated Firewall)僅允許受信任IP訪問Telnet端口(23)。例如,允許IP192.168.1.100
訪問:sudo ufw allow from 192.168.1.100 to any port 23
;若使用iptables,添加規則:sudo iptables -A INPUT -p tcp --dport 23 -s 192.168.1.100 -j ACCEPT
,并保存規則。/etc/xinetd.d/telnet
文件,確保use_tcp_wrappers = yes
;然后編輯/etc/hosts.deny
拒絕所有IP訪問:telnetd: ALL
,編輯/etc/hosts.allow
允許指定IP或網段:telnetd: 192.168.1.0/24
(替換為實際IP/網段)。通過修改Telnet服務配置文件,降低被濫用風險。
/etc/xinetd.d/telnet
文件,添加或修改以下參數:
per_source = 10
:限制每個源IP的并發連接數為10,防止暴力破解;cps = 5 30
:限制每秒連接速率為5次,超過30次則暫停服務(30秒后恢復),抵御DDoS攻擊;disable = no
:確保服務啟用(若需禁用Telnet,設置為disable = yes
)。sudo systemctl restart xinetd
。避免root用戶通過Telnet直接登錄,降低賬戶被破解后的權限提升風險。
/etc/securetty
文件,刪除或注釋掉包含telnet
的行(如pts/0
、pts/1
等),阻止root通過Telnet登錄。實時監控Telnet登錄活動,及時發現異常行為。
/var/log/auth.log
文件,獲取Telnet登錄日志(如grep telnet /var/log/auth.log
);fail2ban
工具,自動封禁多次登錄失敗的IP。配置步驟:sudo apt install fail2ban
,復制配置文件:sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
,編輯jail.local
,啟用SSH防護(若仍使用Telnet,需調整[telnet]
section,但建議優先使用SSH防護)。