我是一位 Amazon Lightsail 实例的系统管理员,运行着 Linux。我想了解可以通过哪些服务器安全最佳实践来帮助保护数据。
以下是基本的 Linux 服务器安全最佳实践。以下并非完整清单。本地系统管理员必须根据自身要求和用例配置许多复杂的设置。
使用 SCP、SSH、rsync 或 SFTP 进行文件传输。请勿使用 FTP 和 Telnet,因为它们不安全。要维持安全 (HTTPS) 连接,请在服务器上安装和配置 SSL/TLS 证书。
为避免软件或软件包中的漏洞,请勿安装不必要的软件。如果可能,找出并删除所有不需要的软件包。
安全补丁是 Linux 服务器维护的重要组成部分。Linux 可提供系统更新的所有必要的工具。可以轻松升级各版本。在所有安全更新发布后立即查看并应用这些更新,确保更新到最新可用内核。要应用所有安全更新,请使用基于 Linux 发行版的软件包管理器,例如 yum、apt-get 或 dpkg。
Linux 具备安全功能,可以使用这些功能来防范配置错误或程序损坏。如果可能,请使用 SELinux 和其他 Linux 安全扩展程序对网络和其他程序实施强制限制。
请勿以根用户身份登录。必要时,最佳做法是使用 sudo 运行根级命令。Sudo 可增强系统安全性,不会与其他用户和管理员共享凭证。有关更多信息,请参阅 Red Hat 网站上的 Disallowing root access 文章。
使用 ss 或 netstat 查找正在系统网络接口上监听的端口。任何开放的端口都可能被入侵。有关更多信息,请参阅 Red Hat 网站上的 Linux networking: socket stats via ss 和 Linux networking: 13 uses for netstat 文章。
使用 Lightsail 防火墙过滤流量,仅允许必要流量进入服务器。操作系统级防火墙是一个用户空间应用程序,允许您配置 Linux 内核提供的防火墙。根据 Linux 发行版,可以使用 iptables、ufw、firewalld 等。有关 iptables 和 firewalld 的更多信息,请参阅 Red Hat 网站上的 Setting and Controlling IP sets using iptables 和 Using firewalls 文章。有关 ufw 的更多信息,请参阅 ubuntu 网站上的 Security - Firewall 文章。
使用 auditd 审核您的系统。Auditd 会将审核记录写入磁盘。它还会监控系统活动,例如系统登录、身份验证、账户修改和 SELinux 拒绝。这些记录有助于识别恶意活动或未经授权的访问。有关更多信息,请参阅 Red Hat 网站上的 Configure Linux system auditing with auditd 文章。
使用 fail2ban 或 denyhost 作为入侵检测系统 (IDS)。尝试登录失败多次后,Fail2ban 和 denyhost 会扫描日志文件,并阻止显示恶意活动迹象的 IP 地址。
有关更多信息,请参阅 Snapshots in Amazon Lightsail。
可以使用 chmod 限制对文件和目录的访问,例如 Web 根目录或文档根目录。有关详细信息,请参阅 Red Hat 网站上的 Linux permissions: An introduction to chmod 文章。编辑权限后可仅向授权用户提供访问权限。有关更多信息,请参阅 Red Hat 网站上的 How to manage Linux permissions for users, groups, and others 文章。
Security in Amazon Lightsail
Compliance validation for Amazon Lightsail
Infrastructure security in Lightsail
Best practices for securing Windows Server-based Lightsail instances