LFCA – 保护数据和 Linux 的实用技巧 – 第 18 部分
自九十年代初发布以来,Linux 凭借其稳定性、多功能性、可定制性以及日以继夜地提供错误修复和改进的大型开源开发人员社区,赢得了技术社区的钦佩。操作系统。总的来说,Linux 是公共云、服务器和超级计算机的首选操作系统,接近 75% 的面向互联网的生产服务器在 Linux 上运行。
除了为互联网提供动力之外,Linux 还找到了进入数字世界的道路,并且从那时起就没有减弱。它为大量智能设备提供支持,包括 Android 智能手机、平板电脑、智能手表、智能显示器等等。
Linux 安全吗?
Linux 以其顶级安全性而闻名,这也是它成为企业环境中最受欢迎的选择的原因之一。但事实是,没有一个操作系统是 100% 安全的。许多用户认为Linux是一个万无一失的操作系统,这是一个错误的假设。事实上,任何具有互联网连接的操作系统都容易受到潜在的漏洞和恶意软件攻击。
在早期,Linux 的以技术为中心的人群要少得多,遭受恶意软件攻击的风险也很小。如今,Linux 为互联网的很大一部分提供了动力,这也推动了威胁形势的增长。恶意软件攻击的威胁比以往任何时候都更加真实。
针对 Linux 系统的恶意软件攻击的一个完美示例是 Erebus 勒索软件,这是一种文件加密恶意软件,影响了韩国网络托管公司 NAYANA 的近 153 台 Linux 服务器。
因此,明智的做法是进一步强化操作系统,为其提供急需的安全性来保护您的数据。
Linux 服务器强化技巧
保护 Linux 服务器的安全并不像您想象的那么复杂。我们编制了一份最佳安全策略列表,您需要实施这些策略来增强系统安全性并维护数据完整性。
1.定期更新软件包
在 Equifax 漏洞的初始阶段,黑客利用了 Equifax 客户投诉门户网站上的一个众所周知的漏洞 - Apache Struts。
Apache Struts 是一个由 Apache 基金会开发的开源框架,用于创建现代且优雅的 Java Web 应用程序。基金会于2017年3月7日发布了修复该漏洞的补丁,并就此发表了声明。
Equifax 收到了有关该漏洞的通知,并建议对其应用程序进行修补,但遗憾的是,该漏洞直到同年 7 月才得到修补,但为时已晚。攻击者能够从数据库中访问公司网络和数百万个机密客户记录。到Equifax迎来发生的事情时,已经过去了两个月。
那么,我们可以从中学到什么?
恶意用户或黑客总是会探测您的服务器是否存在可能的软件漏洞,然后他们可以利用这些漏洞来破坏您的系统。为了安全起见,请始终将您的软件更新到当前版本,以便对任何现有漏洞应用补丁。
如果您运行的是 Ubuntu 或基于 Debian 的系统,第一步通常是更新您的软件包列表或存储库,如图所示。
sudo apt update
要检查所有具有可用更新的软件包,请运行以下命令:
sudo apt list --upgradable
将您的软件应用程序升级到当前版本,如下所示:
sudo apt upgrade
您可以将这两个命令连接到一个命令中,如图所示。
sudo apt update && sudo apt upgrade
对于 RHEL 和 CentOS,通过运行以下命令升级您的应用程序:
sudo dnf update ( CentOS 8 / RHEL 8 )
sudo yum update ( Earlier versions of RHEL & CentOS )
另一个可行的选择是为 Ubuntu 启用自动安全更新,并为 CentOS/RHEL 设置自动更新。
2. 删除旧的通信服务/协议
尽管支持多种远程协议,但 rlogin、telnet、TFTP 和 FTP 等传统服务可能会给您的系统带来巨大的安全问题。这些都是陈旧、过时且不安全的协议,其中数据以纯文本形式发送。如果存在这些,请考虑将其删除,如图所示。
对于基于 Ubuntu/Debian 的系统,执行:
sudo apt purge telnetd tftpd tftpd-hpa xinetd rsh-server rsh-redone-server
对于基于 RHEL/CentOS 的系统,执行:
sudo yum erase xinetd tftp-server telnet-server rsh-server ypserv
3. 关闭防火墙上未使用的端口
删除所有不安全的服务后,扫描服务器是否有开放端口并关闭任何可能被黑客用作入口点的未使用端口非常重要。
假设您要阻止 UFW 防火墙上的端口 7070。执行此操作的命令是:
sudo ufw deny 7070/tcp
然后重新加载防火墙以使更改生效。
sudo ufw reload
对于 Firewalld,运行命令:
sudo firewall-cmd --remove-port=7070/tcp --permanent
并记住重新加载防火墙。
sudo firewall-cmd --reload
然后交叉检查防火墙规则,如下所示:
sudo firewall-cmd --list-all
4. 安全的 SSH 协议
SSH 协议是一种远程协议,可让您安全地连接到网络上的设备。虽然它被认为是安全的,但默认设置还不够,需要进行一些额外的调整才能进一步阻止恶意用户破坏您的系统。
我们有关于如何强化 SSH 协议的综合指南。以下是主要亮点。
- 配置无密码 SSH 登录并启用私钥/公钥身份验证。
- 禁用 SSH 远程 root 登录。
- 禁止使用空密码的用户进行 SSH 登录。
- 完全禁用密码身份验证并坚持使用 SSH 私钥/公钥身份验证。
- 限制特定 SSH 用户的访问。
- 配置密码尝试次数限制。
5.安装并启用Fail2ban
Fail2ban 是一个开源入侵防御系统,可保护您的服务器免受暴力攻击。它通过禁止指示恶意活动(例如过多登录尝试)的 IP 来保护您的 Linux 系统。它开箱即用,附带适用于 Apache Web 服务器、vsftpd 和 SSH 等流行服务的过滤器。
我们提供了有关如何配置 Fail2ban 以进一步强化 SSH 协议的指南。
6. 使用 PAM 模块强制密码强度
重复使用密码或使用弱且简单的密码会极大地破坏系统的安全性。您强制实施密码策略,使用 pam_cracklib 来设置或配置密码强度要求。
使用 PAM 模块,您可以通过编辑 /etc/pam.d/system-auth 文件来定义密码强度。例如,您可以设置密码复杂性并防止重复使用密码。
7. 安装 SSL/TLS 证书
如果您正在运行网站,请始终确保使用 SSL/TLS 证书来加密用户浏览器和网络服务器之间交换的数据,以保护您的域。
8.禁用弱加密协议和密钥
加密站点后,还应考虑禁用弱加密协议。在撰写本指南时,最新的协议是 TLS 1.3,它是最常见且使用最广泛的协议。早期版本(例如 TLS 1.0、TLS 1.2 和 SSLv1 至 SSLv3)与已知漏洞相关。
包起来
这是确保 Linux 系统数据安全和隐私可采取的一些步骤的摘要。