# 管理員 CMD/PowerShell 執行
tlntadmn config port=2323 # 修改為非常用高位端口 (1024-65535)
# 驗證
tlntadmn config
netstat -an | findstr 2323
# 客戶端連接
telnet 192.168.1.100 2323
⚠️ 局限性:僅增加掃描成本 (Nmap `-p-` 全端口掃描秒級完成),無法防禦流量嗅探/中間人/暴力破解。不可作為唯一防禦手段。
# Windows 防火牆限制 Telnet 服務入站 (管理員 PowerShell)
New-NetFirewallRule -DisplayName "Telnet Restricted Access" -Direction Inbound -LocalPort 2323 -Protocol TCP -RemoteAddress 10.0.0.0/8,192.168.0.0/16 -Action Allow -Profile Domain,Private
New-NetFirewallRule -DisplayName "Telnet Block Others" -Direction Inbound -LocalPort 2323 -Protocol TCP -RemoteAddress Any -Action Block -Profile Domain,Private,Public
原則:僅允許管理網段/跳板機 IP 訪問,拒絕業務網段/互聯網訪問。
# 安裝 OpenSSH Server (管理員 PowerShell)
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
# 配置服務自啟動並啟動
Set-Service sshd -StartupType Automatic
Start-Service sshd
# 防火牆放行 (安裝腳本通常自動添加)
New-NetFirewallRule -Name "OpenSSH Server" -DisplayName "OpenSSH Server" -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
Port 2222 # 修改默認端口
PermitRootLogin no # 禁用 Administrator 直接登錄
PubkeyAuthentication yes # 強制密鑰認證
PasswordAuthentication no # 禁用密碼認證 (配合密鑰部署後)
PermitEmptyPasswords no
MaxAuthTries 3 # 限制嘗試次數
ClientAliveInterval 300 # 保活檢測
ClientAliveCountMax 2
AllowUsers adminuser@10.0.0.0/8 # 限制用戶+來源 IP
Banner /etc/ssh/banner.txt # 法律告警横幅
Subsystem sftp internal-sftp # 僅啟用 SFTP (如不需 Shell)
# 客戶端生成
ssh-keygen -t ed25519 -C "admin@company.com" -f ~/.ssh/id_ed25519_admin
# 公鑰部署到服務器
ssh-copy-id -i ~/.ssh/id_ed25519_admin.pub -p 2222 adminuser@server
# 或手動追加到 C:\Users\adminuser\.ssh\authorized_keys
# 設置權限 (關鍵!)
icacls "C:\Users\adminuser\.ssh\authorized_keys" /inheritance:r /grant "adminuser:R" /grant "SYSTEM:F" /grant "Administrators:F"
icacls "C:\Users\adminuser\.ssh" /inheritance:r /grant "adminuser:R" /grant "SYSTEM:F" /grant "Administrators:F"
原則:生產環境服務器完全不對外開放管理端口
| 特性 | Telnet | Telnet+端口修改+ACL | SSH (密鑰認證+堡壘機) |
|---|---|---|---|
| 機密性 | ❌ 明文 | ❌ 明文 | ✅ AES-256/ChaCha20 加密 |
| 完整性 | ❌ 無 | ❌ 無 | ✅ HMAC-SHA2-256 |
| 認證強度 | ❌ 單因子密碼 | ❌ 單因子密碼 | ✅ 多因子 (密鑰+密碼+硬件密鑰) |
| 審計能力 | ❌ 無 | ❌ 僅連接日志 | ✅ 完整會話錄像/命令審計 |
| 合規性 | ❌ 違規 | ❌ 違規 | ✅ 滿足等保/PCI-DSS/GDPR |
結論:Telnet 屬於考古級協議,任何生產環境都應立即停用並遷移至 SSH + 堡壘機體系。端口修改、ACL 只能作為遷移窗口期的臨時緩解措施,不可長期依賴。