行业新闻与博客

Linux 服务器安全性:10 种 Linux 强化和安全性最佳实践





Linux 是面向 Web 的计算机最常用的操作系统,根据 Netcraft 的 2019年8月数据,该服务器在将近 75%的服务器上运行-我们将介绍如何使 Linux 服务器更安全。

Linux 为我们提供了强大的互联网支持-它从一开始就接管了数字世界,并且从那以后一直没有停止。这就是 Linux 服务器安全性对数据安全性至关重要的原因。



无论您是依靠可信赖的 Android 智能手机,还是喜欢浏览 Facebook 或 Pinterest 等社交媒体平台,Linux 都可能在您的日常生活中发挥重要作用-即使您对此并不完全了解。这种现实在商业世界中更为明显,在 Linux 中,Linux 负责各种规模的公司的 Web 业务。实际上,Netcraft 的 2020年6月调查显示,Linux 还为最可靠的十大主机公司网站中的九个提供动力。



不幸的是,安全问题几乎和 Linux 一样普遍。这些服务器已经遭受攻击多年,但是许多用户仍然不知道如果不采取主动的服务器安全措施,其数据可能受到的威胁。



但是,如何保护服务器并提高 Linux 服务器的安全性呢?我们将探讨 Linux 强化的作用,并介绍您可以立即付诸实践的 10 个最佳实践。



让我们将其散列出来。



Linux 强化在 Linux 服务器安全性中的作用

服务器安全性图形

您可能会遇到许多 Linux 服务器安全性问题,部分原因是这些问题并未立即得到解决。.相反,建立显示可疑活动的系统是用户的责任。没有这些额外的努力,Linux 服务器可能会非常脆弱。



使事情变得更加复杂的是,当今许多顶级安全措施都集中在前台办公室,而不是服务器机架上。这为恶意方提供了很多获取敏感数据的机会,其结果可能是毁灭性的。好消息?无需采取被动的方法来屈服于 Linux 服务器的安全性问题-着重于风险预防和早期缓解的战略协议可以发挥一切作用。



Linux 服务器的 10 个安全最佳实践

虽然保护 Linux 服务器的安全似乎有些麻烦,但此过程带有明显的希望:它提供了额外的控制程度。此外,服务器安全性不一定很难实现。一些基本的 Linux 强化和 Linux 服务器安全性最佳实践可以发挥所有作用,如下所述:



1.使用强而独特的密码

强密码构成任何安全服务器的基础。如果可能,这些字符的最小长度至少应为 10 个字符,再加上使用特殊字符或大小写字母的要求。请勿将同一密码用于多个用户或软件系统。不要忘记配置到期时间,因为没有密码可以无限期提供足够的安全性。



有几种出色的密码管理器可用于 Linux 平台。其中许多提供关键功能,例如:



双因素身份验证,

密码生成器,以及

云密码存储。

Bitwarden,LastPass,Enpass 和 Dashlane 代表了一些最佳选择。但是,没有一个密码管理器是每台服务器的理想选择。因此,彻底检查您的选择以确保找到满足您独特需求的量身定制的方法非常重要。



2.生成 SSH 密钥对

虽然强密码可以有所作为,但可以使用更强的登录专用服务器的方法。安全外壳(SSH)密钥对尤其值得实施,因为这些系统更难通过暴力破解。



在使用 SSH 密钥之前,了解您为什么要实施它们而不是标准的用户名和密码设置非常重要。虽然对于日常用户而言,密码无疑更方便,但这些用户往往依赖于容易猜到的选项,从而使整个安全基础架构容易受到攻击。



SSH 密钥对虽然不像密码那样对用户友好,但是却更加安全。这种增强的安全性可以归因于被登录的服务器和所使用的计算机所利用的加密。SSH 密钥对至少相当于 12 个字符的密码。但是,实际上,绝大多数 SSH 密钥对甚至更加复杂。因此,在采用主动服务器安全策略时,SSH 密钥对应该是首先实施的措施之一。



如何生成 SSH 密钥和密码

要设置 SSH 密钥,请输入以下命令:




  • "SSH-keygen -t rsa"



您可以选择要保存密钥的位置,也可以直接按 Enter 键将其保存在默认位置,如下例所示:




  • "Enter file in which to save the key (/home/youruser/.ssh/id_rsa):"



