Bru*_*ick 5 linux security ssh centos
有时我没有静态 IP,需要远程管理我的 Web 服务器。我正在寻找可以添加的任何额外保护层,以使打开端口 22 更安全。
目前我已禁用通过 SSH 的 root 密码登录。它需要 RSA 密钥才能登录(私钥存储在 USB 智能卡上)。
如果端口 22 向公众开放,我的配置是否存在任何已知风险?除了22端口外,iptables只有80端口和443端口对外开放。
我正在使用 Windows 计算机通过 Putty 连接到 Centos 6 Linux。
是否有任何其他语句可以添加到防火墙或 SSH 配置中以进一步限制对端口 22 的访问仅限于我的特定计算机,以便该端口不会对扫描端口的人开放?我目前正在使用 iptables 作为防火墙。
您现有的配置看起来非常安全。但是,您还可以使用其他方法来限制访问。
端口敲门可用于保持端口在大部分时间关闭。这是使用 实现的iptables。有可以使用的守护进程,或者可以按照Shorewall 文档iptables中的描述完全实现规则。
如果启用了 tcp 包装器。/etc/hosts.allow 中的一些规则(如下所示)将在远程连接到deamon. 第一条规则让本地连接静默工作,适当调整 IP 地址范围。第二条规则阻止来自反转为多个国家/地区 TLD 的地址的访问,并为每个成功的连接通过电子邮件发送一条消息。如果您不使用端口敲门,则可能会很吵。
sshd : 10.0.0.0/8 192.168.0.0/24
sshd : ALL \
EXCEPT .ar .au .br .by .cl .co .cz .do .eg .gt \
.id .il .in .jp .ma .mx .nl .pe .pk .pl .pt \
.ro .rs .ru .sa .sg .tr .tw .ua .vn .za \
.ae .at .bg .gh .hr .hu .ke .kz .lt .md \
.my .no .sk .uy .ve : \
spawn (/bin/echo "SSH connection to %N from %n[%a] allowed" | \
/usr/bin/mailx -s "SSH Allowed" you@example.com)
Run Code Online (Sandbox Code Playgroud)
fail2ban规则可用于暂时将试图暴力破解您的服务器的主机列入黑名单。当我将 ssh 暴露到互联网上时,我偶尔会看到一些尝试。