0
点赞
收藏
分享

微信扫一扫

Linux 服务器的基本安全配置

当你新开通一台 Linux 服务器时,可以通过如下几点保证安全。

以 Ubuntu 系统为例:

1、修改 root 账户密码

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

passwd

2、保持内核最新

# 检索新的软件包列表
apt-get update

# 执行升级
apt-get upgrade

3、安装 Fail2ban

​Fail2Ban​​ 是一款入侵防御软件,可以保护服务器免受暴力攻击。 它是用 Python 编程语言编写的。 ​​Fail2Ban​​ 基于 ​​auth​​ 日志文件工作,默认情况下它会扫描所有 ​​auth​​ 日志文件,如 ​​/var/log/auth.log​​、​​/var/log/apache/access.log​​ 等,并禁止带有恶意标志的IP,比如密码失败太多,寻找漏洞等等标志。

如果找到,它将更改防火墙规则以永久或在指定的时间内拒绝攻击者的IP地址。 它也会发送邮件通知。 Fail2Ban 为各种服务提供了许多过滤器,如 ​​ssh​​、​​apache​​、​​nginx​​、​​squid​​、​​named​​、​​mysql​​、​​nagios​​ 等。

Fail2Ban 能够降低错误认证尝试的速度,但是它不能消除弱认证带来的风险。 这只是服务器防止暴力攻击的安全手段之一。

可以通过以下命令来安装Fail2ban:

sudo apt-get install fail2ban

然后复制包含的配置文件:

$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

并重新启动Fail2ban:

$ sudo service fail2ban restart

该软件将持续检查日志文件,寻找攻击。一段时间后,该应用程序将建立一个相当多的被禁止的IP地址列表。您可以通过使用以下命令请求SSH服务的当前状态来查看此列表:

$ sudo fail2ban-client status ssh

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账户登录和密码登录

为你的帐户使用公钥身份验证,将大大提高账户的安全性和易用性。

参考文档[1]

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

引用链接

​[1]​​ 参考文档: ​​https://www.muouseo.com/article/qk2vmoep0m.html​

举报

相关推荐

0 条评论