选择位置时,请考虑 SSH 密钥散布的可能性,因为个人和组织缺乏适当的清单。这是一个巨大的问题,因为许多服务器每台服务器维护数十甚至数百个 SSH 密钥对。



在确定将密钥保存在何处时,请权衡对被黑服务器进行物理攻击的可能性。如有疑问,请选择本地设备以减少网络攻击时的漏洞。



提示您选择密码后,该过程完成。鉴于执行此安全性至关重要,因此没有理由避免或拖延。



3.定期更新您的软件

更新服务器软件图形

正确管理 Linux 服务器安全性包括实施常规软件补丁程序以解决新出现的漏洞。不幸的是,许多 Linux 用户忽视了将这些补丁付诸实践。如果没有及时更新,则软件可能变得易于开发,并且容易被黑客用来获取访问权限。



各种各样的可访问选项使您可以在使用 Ubuntu 时更新 Linux。其中包括命令行和 Ubuntu Update Manager。



要通过命令行更新,请使用:




  • “apt-get update:”



此命令将列出可用的软件包。它还可以提供有关其最新版本的信息。为了安装这些软件包,您将需要使用:




  • “apt-get upgrade:”



使用 Ubuntu Update Manager,该过程看起来有些不同。使用 18.0.4 或更高版本时,第一步涉及单击桌面左下角的“显示应用程序”图标。从那里,只需搜索“更新管理器”。



4.启用自动更新

最佳实践与我们关于提高 Linux 服务器安全性的最后建议紧密结合。如果您在处理大量必要的安全更新时遇到麻烦,请考虑实施自动方法。启用自动更新可确保软件安全措施始终保持最新状态,即使您由于其他问题而忽略进行必要的更新时也是如此。



有多种选项可用于启用自动更新。您的选择将在很大程度上取决于软件的选择。对于 GNOME 用户,只需:




  1. 打开系统菜单,

  2. 选择管理,

  3. 导航到 Update Manager 并选择设置。

  4. 接下来,打开“ 更新”选项卡。在那里,您将找到一个设置,无需进行通知即可安装安全更新。



另一个可用的选项是为 Debian 使用无人值守的升级功能。当您自己无法更新但需要进行某些监视时,这可以使系统保持更新。如果选择无人值守升级,请先安装软件包:




  • “sudo apt-get install unattended-upgrades”



然后启用该软件包:




  • “sudo dpkg-reconfigure --priority=low unattended-upgrades”



要通过电子邮件进行监视,请安装 apt-listchanges 软件包。可以对其进行配置,以确保在更新发生时,您会收到及时的电子邮件警报。开始使用此命令:




  • “# apt-get install unattended-upgrades apt-listchanges”



5.避免使用不必要的软件

新软件可能很诱人,但是并非所有 Web 服务都是真正必需的。每个其他程序都提供了另​​一个机会,使您的服务器在将来可能会遇到潜在问题。



虽然很想在首次推出时添加新的令人兴奋的软件,但从长远来看,这种方法可能会引起相当大的安全隐患。随着时间的流逝,即使是最高效的系统也可能因未使用的,不切实际的或冗余的程序而陷入瘫痪。每年至少一次对所有软件进行系统范围的审核是明智的。通过做出简单的承诺,即使添加新程序,您也可以优化服务器并使其保持最高效率。



如果您的服务器已经包含大量软件,请使用 RPM(Red Hat 软件包管理器)来查看当前下载的软件包。从那里,您可以摆脱不必要的软件。要安装软件包,请使用以下命令:




  • “rpm -ivh {rpm-file}”



从那里,命令“ rpm -ev {package}”可用于删除已安装的软件包。同样,命令“ rpm -Uvh {rpm-file}”允许您升级软件包。



6.禁用从外部设备引导

恶意方可以轻易使用 USB 拇指驱动器等外部设备来访问敏感信息。禁用外部设备引导可能会减少物理攻击的可能性,这可能与黑客攻击一样具有破坏性。无需此额外步骤,就可以轻松绕开许多安全层。



有几种不同的方法可以在 Linux 中禁用某些 USB 端口。一种选择是打开终端并输入以下代码:




  • “# chmod 000 /media/”



