保护你的服务器
为了最大限度地降低服务器受到攻击的风险,你可以采取一些措施来关闭攻击者可能访问的大量潜在漏洞。
我要做的第一个更改是禁用 root 用户通过 SSH 登录。 你现在可以无密码地访问 ubuntu
帐户,并且可以通过 sudo
从该帐户运行管理员命令,因此实际上不需要暴露 root 帐户。 要禁用 root 登录,你需要编辑服务器上的 /etc/ssh/sshd_config 文件。 你可能在你的服务器上安装了 vi
和 nano
文本编辑器,你可以用它来编辑文件(如果你不熟悉这两种文件编辑器,可以首先尝试 nano
)。 由于 SSH 配置对普通用户是不可访问的,所以你需要在编辑器命令前添加 sudo
(即 sudo vi /etc/ssh/sshd_config
)。 你需要更改此文件中的单行:
/etc/ssh/sshd_config :禁止 root 登录。
PermitRootLogin no
请注意,要进行此更改,你需要找到以 PermitRootLogin
开头的行(找不到就新建一行)并将该值更改为 no
。
下一个更改在同一个文件中。 现在我要为所有帐户禁用密码登录。 你有一个无密码的登录设置,所以没有必要允许密码。 如果你对完全禁用密码感到紧张,可以跳过此更改,但对于生产服务器来说,这是一个非常好的主意,因为攻击者经常在所有服务器上尝试随机帐户名和密码并希望能中奖。 要禁用密码登录,请在 /etc/ssh/sshd_config 中更改以下行:
/etc/ssh/sshd_config :禁用密码登录。
PasswordAuthentication no
完成编辑 SSH 配置后,需要重新启动 ssh 服务以使更改生效:
$ sudo service ssh restart
我要做的第三个改变是安装 防火墙 。 这是一个阻止在任何未明确启用的端口上访问服务器的软件:
$ sudo apt-get install -y ufw
$ sudo ufw allow ssh
$ sudo ufw allow http
$ sudo ufw allow 443/tcp
$ sudo ufw --force enable
$ sudo ufw status
这些命令会安装 ufw (简单防火墙),并将其配置为仅允许端口 22(ssh),80(http)和 443(https)上的外部通信。 任何其他端口将不被允许。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论