新服务器设置

本文介绍了如何增强服务器安全性,包括更改root密码、安装Fail2ban、创建用户、启用SSH公钥认证、锁定SSH、设置防火墙、启用自动安全更新以及安装Logwatch。这些步骤能有效抵御攻击并简化管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

passwd
将 root 密码更改为长而复杂的密码。您不需要记住它,只需将其存储在安全的地方——只有在您无法通过 ssh 登录或丢失 sudo 密码时才需要此密码。

apt-get update
apt-get upgrade

以上让我们从右脚开始。

安装 Fail2ban

apt-get install fail2ban

Fail2ban 是一个守护程序,它监视对服务器的登录尝试并在发生可疑活动时阻止它。它配置良好,开箱即用。

现在,让我们设置您的登录用户。随意给用户命名除了“deploy”之外的其他东西,这只是我们使用的约定:

useradd deploy
mkdir /home/deploy
mkdir /home/deploy/.ssh
chmod 700 /home/deploy/.ssh

需要公钥认证

密码时代结束了。通过放弃这些密码并 为您的用户帐户使用公钥身份验证,您将一举提高安全性和易用性 。

vim /home/deploy/.ssh/authorized_keys

将您本地机器上的 id_rsa.pub 的内容以及您希望有权访问此服务器的任何其他公钥添加到此文件中。

chmod 400 /home/deploy/.ssh/authorized_keys
chown deploy:deploy /home/deploy -R

测试新用户并启用 Sudo

现在使用部署用户测试您的新帐户登录到您的新服务器(保持终端窗口的 root 登录打开)。如果成功,请切换回 root 用户处于活动状态的终端,并为您的登录用户设置 sudo 密码:

passwd deploy

设置一个复杂的密码——您可以将它存储在安全的地方,或者让它成为团队难忘的东西。这是您将用于 sudo 的密码。

visudo

评论所有现有的用户/组授权行并添加:

root    ALL=(ALL) ALL
deploy  ALL=(ALL) ALL

当部署用户输入正确的密码时,上述内容授予他们 sudo 访问权限。

锁定 SSH

配置 ssh 以防止密码和 root 登录并将 ssh 锁定到特定 IP:

vim /etc/ssh/sshd_config

将这些行添加到文件中,插入您将要连接的 IP 地址:

PermitRootLogin no
PasswordAuthentication no
AllowUsers deploy@(your-ip) deploy@(another-ip-if-any)

现在重新启动 ssh:

service ssh restart

设置防火墙

没有防火墙的安全服务器是不完整的。Ubuntu 提供了 ufw,这使得防火墙管理变得容易。跑:

ufw allow from {your-ip} to any port 22
ufw allow 80
ufw allow 443
ufw enable

这会设置一个基本的防火墙并将服务器配置为接受端口 80 和 443 上的流量。您可能希望根据您的服务器将要执行的操作添加更多端口。

启用自动安全更新

这些年来,我已经 养成了apt-get 更新/升级的习惯,但是在使用了十几台服务器的情况下,我发现我登录频率较低的服务器并没有保持新鲜。特别是对于负载平衡的机器,重要的是它们都保持最新状态。自动安全更新让我有些害怕,但没有未修补的安全漏洞那么严重。

apt-get install unattended-upgrades

vim /etc/apt/apt.conf.d/10periodic
将文件更新为如下所示:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

另一个要编辑的配置文件:

vim /etc/apt/apt.conf.d/50unattended-upgrades

将文件更新为如下所示。您可能应该禁用更新并仅坚持使用安全更新:

Unattended-Upgrade::Allowed-Origins {
        "Ubuntu lucid-security";
//      "Ubuntu lucid-updates";
};

安装 Logwatch 以监视事物

Logwatch 是一个守护进程,用于监控您的日志并将其通过电子邮件发送给您。这对于跟踪和检测入侵很有用。如果有人访问您的服务器,通过电子邮件发送给您的日志将有助于确定发生了什么以及何时发生——因为您服务器上的日志可能已被泄露。

apt-get install logwatch

vim /etc/cron.daily/00logwatch
添加这一行:

/usr/sbin/logwatch --output mail --mailto test@gmail.com --detail high

全做完了!

在短短几分钟内,我们就锁定了一台服务器并设置了一个安全级别,该级别应该可以抵御大多数攻击,同时又易于维护。归根结底,几乎总是用户错误导致闯入,因此请确保将这些密码保存得长且安全!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值