要恢复对 USB 的访问,需要输入以下代码:




  • “# chmod 777 /media/”



您也可以通过编辑 /etc/modprobe.d/blacklist.conf 中的 blacklist.conf 文件来禁用 USB 访问。为此,请在.conf 文件中输入以下行:




  • “# sudo echo "blacklist usb-storage" >> /etc/modprobe.d/blacklist.conf”



7.关闭隐藏的打开端口

开放的端口可能会在扩展攻击面的同时揭示网络体系结构信息。因此,并非绝对必要的端口应立即关闭。netstat 命令可用于确定正在侦听哪些端口,同时还揭示当前可能可用的连接的详细信息。



以下命令行可用于查找特定端口:




  • 所有 TCP 端口 -“ netstat -at”

  • 所有 UDP 端口 -“ netstat -au”

  • 所有监听端口 -“ netstat -l”

  • 所有端口的信息 -“ netstat -s”



8.使用 Fail2ban 扫描日志文件

蛮力攻击在 Linux 服务器上非常普遍。但是,它们之所以成功,通常不是因为恶意方具有特别的能力或欺骗性,而是因为除了略微改善了密码保护之外,还缺乏预防措施。



如果您正在寻找用于防止暴力攻击的下一个解决方案,请考虑实施入侵防御软件 Fail2ban。此系统更改防火墙规则以禁止尝试登录特定次数的任何地址。它可用于发现和解决身份验证失败模式。电子邮件警报会提供有关攻击的及时警告,以确保尽快控制服务器。



使用以下命令在 CentOS 7 上安装 Fail2ban:




  • “yum install fail2ban”



对于 Debian,安装过程涉及以下命令:




  • “apt-get install fail2ban”



如果您希望获得电子邮件支持,请对 CentOS 7 使用命令“ yum install sendmail”或对 Debian 使用“ apt-get install sendmail-bin sendmail”。



9.利用备份并经常对其进行测试

异地备份对于 Linux 服务器至关重要。如果发生入侵,这些可以确保关键数据保持可访问性。它们在勒索软件攻击时特别有价值。尽管他们不能完全防止勒索软件问题,但他们可以确保在最坏的情况下,通过保留对基本数据的访问来限制损害。 



应用程序 rsync 是在 Linux 中备份数据的常用选项。它具有许多功能,可让您进行每日备份或排除某些文件被复制。众所周知,它是通用的,因此,它是众多 Linux 服务器安全策略的理想选择。可以在本地随意使用它来备份文件,也可以通过将其配置为与 Internet 上的各种主机同步来进一步使用。



要在 CentOS 上安装 rsync,请使用以下命令:




  • “yum install rsync”



对于 Debian,必要的命令是:




  • “sudo apt-get install rsync”



定期测试备份是最有效的。测试可验证备份包含正确的(和最新的)文件,并且在数据丢失的情况下可以轻松恢复。如果您最近完成了手动备份,请使用“ lastbackup”命令查找详细信息。同样,“扫描”命令将帮助您验证文件是否已正确备份。



不要忘记检查当前使用的存储空间量以及可用空间。这可以通过使用“ quota”命令来完成。



10.进行安全审核



当您在努力提高 Linux 服务器安全性时,上述突出显示的建议可以使您更加放心,但是其他威胁可能就在眼前。如果不定期更新,即使是最安全的服务器最终也将容易受到新危害的攻击。当然,软件升级至关重要,但是安全审核可以发现其他值得进行的调整。



如果没有定期审核,就不可能知道差距在哪里或如何解决以确保您的服务器得到充分保护。



关于 Linux 服务器安全性的最终想法

为保护 Linux 服务器付出一些额外的努力可能会大有帮助。请记住,Linux 强化和服务器安全性不是一次性功能:这是一个持续的过程,需要定期审核,软件补丁和数据备份。您为满足这些必需品而付出的努力可以为您节省很多麻烦。



花一些时间来实施更强大的密码策略和一些基本的安全命令。您将获得一台更强大的服务器,该服务器可以绕过当今一些最令人震惊的安全威胁,这将为您带来回报。



本文由机器译制



 

需要帮助吗?联系我们的支持团队 在线客服