如何彻底保护 Ubuntu 服务器简介

2025-06-08

如何彻底保护 Ubuntu 服务器

介绍

介绍

本教程将帮助您从头开始设置安全的 Ubuntu 服务器。

请记住,这不是一个常见的教程,这是我三年多管理自己的服务器所积累的所有知识的总结。


在我们开始之前

前言

虽然本教程主要针对Ubuntu 20.04,但它也适用于许多其他版本,例如 18.04 和 16.04。因为它们非常相似。

必备条件

  • Ubuntu 服务器
  • 访问您的服务器

无论您的服务器托管在 DigitalOcean、Google Cloud Engine 还是 Amazon Web Services 上,Ubuntu 都应该是一样的。

必备信息

如果您没有服务器,您可能需要查看有用的资源步骤。


更新

第一步,也是最重要的一步,就是始终保持系统更新。只需打开终端,通过apt 命令更新和升级软件包即可。

sudo apt update           # Update package information
sudo apt full-upgrade -y  # Upgrade packages
sudo apt autoremove -y    # Remove unnecessary packages

# One liner
sudo apt update && sudo apt dist-upgrade -y && sudo apt autoremove -y
Enter fullscreen mode Exit fullscreen mode

自动更新

现在软件包已经更新,我们应该安装一个自动化解决方案来确保系统始终保持最新。

Linuxize 上的这个教程将帮助您安装和配置该unattended-upgrades软件包,这正是您所需要的。


新用户

使用默认的超级用户root始终是一种不好的做法,它会以最高级别的权限执行所有操作,从而允许您破坏任何内容;更重要的是...访问系统上的所有内容

相反,我们应该使用具有超级用户权限的普通用户。DigitalOcean上的本教程将指导您执行此操作。


SSH 凭证

现在您有了具有超级用户权限的新用户,您可能想使用它在您的服务器中进行 SSH,但可能会发现您不能这样做

这很可能是因为凭证存储在您之前使用的用户身上root。只需再次使用之前的用户进行 SSH 连接,然后使用实用程序包将凭证复制到新用户即可rsync

按照DigitalOcean 上本教程第 5 步进行操作。


固态混合硬盘

SSHD 管理与服务器的 SSH 连接。它的默认配置很好,但需要进行一些更改,例如禁用root用户登录和更改默认SSH端口。

按照DigitalOcean 上本教程的第一步 来了解如何配置 SSHD。

建议您更改默认SSH端口


UFW

UFW 是 Ubuntu 的默认防火墙,非常有用。默认情况下,它允许http连接ssh,但根据你的使用情况,你可能不需要其中的一些规则。

查看DigitalOcean 上的本教程以了解如何配置 UFW。

如果您SSH在之前的步骤中更改了端口,则可能需要为该端口创建新的 UFW 规则。


失败2Ban

Fail2Ban 保护您免受暴力攻击。它会在指定时间内禁止恶意用户访问服务器。

通过 Linuxize 上的本教程了解如何安装和配置 Fail2Ban


各种各样的

如果您使用任何此类软件,则应该牢记这些快速的具体指南。

Nginx

Nginx 有各种配置文件,它的默认设置非常好,但您可能需要看一看。

使用Acunetix 上的本教程作为起点。

DigitalOcean还提供了一款非常实用的工具,可以让你以可视化的方式配置 Nginx。它包含一些常用的预设,例如 NodeJS 和 PHP 应用程序的预设。

Apache2

Apache 可能需要做更多的工作,因为它的默认设置会泄露有关您的系统的一些信息。

通过Tecmint 的本教程开始您的配置之旅

PHP

数据库

我过去曾使用过 MySQL 和 MariaDB,默认情况下它们的端口是向外部开放的,这是不应该允许的,因为这是一个安全风险。

数据库应该只允许通过本地连接;或者如果在外部运行,则通过白名单 IP 运行。


建议

多库

现在您有了自己的安全基础设施,您可能想要创建应用程序和服务。

Dokku非常适合此目的。它允许您使用简单的 .docker 容器化、构建和运行您的应用程序git push

查看我自己的教程来了解如何设置和使用 Dokku。

有些部分您可能想要跳过,因为它们与本教程类似。


结尾

有用的资源

自我推销

如果您发现本教程有用,那么您应该关注我,我会发布更多有趣的内容!:')

或者在经济上支持我。<3

信用

由于

  • 任何链接的网站和社区,提供精彩的教程和帮助
鏂囩珷鏉ユ簮锛�https://dev.to/alejandroakbal/how-to-completely-secure-an-ubuntu-server-55i2
PREV
使用 git bisect 查找引入 bug 的提交
NEXT
使用 DigitalOcean 上的 Dokku 创建你自己的 Heroku ⚡ 简介