了解如何保护您的 Linux VPS将帮助您避免各种网络威胁和攻击。但是,这不是一次性的任务——除了应用优秀安全实践之外,您还必须持续监控您的虚拟专用服务器。考虑到这一点,我们将深入研究 Linux 安全性及其常见弱点。我们还将讨论 15 个 VPS 安全提示,以防止对您的虚拟服务器进行网络攻击。
Linux 安全性和常见弱点
尽管 Linux 以其安全系统而闻名,但它也存在一些漏洞。许多安全威胁可能会损坏服务器的安全性和数据。
让我们详细查看最常见的威胁和弱点列表:
- 恶意软件——是指故意设计用于损害计算机及其操作系统的侵入性软件。它有多种形式,包括木马、勒索软件、病毒和间谍软件。
- 嗅探攻击——当黑客使用数据包嗅探器拦截并从网络中提取数据时发生。
- 蛮力攻击- 一种黑客攻击方法,涉及攻击者使用试错法来猜测登录凭据。
- SQL 注入– 当黑客利用 Web 应用程序中的代码来访问服务器的数据库时,就会发生这种情况。
- 跨站脚本 (XSS) – 一种客户端攻击,在此期间黑客将恶意代码注入网站。
- 没有功能级别的控制——服务器可能会因为没有正确验证访问权限而导致它,给普通用户root权限。
- 身份验证失败- 通常由于未加密的数据、弱密码或设置不当的应用程序会话超时而发生身份盗用。
在实施任何安全措施之前,请让自己了解应监控的元素。这里是其中的一些:
- VPS主机安全
- 服务器软件
- SSH 连接
- 根访问和登录
- 密码和凭据
- 防火墙
- FTP 连接
- 用户权利和特权
- 服务器日志
保护服务器安全的 15 个 VPS 安全提示
本节包含 15 个保护您的VPS 主机的安全提示。
1.研究您的虚拟主机安全性
您选择的托管服务提供商需要拥有强大的安全基础设施并提供额外的保护以确保您的服务器安全。在 Hostinger,我们提供高级安全模块来保护我们的 VPS,例如 mod_security、防火墙、Suhosin PHP 加固和 PHP open_basedir 保护。
此外,Hostinger 利用 BitNinja 的全栈服务器保护和内置的高级 DDoS 缓解来增强 VPS 安全性。对于共享托管服务器,我们提供 Monarx 反恶意软件。
此外,Hostinger 提供自动定期备份和实时快照,您可以使用它来立即恢复您的网站,以防网站出现故障。
2.更改默认SSH端口
如果您仍然使用端口 22 通过 SSH 连接访问您的虚拟服务器,则很有可能会发生黑客攻击。这是因为攻击者可以扫描开放端口以执行暴力攻击并获得对服务器的远程访问。
我们建议为 SSH 使用不同的端口来保护您的数据免受网络攻击。
以下是更改 SSH 端口的方法:
- 打开终端并登录到 SSH。
- 通过运行以下命令编辑服务配置文件:
纳米 /etc/ssh/sshd_config
- 找到读取Port 22的行。
- 用新的端口号替换22并删除#。
- 保存更改并退出。
- 通过插入以下命令并按Enter重新启动服务:
- 对于 Debian 和 Ubuntu
服务 ssh 重启
- 对于 CentOS 和 Red Hat Enterprise Linux (RHEL)
systemctl 重启 sshd.service
- 最后,尝试使用新端口登录 SSH。
3.禁用根登录
每个 Linux VPS 都有一个 root 用户,与系统的其他用户相比,该用户拥有最多的权限。网络犯罪分子可能会瞄准他们以获得对服务器的完全访问权限。
因此,禁用 root 用户登录以保护您的服务器免受暴力攻击至关重要。我们还建议创建一个具有执行根级别命令权限的替代用户名。
请按照以下步骤禁用 root 登录:
- 打开终端并登录到您的 SSH 帐户。
- 要打开和编辑配置文件,请使用 nano 或 vi 运行以下命令:
纳米 /etc/ssh/sshd_config
- 找到以下参数并将其更改为no:
PermitRootLogin=否
- 通过运行以下命令保存更改并重新启动 SSH 服务:
- 对于 Debian 和 Ubuntu
服务 ssh 重启
- 对于 CentOS 和 Red Hat Enterprise Linux (RHEL)
systemctl 重启 sshd.service
- 这将禁用 root 登录。
4. 使用强密码
包含与您的身份或简单密码短语相关的信息的密码很容易被猜到。因此,创建一个包含多个元素的长而强的密码,例如大小写字母、数字和特殊字符。这样做将保护您的系统免受暴力攻击。
此外,不要重复使用相同的密码。
您还可以使用NordPass或LastPass等在线工具来创建强密码。两者都提供自定义选项,例如限制密码长度和字符的使用。
5. 开始使用 SSH 密钥
如果您仍然使用密码登录您的 SSH 帐户,您可能会成为嗅探攻击的目标。为避免这种情况,请改用SSH 密钥。从本质上讲,SSH 密钥是一种比密码更安全的身份验证方法。
当计算机生成这些密钥时,它们的长度可达 4096 位,这使得它们比密码更长、更复杂。
SSH 密钥分为两组——公共的和私人的。前者保存在服务器上,而后者保存在用户的机器上。当检测到登录尝试时,服务器将生成一个随机字符串并使用公钥对其进行加密。加密消息只能使用关联的私钥解密。
以下是在 Linux 服务器上生成 SSH 密钥的方法:
- 打开终端应用程序并登录到 SSH。
- 要生成公钥和私钥,请键入以下命令并按Enter:
ssh-keygen -t rsa
- 出现回复后,按 Enter:
输入保存密钥的文件 (/root/.ssh/id_rsa):
- 系统将提示您填写密码短语两次。如果没有,可以按两次Enter 。
输入密码(无密码为空):
再次输入相同的密码:
- 您的私钥和公钥现在已成功保存。
6. 设置内部防火墙(IP 表)
由于 HTTP 流量可以来自任何地方,因此必须对其进行过滤以确保只有具有良好声誉的访问者才能访问您的系统。这样做将帮助您避免不必要的流量和 DDoS 攻击。
Linux 发行版附带一个名为iptables的内部防火墙服务。该工具使用表格监控来自和到达您的服务器的流量。它使用称为链的规则来过滤传入和传出的数据包。
使用它,您可以根据需要调整防火墙限制。以下是如何在 Ubuntu 上安装和检查 iptables 的当前配置:
- 打开终端并登录到 SSH。
- 通过运行以下命令安装 iptables:
sudo apt-get install iptables
- 安装完成后,输入以下命令并回车:
sudo iptables -L -v
- 输出将包括详细格式的所有规则列表。
7. 配置你的 UFW 防火墙
我们建议启用简单防火墙 (UFW)作为附加层来控制系统的入站和出站流量。它是一个易于使用的 netfilter 防火墙。
UFW 充当 iptables 的前端,通常预装在 Linux 发行版上。通常,它将拒绝所有传入连接并允许传出连接,从而降低潜在威胁的风险。此外,您可以根据自己的喜好修改和添加防火墙规则。
以下是在 Ubuntu 上启用它的方法:
- 打开终端并通过 SSH 连接。
- 键入以下命令以启用 UFW 并按Enter:
sudo ufw 启用
- 如果回复表明找不到该命令,请使用以下命令安装防火墙:
sudo apt-get install ufw
- 安装完成后,运行第二步中的命令以启用 UFW。
- 使用以下命令验证防火墙状态:
须藤 ufw 状态
8. 使用 SFTP 而不是 FTP
虽然 FTP 连接未启用加密,但 FTP over TLS (FTPS) 仅加密凭据而不加密文件传输。
因此,同时使用这两种连接可能会使您的数据面临风险。黑客可以轻松执行嗅探攻击以窃取您的登录凭据并拦截文件传输。
为避免这种情况,请改用 FTP over SSH 或SFTP。这是一个安全的 FTP 连接,因为它完全加密了所有数据,包括正在传输的凭据和文件。此外,SFTP 可以保护用户免受中间人攻击,因为客户端在访问系统之前需要通过服务器的身份验证。
请按照以下步骤设置 SFTP 连接:
- 打开终端并登录到 SSH。
- 通过输入此命令并按Enter启动 SFTP 连接:
sftp 用户@server_ipaddress
或者
sftp 用户@remotehost_domainname
- 如果您使用的是自定义端口,请运行以下命令:
sftp -oPort=customport 用户@server_ipaddress
或者
sftp -oPort=customport 用户@remotehost_domainname
- 连接后,将出现 SFTP 提示。
9. 设置 Fail2Ban
Fail2Ban是在多次登录失败后监控系统日志并阻止黑客的软件。此外,它还保护服务器免受 DoS、DDoS、字典和暴力攻击。Fail2Ban 使用 iptables 和 firewalld 来禁止 IP 地址。
按照以下步骤在 Ubuntu 上设置 Fail2Ban 软件包:
- 打开终端并启动 SSH 连接。
- 通过输入以下命令并按Enter安装 Fail2Ban 软件包:
sudo apt-get install fail2ban
- 将出现以下输出。键入Y并按Enter。
你想继续吗?[是/否] 是
- 安装完成后,通过运行以下命令验证状态:
sudo systemctl status fail2ban
- Fail2Ban 软件应该处于活动状态并正在运行。
10.安装防病毒软件
除了设置防火墙来过滤传入流量之外,还可以考虑监控存储在 VPS 上的文件。由于 Linux 并非天生对病毒攻击免疫,因此网络威胁可能会针对您的服务器并损坏您的数据。
因此,安装防病毒软件作为安全强化实践至关重要。有很多可用的选项,但最值得注意的是ClamAV。它是开源的,用于检测可疑活动和隔离不需要的文件。
按照以下说明在 CentOS 上安装 ClamAV:
- 打开终端并登录到 SSH。
- 通过运行以下命令为 Enterprise Linux (EPEL) 安装 Extra Packages:
sudo yum -y install epel-release
- 完整!输出将发出 EPEL 安装完成的信号。
- 通过键入以下命令并按Enter清除所有缓存信息:
须藤百胜清理所有
- 通过运行以下命令安装 ClamAV:
sudo yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
- 期待另一个完整的!行知道安装何时完成。
- ClamAV 现在应该已启动并运行。
11. 为您的 VPS 设置 VPN
如果您使用公共连接,则很有可能有人会拦截您的流量并窃取您的数据。
为避免这种情况,我们建议设置 VPN以应对安全威胁。它将通过加密隧道路由您的流量并掩盖您的实际位置,因为您的机器将使用 VPN 的 IP 地址。这也将允许您在浏览互联网时保持匿名,因为您的 IP 将无法追踪。
简而言之,VPN 可以保护您的数据安全并防止黑客拦截您的流量。它与防火墙携手合作,提供额外的 VPS 安全性。
专家提示
VPN 对居住在有基于位置限制的地区的用户也有好处,因为它可以让他们更改 IP 以绕过***。
按照以下步骤在 CentOS 上安装 OpenVPN:
- 打开终端并使用 SSH 连接。
- 在安装 OpenVPN 之前安装 net-tools 包。运行此命令:
须藤百胜安装网络工具
- 输入以下 curl 命令以下载 OpenVPN 包并按Enter:
curl -O http://swupdate.openvpn.org/as/openvpn-as-2.7.3-CentOS7.x86_64.rpm
- 通过运行以下命令打印 SHA256 校验和以验证安装:
sha256sum openvpn-as-*
- 输出将打印校验和,如下所示:
- 将下载的二进制校验和与网站上提供的校验和进行比较。如果它们匹配,您可以使用以下命令开始安装 OpenVPN:
sudo rpm --install openvpn-as-*.rpm
- 安装完成后,您将获得 Admin UI 和 Client UI 详细信息,如下所示:
- 接下来,使用以下命令设置密码:
密码openvpn
- 系统将提示您重新输入新密码。
- 访问管理员或客户端 UI 以访问以下屏幕:
- 输入用户名openvpn和刚刚设置的密码,然后按Sign In。
12. 审查用户权利
如果许多用户使用您的 VPS 托管,则需要仔细考虑控制权和权限的分配。为所有用户提供根级别权限可能会使您的资源使用和敏感数据面临风险。
因此,您需要设置访问限制以防止服务器出现问题。这可以通过管理用户并授予他们对特定文件和资源集的不同级别的权限来完成。
Linux 具有系统权限功能,可帮助您定义用户权限。为此,请为具有相同权限的用户创建一个组。
以下是在 Ubuntu 上管理用户及其权限的方法:
- 打开终端并通过 SSH 连接。
- 输入以下命令创建组,然后按Enter:
sudo addgroup my_group
- 接下来,通过运行以下命令创建一个新用户:
adduser first_user
- 输出将提示您设置密码并填写简历,例如全名、房间号和电话。键入y并按Enter确认输入的信息。
- 要将用户添加到组,请运行以下命令。请注意,它不会产生任何输出。
sudo usermod -a -G group1,group2 first_user
- 如果要授予用户 root 访问权限,请运行以下命令。请记住,这也不会产生任何输出。
sudo usermod -aG sudo first_user
- 另一方面,如果您有一个目录并想为其添加读写权限,则基本语法如下:
sudo chmod -R g+w /目录
13.禁用IPv6
启用 IPv6 会暴露安全漏洞,并使您的 VPS 托管容易受到各种网络攻击。如果您没有积极使用它,我们建议您完全禁用它。
由于黑客经常通过 IPv6 发送恶意流量,因此让协议保持开放可能会使您的服务器面临许多潜在的安全漏洞。即使您没有积极使用 IPv6,您的某些程序也可能会在其上打开侦听套接字。因此,每次数据包进来时,他们都会对其进行处理,包括恶意数据包。
按照以下说明在 Ubuntu 上禁用 IPv6:
- 打开终端并登录到 SSH。
- 键入以下命令以禁用 IPv6,然后按Enter:
须藤纳米 /etc/sysctl.d/99-sysctl.conf
- 配置文件将打开。在底部添加以下行:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
- 保存并关闭文件。
- 接下来,运行以下命令来执行更改:
sudo sysctl -p
- 最后,插入以下命令并按Enter。如果您看到 1,则表示 IPv6 已成功禁用。
猫 /proc/sys/net/ipv6/conf/all/disable_ipv6
14.监控你的服务器日志
监控您的服务器日志可以帮助您控制您的 VPS 托管所发生的事情。这些日志还可用于分析和报告,以获取有关服务器当前状态的详细信息。
服务器日志将让您知道服务器是否正在遭受网络攻击或其他安全威胁。这些漏洞越早修复,攻击者拦截数据的机会就越少。
Linux 系统上的关键目录之一称为/var/log。它存储一组日志文件,其中包含与系统、内核、包管理器和服务器上运行的各种应用程序相关的关键信息。
以下是如何在 Ubuntu 服务器上打开/var/log并检查系统日志:
- 打开终端并登录到 SSH。
- 运行以下命令将工作目录更改为/var/log。请记住,这不会产生任何输出。
cd /var/log
- 要列出所有文件,请插入以下命令并按Enter:
ls
- 要检查系统日志,请输入以下命令并按Enter:
须藤猫系统日志
15. 使您的应用程序保持最新
您的 VPS 使用的软件越旧,它就越容易受到攻击。开发人员通常会定期发布更新和安全补丁。请务必留意您的软件的最新版本,并在它们可用时立即安装。
以下是在 Debian 或 Ubuntu 上的操作方法:
- 如果要更新整个包列表,请运行以下命令:
sudo apt-get 更新
- 如果您要更新实际包,请输入此命令并按Enter 键:
sudo apt-get 升级
请按照以下步骤在 CentOS/RHEL 上执行此操作:
- 要刷新包数据库并安装更新,请键入此命令并按Enter。
须藤百胜更新
- 要检查任何更新,请插入以下命令并按Enter。
sudo yum 检查更新
如果您在服务器上使用内容管理系统 (CMS),我们建议您通过启用自动更新来自动执行此过程。此外,您还可以创建cron 作业,这是一个基于 Linux 的实用程序,用于安排命令或脚本在指定的时间和日期运行。
在 CentOS 或 RHEL 上安装和运行 cron 作业最方便的方法是使用 yum-cron。每次发布新版本时,它将自动更新软件。以下是在 CentOS 或 RHEL 上设置它的方法:
- 打开终端并通过 SSH 连接。
- 通过运行以下命令安装 yum-cron:
sudo yum install yum-cro
- 通过插入以下命令并按Enter启用该服务。请注意,这不会产生任何输出。
sudo systemctl 启用 yum-cron.service
- 通过键入以下命令并单击Enter来启动服务。请记住,此命令不会产生回复。
sudo systemctl start yum-cron.service
- 通过运行以下命令检查服务的状态:
sudo systemctl status yum-cron.service
- 使用以下命令打开配置文件:
须藤 vi /etc/yum/yum-cron.conf
- 在输出中找到以下行并将no替换为yes。保存更改并退出文件。
apply_updates = 是
结论
始终保护和保持您的 VPS 安全非常重要,尤其是因为它存储了您的敏感数据和程序。尽管 Linux 以其强大的安全性而闻名,但它仍然存在您应该注意的漏洞。常见的网络攻击和需要注意的问题包括恶意软件、嗅探和暴力攻击、SQL 注入、跨站点脚本 (XSS)、缺少功能级控制和身份验证损坏。
TAG:linux安全防护做哪些