Group 1219

博客

Search
Vector 10
Microsoft Teams Image 81 9acda5c3d0

如何在 Zenlayer 裸机云上保护 Linux 服务器

关于作者:

Seagle Yang 是 Zenlayer 的产品架构师和常驻裸机云专家,已在 Zenlayer 工作超过 5 年。作为一名业务解决方案架构师,他在系统和网络设计以及管理方面拥有超过 20 年的行业经验。Seagle Yang 喜欢接受新的技术挑战,以便在克服挑战的过程中不断学习新技能。

引言:

大家好!今天我们将介绍如何在 Zenlayer 裸机上保护您的 Linux 服务器。保护服务器对于保护敏感数据和确保系统顺畅运行至关重要。

要保护您的 Linux 服务器,请按照以下步骤操作!

 

1. 配置合适的登录方式

在创建裸机实例时,我们提供了三种登录方式供您选择:

系统生成的根(root)密码:系统生成的根密码将通过电子邮件发送给您。

SSH 密钥:上传您的公钥,这将启用 SSH 密钥身份验证并禁用密码登录。

设置自己的密码:手动配置您的 SSH 登录密码。我们的 zenConsole 控制台会为您检查其复杂性。

我更倾向于使用 SSH 密钥方法,因为它可以阻止密码登录尝试,并消除暴力破解攻击的可能性。正如这张系统日志的截图所示,在 10 分钟内就有多个使用不同用户名的登录尝试失败。

在操作系统安装过程中选择 SSH 密钥作为登录方式时,密码身份验证将被禁用,密钥身份验证将成为登录服务器的唯一方式。您可以点击“+Add”按钮添加多个 SSH 密钥。

 

2. 实施防火墙和网络安全措施

设置防火墙以控制入站和出站流量。实施防火墙有多个选项,最常用的软件包括 iptables 和 firewalld。下面是一个 iptables shell 脚本的示例,它阻止所有入站流量,但允许用于 SSH 登录的 22 端口,并允许您的服务器发起的所有出站流量——这至关重要,因为您的服务器可能需要连接到软件安装或升级的存储库。

___________________________________

#!/bin/bash

iptables -F

iptables -P INPUT DROP

iptables -P OUTPUT ACCEPT

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -p tcp -m tcp –dport 22 -j ACCEPT

iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

___________________________________

firewalld 在语言和解释方面更加用户友好。您可以将不同的接口分配给不同的区域,并对相应的区域应用规则。以下是一些示例:

___________________________________

#Assigning an interface to a zone:

firewall-cmd –permanent –zone=public –change-interface=eth0

firewall-cmd –permanent –zone=home –change-interface=eth1

#Setting a rule for public zone which permits https(TCP 443)

firewall-cmd –zone=public –permanent –add-port=443/tcp

#如果您在运行时进行了任何更改,这将把当前的运行配置保存到永久设置中。

firewall-cmd –runtime-to-permanent

#Remember to reload firewalld to activate new rules.

firewall-cmd –reload

___________________________________

要检查哪些端口是开放的以及是否有活动会话连接到这些端口,您可以运行命令“ss -lna”。输出将显示任何监听端口和已建立的连接。以下是一张截图,显示我的服务器在互联网上的 TCP 端口 22(SSH)上正在监听,并且有一个来自以 236 结尾的 IP 地址的活动会话。如果您想要更多详细信息,包括每行的进程名称和 PID,您可以运行命令“ss -lnap”。

 

 

3. 确保所有软件都是最新版本

保持所有软件(包括操作系统、应用程序和插件)更新到最新版本至关重要,以便修补任何漏洞。

我更喜欢 Ubuntu 系统,因为它有一个有用的 MOTD(每日消息),会提醒您是否有可用的安全更新:

如果您想手动更新,以下是快速指南:

a.更新您的包管理器:运行以下命令来更新您的包管理器:

___________________________________

对于基于 Debian 的系统:
sudo apt-getupdate

对于基于Red Hat的系统:

sudo yum update

___________________________________

b. 升级已安装的软件包:在更新软件包管理器后,运行以下命令将所有已安装的软件包升级到它们的最新版本:

___________________________________

对于基于 Debian 的系统:
sudo apt-getupgrade

对于基于Red Hat的系统:
sudo yum upgrade

___________________________________

c. 安装安全更新:运行以下命令以安装任何安全更新:

___________________________________

对于基于 Debian 的系统:
sudo apt-get dist-upgrade

对于基于Red Hat的系统:
sudo yum update –security

___________________________________

 

4. 为您的系统设置自动更新(如果适用)

这通常可以通过软件包管理器或系统设置界面完成,尽管具体步骤可能会根据您的发行版而有所不同。例如,在Ubuntu中,您可以按照官方帮助文档配置自动更新:AutomaticSecurityUpdates – Community Help Wiki

最后的思考

实施这些最佳实践可以显著提高服务器系统的安全性,并减少未经授权的访问、数据泄露和其他安全事件的风险。然而,重要的是要记住,网络攻击每天都在发生。除了技术配置外,还需要其他政策和程序来确保长期的安全性,例如定期安全审计、备份和用户身份管理程序。

分享:

下载白皮书