hou*_*oft 9 security linux ssh
我已经运行了一些服务器相当长的时间,但我总是只租用它们,所以我没有太多保护实际服务器的经验(与我在其上运行的应用程序相反)。
现在我想将我的小型家庭 SSH 服务器开放到互联网。
我将是唯一一个使用它的人,我的密码足够复杂,我已将默认 SSH 端口更改为 4000 左右,唯一可访问的端口是通过我的路由器/防火墙上的端口转发的此 SSH 端口,并且它已更新每天晚上自动运行(它运行 Arch Linux,一个滚动发行版)。
如果有的话,我应该做些什么来保证它的安全?
谢谢!
chx*_*chx 22
确保禁用 root 登录PermitRootLogin no
。我也会考虑完全禁用密码PasswordAuthentication no
并使用公钥PubkeyAuthentication yes
。
确保只允许使用 SSH-2(因为 SSH-1过去曾引起一些安全问题):
Protocol 2
Run Code Online (Sandbox Code Playgroud)
指定哪些是唯一允许通过 SSH 登录的用户:
AllowUsers bob, john
Run Code Online (Sandbox Code Playgroud)
为了提高安全性,禁止密码身份验证并使用公钥身份验证:
PasswordAuthentication no
PubkeyAuthentication yes
Run Code Online (Sandbox Code Playgroud)
注意:本教程包含有关创建密钥和配置公钥身份验证的说明。
除了有关禁用 root 登录或仅使用公钥身份验证的要点外,我还会仔细检查系统上是否没有用户帐户具有简单或空密码。您已经说过您的个人密码没有问题,但这并不排除因其他原因创建的密码错误的帐户。
举个例子:我必须修复一个网络,以前的管理员从源代码在他的所有系统上安装了 nagios,并创建了一个没有密码或密码为“nagios”的 nagios 用户,然后继续获得三台不同的机器妥协了。