由于我们今天大量的个人和专业数据都可以在网上获得,因此对于每个人——从专业人士到普通互联网用户——来说,学习安全和隐私的基础知识非常重要。作为一名学生,我通过学校的 CyberPatriot 计划获得了这方面的经验,我有机会与行业专家互动,了解网络漏洞以及建立系统安全的基本步骤。
本文详细介绍了六个简单的步骤,根据我作为初学者至今所学到的知识,来提高您的 Linux 环境的个人使用安全性。在我的学习过程中,我利用开源工具来加速我的学习过程,并熟悉与保护我的 Linux 服务器相关的高级概念。
我使用 Ubuntu 18.04 测试了这些步骤,这是我最熟悉的版本,但这些步骤也适用于其他 Linux 发行版。
1. 运行更新
开发人员不断寻找方法,通过修补已知的漏洞来使服务器更稳定、快速和安全。定期运行更新是养成最大化安全性的好习惯。使用以下命令运行更新:
sudo apt-get update && apt-get upgrade
2. 启用防火墙保护
启用防火墙 可以更轻松地控制服务器上的传入和传出流量。您可以在 Linux 上使用许多防火墙应用程序,包括 firewall-cmd 和简易防火墙 (UFW)。我使用 UFW,所以我的示例是针对它的,但这些原则适用于您选择的任何界面。
安装 UFW
sudo apt-get install ufw
如果您想让服务器更安全,您可以拒绝传入和传出的连接。请注意:这会断开您的服务器与外界的连接,因此一旦您阻止了所有流量,您必须指定允许从您的系统发出的哪些传出连接
sudo ufw default deny incoming
sudo ufw default allow outgoing
您还可以编写规则来允许您个人需要的传入连接
ufw allow <service>
例如,要允许 SSH 连接
ufw allow ssh
最后,使用以下命令启用您的防火墙:
sudo ufw enable
3. 加强密码保护
实施强密码策略是保持服务器免受网络攻击和数据泄露的重要方面。密码策略的一些最佳实践包括强制执行最小长度和指定密码有效期。我使用 libpam-cracklib 软件包来完成这些任务。
安装 libpam-cracklib 软件包
sudo apt-get install libpam-cracklib
强制执行密码长度
- 打开
/etc/pam.d/common-password
文件。 - 通过将
minlen=12
行更改为您想要的字符数,来更改所有密码的最小字符长度。
防止密码重用
- 在同一个文件 (
/etc/pam.d/common-password
) 中,添加行remember=x
。 - 例如,如果您想阻止用户重复使用他们最近五个密码中的一个,请使用:
remember=5
。
强制执行密码有效期
- 在
/etc/login.defs
文件中找到以下行,并将其替换为您首选的时间量(天)。例如
PASS_MIN_AGE: 3 PASS_MAX_AGE: 90 PASS_WARN_AGE: 14
强制执行字符规范
- 在密码中强制执行字符规范的四个参数是
lcredit
(小写)、ucredit
(大写)、dcredit
(数字)和ocredit
(其他字符)。 - 在同一个文件 (
/etc/pam.d/common-password
) 中,找到包含pam_cracklib.so
的行。- 将以下内容添加到此行的末尾
lcredit=-a ucredit=-b dcredit=-c ocredit=-d
- 例如,以下行要求密码包含每个参数的一个。您可以根据您首选的密码安全级别更改数字
lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
- 将以下内容添加到此行的末尾
4. 禁用易受攻击的非必要服务
禁用不必要的服务是一种最佳实践。这允许更少的端口打开以供利用。
安装 systemd 软件包
sudo apt-get install systemd
查看哪些服务正在运行
systemctl list-units
识别 哪些服务可能会对您的系统造成潜在的漏洞。对于每个服务
- 停止当前正在运行的服务
systemctl stop <service>
- 禁止该服务在启动时启动
systemctl disable <service>
- 运行这些命令后,检查服务的状态
systemctl status <service>
5. 检查监听端口
开放端口可能会带来安全风险,因此检查服务器上正在监听的端口非常重要。我使用 netstat 命令来显示所有网络连接
netstat -tulpn
查看地址列以确定 端口号。找到开放端口后,检查它们以确保它们都是必要的。如果不是,调整您正在运行的服务,或调整您的防火墙设置(或让 fail2ban 为您调整)。
6. 扫描恶意软件
防病毒扫描软件对于防止病毒进入您的系统很有用。使用它们是保持服务器免受恶意软件侵害的一种简单方法。我首选的工具是开源软件 ClamAV。
安装 ClamAV
sudo apt-get install clamav
更新病毒签名
sudo freshclam
扫描所有文件并打印出受感染的文件,并在找到一个文件时发出提示音
sudo clamscan -r --bell -i /
您可以并且应该自动化扫描,这样您就不必记住或花费时间手动执行扫描。对于像这样的简单自动化,您可以使用 systemd 计时器 或您最喜欢的 cron。
保持服务器安全
我们不能将保护服务器的责任留给一个人或组织。随着威胁形势继续迅速扩大,我们每个人都有责任意识到服务器安全的重要性,并采用一些简单有效的安全最佳实践。
这些只是您可以采取的许多步骤中的一小部分,以保持您的 Linux 服务器安全。当然,预防只是解决方案的一部分。这些策略应与严格的拒绝服务攻击监控相结合,使用 Lynis 进行系统分析,并创建频繁的备份。
您使用哪些开源工具来保持服务器安全?请在评论中告诉我们。
5 条评论