我只能通过本地机器登录 telnet 服务器,你能检查一下我的配置吗?

我只能通过本地机器登录 telnet 服务器,你能检查一下我的配置吗?

我在这台机器上使用 ArchLinux,使用 xinetd 进行配置

/etc/xinetd.d/telnet

        flags                   = REUSE
        socket_type             = stream
        wait                    = no
        user                    = root
        server                  = /usr/bin/telnetd
        log_on_failure          += USERID
        disable                 = no

这是从同一台计算机成功登录:telnet 192.168.1.2(或 localhost)

Apr 15 15:36:22 geo xinetd[4363]: START: telnet pid=4369 from=192.168.1.2
Apr 15 15:36:31 geo login[4370]: pam_unix(remote:session): session opened for user root by .telnet(uid=0)
Apr 15 15:36:31 geo login[4370]: ROOT LOGIN ON pts/3 FROM localhost.localdomain
Apr 15 15:36:35 geo login[4370]: pam_unix(remote:session): session closed for user root

这是从其他计算机进行的失败的 telnet。我不明白为什么远程 IP 也会显示在日志中(第二个,以及每次我在第 2 行启动 telnet 服务器时出现的许多其他外部 IP)

Apr 15 15:42:19 geo xinetd[4363]: START: telnet pid=4382 from=192.168.1.5
Apr 15 15:42:27 geo xinetd[4363]: START: telnet pid=4386 from=114.26.76.231

答案1

在 2018 年使用 Telnet,尽管强烈建议不要这样做;ArchLinux Wiki 上远程登录

Telnet 是通过 TCP 建立远程控制台连接的传统协议。Telnet 是不安全如今主要用于连接旧设备。Telnet 通信很容易被嗅探以获取密码,除非使用 SSH 加密或通过 VPN 隧道传输,否则切勿通过任何不受信任的网络(包括 Internet)进行连接。有关安全替代方案,请参阅 SSH。

在日志中看到这些外部 IP 地址似乎很正常:这些是您在23开放互联网上打开 Telnet 端口时获得的连接尝试。有机器人不知疲倦地扫描此端口。例如,可以通过sudo nc -l -p 23 -v -v在任何公共 IP 上使用来测试这一点:在几秒钟或几分钟内您将获得连接:

listening on [any] 23 ...
198.51.100.10: inverse host lookup failed: Unknown host
connect to [192.0.2.100] from (UNKNOWN) [198.51.100.10] 60061
Login:
tech
Password:
tech
s sent 17, rcvd 12

虽然服务器上已经废弃了 Telnet,但许多路由器、交换机和 IoT 设备仍在使用它。可怕的是,它们同时也是最容易开始使用而无需进行任何实际配置(包括保留默认密码)的设备。这正是那些扫描仍在进行的原因。如果对这个主题更感兴趣,GitHub 上有很多Telnet 蜜罐项目。

你已经看得够多了。现在,你需要固定配置:

/etc/xinetd.d/telnet

        disable                 = yes

相关内容