从公共 IP 地址到私有 IP 地址的传入连接

从公共 IP 地址到私有 IP 地址的传入连接

今天我检查了我的 raspberry 的 auth.log(家庭网络中 wrt54gl 后面的私有 IP 地址)。令人惊讶的是,我看到了很多“root 密码输入失败”行。

可以在 SSH 暴力攻击者列表中找到 SRC IP。

当我通过互联网连接到我的树莓派时,我通常会建立一个到我的路由器公共 IP 地址的 ssh 连接,然后连接到树莓派的私有地址。

那么,人们如何才能直接连接到这个只有私有地址的设备呢?

eth0      Link encap:Ethernet  Hardware Adresse b8:27:eb:e5:7a:5b
      inet Adresse:192.168.0.5  Bcast:192.168.0.255  Maske:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
      RX packets:2774178 errors:0 dropped:933 overruns:0 frame:0
      TX packets:5544091 errors:0 dropped:0 overruns:0 carrier:0
      Kollisionen:0 Sendewarteschlangenl▒nge:1000
      RX bytes:457172801 (435.9 MiB)  TX bytes:875979564 (835.3 MiB)

lo        Link encap:Lokale Schleife
      inet Adresse:127.0.0.1  Maske:255.0.0.0
      UP LOOPBACK RUNNING  MTU:65536  Metrik:1
      RX packets:2695 errors:0 dropped:0 overruns:0 frame:0
      TX packets:2695 errors:0 dropped:0 overruns:0 carrier:0
      Kollisionen:0 Sendewarteschlangenl▒nge:0
      RX bytes:725188 (708.1 KiB)  TX bytes:725188 (708.1 KiB)


Jun 15 13:42:12 rpi sshd[15608]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.31  user=root

答案1

操作方法与你相同,假设你使用端口转发。如果你尝试从远程登录你的树莓派,甚至可能使用错误的密码,你应该会在 auth.log 中看到非常相似的一行。

当然,您将连接到分配给路由器外部接口的公共 IP 地址。我假设您在路由器中建立了端口转发,这样任何连接到公共 IP 地址上的特定端口的连接都将被转发到树莓派。在这个特定情况下,我假设您将路由器中的端口 22 转发到树莓派的端口 22。

另一个 IP 地址背后的人的做法也是一样的,可能就像

  • 扫描互联网以查找开放端口的主机
  • 运行一个工具
    • 连接到该主机和端口
    • 尝试使用密码列表登录

或者他可能手动执行此操作并启动他的 ssh 客户端,连接到你的公共 IP 地址、端口 22(该地址将被转发到树莓派),然后简单地尝试常见的用户名/密码组合(pi/raspberry、root/root,...)。

为了避免这种情况,你可以

  • 配置 sshd 使用私钥/公钥认证,而不是密码认证
  • 告诉您的路由器将不同的端口(例如 2222)转发到树莓派的端口 22。请务必调整您的(远程)ssh 客户端,以便您仍然可以连接。
  • knockd在想要使用之前安装并打开端口
  • 安装fail2ban以阻止未经授权的 IP 地址

(有关上述方法的更详细概述,请参阅这里

相关内容