我有一台 CentOS 家庭服务器,用于各种用途,它位于路由器后面的家庭网络中。通常,当我想远程执行某些操作时,我会使用 VPN(我的路由器具有我使用的内置 OpenVPN 服务器功能)并从那里进行操作。
无论如何,我在想我可能只是向我的服务器开放端口 22,这样我就不必先连接 VPN 客户端了。我已禁用密码登录,而是使用 ssh 密钥进行连接。
按照我所描述的设置打开 22 端口进行 SSH 连接会不会特别危险?我知道会的更多的危险,但我并不是美国国家安全局,因为没有一大群人急于进入我的网络,所以我只是好奇额外的风险是否很大。
答案1
按照我所描述的设置,打开端口 22 进行 SSH 连接是否特别危险?
不,没问题。只要密码验证被禁用,就不用担心。
有些人喜欢在非标准端口上运行 SSH。这与其说是一种安全措施,倒不如说是一种减少身份验证日志噪音的方法,因为绝大多数 ssh 暴力破解脚本只会尝试连接到默认端口。
答案2
只要您的 CentOS 系统安装了最新的补丁,即系统上没有运行较旧版本的 sshd,就应该没问题。关于您所说的“没有一群人急于进入我的网络”,如果您检查对端口 22 的连接尝试你可能会感到惊讶。如果你在默认端口 22 上运行 SSH,那么你应该预料到,每天会有世界各地的人试图通过 SSH 访问你的系统。我也有一台家用 CentOS 服务器,每天都会看到数千次尝试;过去 12 小时内,来自 109 个唯一 IP 地址的尝试次数约为 14,000 次。当我检查 /var/log/secure 时,大多数尝试通常都是针对 root 或 admin 用户 ID 的,尽管我也看到许多其他用户 ID 的 SSH 登录尝试。
当我在系统上运行 FTP 服务器时,我会监视通过克里普并且可以看到字典攻击每天都会用姓名字典作为用户 ID,并用英语字典和常用密码作为密码。这些情况每天都在发生,我观察到世界各地(例如巴西、中国、美国等)有多达六个系统同时进行此类攻击。
您不允许密码登录,因此不必担心系统上的任何帐户有密码强度低为攻击者提供进入系统的入口点,但您仍应意识到,互联网上有成千上万的系统正在扫描巨大的 IP 范围,寻找易受攻击的系统。有时,他们正在寻找一个包含财务或其他信息的系统,可以利用这些信息;有时,他们寻找易受攻击的系统,这些系统可用作攻击其他系统的发射台,同时隐藏攻击者计划的任何邪恶行为的真正起源点。
答案3
如果您需要保护任何东西(考虑到您已配置了基于密钥的 SSH 设置和 VPN,这似乎合乎逻辑),请尽最大努力确保其安全。更改端口可以减少自动攻击,那么既然更改端口如此容易,并且在连接时如此容易指定,为什么还要冒险呢?我会选择其中之一(以减少攻击媒介),并使用一切可能的手段来保护您决定保留的连接。两者都提供类似的功能,那么哪一个更容易使用?
对于家庭设置,我更喜欢使用 SSH,而不是网络中可以分支隧道的机器。就安全性而言,我更相信 CentOS 机器上的 SSH,而不是零售路由器上的 OpenVPN。此外,您不必担心您的家庭网络与您连接的位置位于同一子网中,这是一个常见的 VPN 问题。