教程简介:
当你新开通一台 Linux 服务器时,可以通过如下几点保证安全。
以 Ubuntu 系统为例:
1、修改 root 账户密码
将 root 密码更改为长而复杂的密码。您不需要记住它,只需将其存储在安全的地方。只有在您无法通过 ssh 登录账户 或丢失登录账户的 sudo 密码时才需要此密码。
passwd
2.保持内核最新
# 检索新的软件包列表
apt-get update
# 执行升级
apt-get upgrade
3、安装 Fail2ban
Fail2ban 是一个守护程序,用于监控对服务器的登录尝试,并在发生可疑活动时阻止它。它已经配置好了,安装后可以直接使用。
apt-get install fail2ban
4、创建登录用户并为其创建 sudo 权限
我们一般给服务器配置两个用户:root 和 deploy。deploy 帐户是开发人员登录的帐户,给 deploy 配置密码、赋予 sudo 权限。
# 创建用户
$ useradd -m deploy
# 设置用户密码
$ passwd deploy
使用 visudo 命令设置 sudo 权限,visudo 命令是使用 vi 打开/etc/sudoers 文件,但是在保存退出时,visudo 会检查内部语法,避免用户输入错误信息
sudo visudo # 保存时会做语法检查
进入编辑模式,找到这一行:
root ALL=(ALL) ALL 在其下面添加 deploy ALL=(ALL) ALL ,然后保存退出。
5、配置公钥认证登录并禁止 root 账户登录和密码登录
为你的帐户使用公钥身份验证,将大大提高账户的安全性和易用性。
6、设置防火墙
没有防火墙,服务器是不安全的。 Ubuntu 提供了 ufw,它使防火墙管理变得容易:
ufw allow from {your-ip} to any port 22
ufw allow 80
ufw allow 443
ufw enable
这将设置一个基本防火墙,并将服务器配置为接受端口 80 和 443 上的流量。您可能希望添加更多端口,具体取决于服务器将要执行的操作。
7、启用自动安全更新
多年来,我已经养成了 apt-get update/upgrade 的习惯,但当有十几台服务器时,我发现我登录频率较低的服务器并没有保证及时的更新。特别是对于负载平衡的机器,它们都保持更新是很重要的。虽然自动安全更新让我有些不放心,但服务器存在未修补的安全漏洞会导致更加严重的后果。
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";
};
8、安装 Logwatch 来监视你的服务器
Logwatch 是一个监控您的日志并将其通过电子邮件发送给您的守护程序。这对于跟踪和检测入侵很有用。如果有人非法访问您的服务器,通过电子邮件发送给您的日志将有助于确定发生了什么以及何时发生 – 因为您服务器上的异常日志可能已被清除。
apt-get install logwatch
vim /etc/cron.daily/00logwatch
添加这一行:
/usr/sbin/logwatch --output mail --mailto test@gmail.com --detail high
转载请注明:汇站网 » Linux 服务器基本安全配置