1. 限制訪問范圍
通過防火墻(如ufw或iptables)嚴格限制Telnet服務(默認端口23)的訪問源,僅允許可信IP地址或網絡段連接。例如,使用ufw執行sudo ufw allow from 192.168.1.0/24 to any port 23
(允許192.168.1.0/24網段訪問),或用iptables添加sudo iptables -A INPUT -p tcp --dport 23 -s 192.168.1.0/24 -j ACCEPT
(允許指定網段)及-j DROP
(拒絕其他IP)規則。此外,可通過xinetd配置文件(/etc/xinetd.d/telnet
)中的only_from
參數進一步限定訪問來源,如only_from = 192.168.1.100
(僅允許單個IP)。
2. 使用TCP Wrappers增強訪問控制
安裝TCP Wrappers(sudo apt install tcpd
),通過/etc/hosts.deny
和/etc/hosts.allow
文件實現基于IP/主機名的訪問控制。通常,在/etc/hosts.deny
中添加ALL: telnetd
(拒絕所有IP訪問Telnet服務),在/etc/hosts.allow
中添加允許的IP或網段(如192.168.1.100: telnetd
、localhost: telnetd
),實現“默認拒絕+白名單”的安全策略。
3. 禁止root用戶直接登錄
編輯PAM認證模塊配置文件(/etc/pam.d/login
),注釋掉auth requisite pam_securetty.so
行(該配置限制root只能從安全終端登錄),避免root用戶通過Telnet直接登錄系統。修改后需重啟xinetd服務(sudo systemctl restart xinetd
)使更改生效。
4. 配置日志記錄與監控
開啟Telnet服務的詳細日志記錄,便于后續審計異常行為。編輯/etc/xinetd.d/telnet
文件,添加log_on_success += DURATION USERID
(記錄成功登錄的持續時間、用戶ID)和log_on_failure += USERID
(記錄失敗登錄的用戶ID)參數。同時,定期查看系統認證日志(/var/log/auth.log
),通過sudo tail -f /var/log/auth.log
實時監控登錄嘗試。
5. 使用強密碼策略
若需保留密碼認證,需為用戶設置復雜密碼(包含大小寫字母、數字、特殊字符,長度不少于8位),避免使用弱密碼??赏ㄟ^passwd
命令為用戶修改密碼(如sudo passwd telnetuser
),并定期提醒用戶更換密碼。
6. 推薦使用SSH替代Telnet
由于Telnet傳輸數據為明文(易被竊聽、篡改),強烈建議遷移到SSH(安全外殼協議)。安裝SSH服務(sudo apt install openssh-server
),啟動并啟用SSH(sudo systemctl start ssh
、sudo systemctl enable ssh
),然后通過ssh username@hostname
命令替代Telnet進行遠程連接。SSH提供加密傳輸、密鑰認證(更安全)、端口轉發等功能,顯著提升遠程訪問的安全性。