当前位置: 首页 > 科技观察

Linux恶意软件的兴起:保护开源软件(OSS)的9个技巧

时间:2023-03-13 15:47:38 科技观察

“Linux是市场上最安全的操作系统”;多年来,这一直是开源平台的最佳卖点之一。然而,与技术相关的任何事物一样,犯罪分子将其作为目标只是时间问题。每个操作系统、软件和服务都是如此。在这一点上,说Linux对恶意软件免疫是绝对错误的。可悲的事实是,只要它连接到网络,它就很脆弱。使用什么操作系统并不重要——它运行的时间越长,它就越有可能成为目标。Linux也不例外。考虑到企业依赖开源技术(包括Linux操作系统)谋生,Linux系统在过去几年成为网络犯罪分子的目标也就不足为奇了。事实上,如果可以预测的话,未来十年针对Linux部署的恶意软件的增加将变得更加令人担忧。幸运的是,开源开发人员可以非常快速地响应此类恶意软件攻击——漏洞通常会在数小时或数天内被发现并修补。这种敏捷性是开源软件的优点之一。但是,用户和管理员也有责任。我们都习惯于将Linux视为一个“设置好后不用管”的平台,但事实并非如此。简而言之,它是不知道或不关心黑客心中潜伏的危险的软件,它只是根据其部署工作。话虽这么说,管理员和用户可以做些什么来对抗这种不断增长的恶意软件浪潮?如何保护您的Linux操作系统1.更新、更新、再更新不幸的是,我们的环境充斥着严重过时的Linux系统,这导致操作系统和已安装的软件充满漏洞。您需要养成定期检查更新的习惯。建议您定期在Linux设备上运行更新检查,并在更新可用时立即应用更新。对于台式机,这是一个很好的策略。对于服务器,至少每周检查一次,并确保您可以重新启动服务器以在必要时应用这些更新。2.选择正确的发行版Linux发行版比你想象的要多。虽然其中一些非常小众,但大多数都是通用的。切勿将通用操作系统用作服务器。如果您正在寻找服务器操作系统,请坚持使用UbuntuServer、DebianServer、RHEL、SUSE、FedoraServer、AlmaLinux和RockyLinux等知名实体。如果您正在寻找适用于容器的操作系统,请考虑特定于容器的发行版,例如RedHatOpenShift。至于桌面,建议您坚持使用维护良好的发行版,定期发布可靠的更新,例如Ubuntu、LinuxMint、Pop!_OS和Fedora。3.明智而负责任地部署在部署Linux时,请确保您和您的用户以及管理团队精通操作系统。不要只是假设您可以出于任何目的部署任何Linux发行版,而无需费心了解平台的来龙去脉并假设一切都会正常工作。您需要了解Linux安全性,知道哪些工具最适合该任务,并且永远不要假设您可以在不接触操作系统的情况下进行部署。曾几何时,您可以“设置并忘记”Linux。但是那个时间已经过去了。如果您想保护您的Linux部署免受恶意软件的侵害,请随时了解情况并对漏洞保持警惕。你知道的越多,你就会准备得越好。4、阅读日志文件日志包含了很多信息,Linux提供了大量比喻性的日志供扫描。只要看看/var/log目录,您就会明白我的意思。问题是,您的系统上有多少日志文件并不重要:如果您不阅读它们,它们就毫无价值。养成阅读日志文件的习惯。如果您不想手动梳理这些日志,请考虑使用可以为您完成这项工作的工具,例如Graylog2、Logcheck、Logwatch和Logstash。5.部署扫描软件多年来,我一直对在Linux上使用扫描软件的想法嗤之以鼻。现在?我完全同意!我并不是说您应该立即安装防病毒扫描程序(虽然它不会造成伤害),但管理员绝对应该安装Rootkit扫描程序并使用工具来扫描邮件服务器。最终用户也可以从ClamAV等工具中受益,但它是相当手动的,因此您的最终用户必须接受如何使用它的培训。6.限制用户访问不要让任何用户通过SSH(SecureShell,安全外壳,一种网络安全协议,通过加密和认证机制实现安全访问和文件传输服务)进入你的服务器。只允许那些绝对需要访问权限的人访问您的服务器的SecureShell。此外,设置一个策略,只允许SSH密钥访问,root用户被锁定在SSH身份验证之外。7.采用强密码策略说到用户,Linux必须有强密码策略。强密码是必须的。但如果您的服务器和台式机不需要强密码,您就无法强制执行此类策略。这是在PAM(可插入身份验证模块)安装的帮助下在Ubuntu/Debian设备上启用强密码的分步指南虽然PAM已经安装,但您必须添加一个额外的模块。为此,打开一个终端窗口并发出以下命令:sudoapt-getinstalllibpam-cracklib这就是安装的全部内容。为此设置配置libpam_cracklib的配置文件是/etc/pam.d/common-password。在进行任何更改之前,让我们复制该文件。发出命令:sudocp/etc/pam.d/common-password/root/以存储文件的工作副本,在您选择的编辑器中打开文件并查找行:passwordrequisitepam_cracklib.soretry=3minlen=8difok=3我们将使用以下选项来设置:minlen=建立与密码长度相关的复杂性度量。lcredit=设置所需的最小小写字母数。ucredit=设置所需大写字母的最小数量。·dcredit=设置所需的最小位数。ocredit=设置所需的最少附加字符数。·difok=设置必须与以前的密码不同的字符数。这是配置变得有点棘手的地方。您可能认为minlen是密码的最小长度。实际上,minlen是密码在被视为成功之前必须达到的最低复杂性分数。它的工作方式是密码中的某些字符不止一次计入密码复杂性。为了创建这个分数,复杂性通过几个步骤来衡量:·密码中的每个字符(无论类型)加一分。·每个小写字母加一分(不超过lcredit的值)。·每个大写字母一分(不超过ucredit的值)。·为每个数字加一分(直到dcredit的值)。·每个特殊字符加一分(不超过ocredit的值)。您也可以将这些值设置为负数。负数表示类的最小值(类有lcredit、ucredit、dcredit等),而正值表示类的最大值。例如:passwordrequisitepam_cracklib.sotry_first_passretry=3minlength=16lcredit=-1ucredit=-1dcredit=-1ocredit=-1difok=4reject_username以上设置将确保密码的复杂度分数为16,并且每个类别至少包含一个字符。此外,添加了reject_username以防止用户将其用户名设置为密码。8.定期运行渗透测试你还应该养成在所有Linux系统上运行渗透测试的习惯。的确,使用像KaliLinux这样的大型工具包会减慢您的系统速度,但是当您发现系统上迄今未知的漏洞并修补它们时,这一切都是值得的。它将使您免于灾难。9.不要禁用SELinux而使用你的防火墙我猜Linux管理员在基于RHEL的发行版上做的第一件事就是禁用SELinux。永远不要这样做!SELinux的存在是有原因的。诚然,这可能很麻烦,但子系统提供的安全性是值得的。关于SELinux有很多东西要学习,但是思考这个安全系统是绝对必须的,而且越早了解它,您就能越早利用它来提高安全性。另外,使用你的防火墙。了解您选择的发行版使用的任何工具——例如UFW或FirewallD——并熟悉它的工作原理。不要禁用它,启用它。此防火墙可以成为您最后的数据安全堡垒。那么为什么要忽略它呢?这就是我们在Linux上避免恶意软件的重要提示。当然,这不是包治百病的方法,但它可以大大帮助您或您的公司预防灾难。本文翻译自:https://www.techrepublic.com/article/linux-malware-tips-securing-oss/如有转载请注明出处。