5 个对初学者有用的 Linux 安全功能和工具
Linux 是一种广泛使用的操作系统,以其强大的安全功能而闻名。虽然 Linux 通常被认为比其他操作系统更安全,但它仍然需要正确的配置和管理以确保最大的安全性。幸运的是,有多种安全功能和工具可以帮助初学者保护 Linux 系统的安全。在本文中,我们将讨论 5 个对初学者有用的 Linux 安全功能和工具。
用户管理
用户管理是Linux安全的重要组成部分。通过创建单独的用户帐户,您可以限制对敏感文件和数据的访问。默认情况下,Linux 在安装过程中会创建一个 root 帐户。 root 帐户可以访问所有系统文件和设置,因此应谨慎使用。
相反,建议创建一个具有有限权限的常规用户帐户。这可以使用 useradd 命令来完成。例如,要创建一个名为“john”的新用户,您可以使用以下命令 -
sudo useradd -m john
-m 标志为用户创建主目录,useradd 命令将提示您为新用户设置密码。创建用户帐户后,您可以通过将其添加到 sudoers 文件来授予他们 sudo 权限。可以使用 visudo 命令编辑 sudoers 文件。例如,要授予用户“john”sudo 权限,您可以将以下行添加到 sudoers 文件 -
john ALL=(ALL) ALL
这将允许用户“john”使用 sudo 命令以 root 身份执行任何命令。
防火墙
防火墙是 Linux 安全的重要组成部分。它允许您控制传入和传出的网络流量并阻止不需要的连接。 Linux 最流行的防火墙称为 iptables。
Iptables 使用一组规则来确定如何处理传入和传出流量。默认情况下,iptables 阻止所有传入流量并允许所有传出流量。要添加规则以允许特定端口上的传入流量,您可以使用以下命令 -
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
这将允许端口 22 上的传入流量,该端口用于 SSH 连接。要阻止特定端口上的传入流量,您可以使用以下命令 -
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
这将阻止端口 80(用于 HTTP 连接)上的传入流量。
SELinux
SELinux 是 Linux 的安全模块,提供增强的安全功能。它使用一组策略对系统资源实施强制访问控制 (MAC)。 MAC 是一种安全模型,对用户或应用程序可以在系统上执行的操作实施限制。
默认情况下,大多数 Linux 发行版上都禁用 SELinux。要启用 SELinux,您可以使用以下命令 -
sudo setenforce 1
这将使 SELinux 处于强制模式。您还可以编辑 /etc/selinux/config 中的 SELinux 配置文件,将 SELinux 永久设置为强制模式。
蛤蜊病毒
ClamAV 是一款开源防病毒软件,可以扫描 Linux 系统中的恶意软件和病毒。它可以检测并清除病毒、木马和其他恶意软件。可以使用 Linux 发行版的包管理器来安装 ClamAV。
要使用 ClamAV 扫描系统中的恶意软件,您可以使用以下命令 -
sudo clamscan -r /
这将递归扫描您的整个系统并显示任何受感染的文件。要删除受感染的文件,您可以使用以下命令 -
sudo clamscan -r --remove /
这将删除扫描期间发现的所有受感染文件。
SSH
SSH(Secure Shell)是一种用于通过网络安全连接到远程 Linux 系统的协议。 SSH 加密客户端和服务器之间的所有通信,提供访问远程系统的安全方式。
要使用 SSH 连接到远程系统,您可以使用以下命令 -
ssh username@remote-server
将“username”替换为您在远程系统上的用户名,并将“remote-server”替换为远程系统的 IP 地址或主机名。
您还可以使用 SSH 使用 scp 命令在系统之间传输文件。例如,要将名为“file.txt”的文件从本地系统复制到远程系统,您可以使用以下命令 -
scp file.txt username@remote-server:/path/to/destination
将“username”替换为您在远程系统上的用户名,将“remote-server”替换为远程系统的 IP 地址或主机名,将“/path/to/destination”替换为远程系统上目标目录的路径。
加密
加密是保护 Linux 系统上数据安全的重要工具。加密使您可以保护敏感数据免遭未经授权的访问,即使攻击者获得了对您系统的访问权限。 Linux 提供了多种加密工具,包括 LUKS 和 GnuPG。
LUKS(Linux 统一密钥设置)是 Linux 使用的磁盘加密标准。 LUKS 允许您加密系统上的整个分区或磁盘。要创建 LUKS 加密分区,您可以使用以下命令 -
sudo cryptsetup luksFormat /dev/sdb1
这将在设备 /dev/sdb1 上创建 LUKS 加密分区。然后,您可以使用以下命令挂载加密分区 -
sudo cryptsetup luksOpen /dev/sdb1 my-encrypted-partition
这将创建一个名为“my-encrypted-partition”的解密设备,您可以使用它来访问加密分区。
GnuPG(GNU Privacy Guard)是一种用于加密和签名数据的工具。 GnuPG 使用公钥加密技术来保护数据。要使用 GnuPG 加密文件,您可以使用以下命令 -
gpg --encrypt --recipient recipient@example.com file.txt
将“recipient@example.com”替换为收件人的电子邮件地址,将“file.txt”替换为要加密的文件名。 GnuPG 将创建一个名为“file.txt.gpg”的加密文件,该文件只能由接收者使用其私钥解密。
审计
Auditd 是一个用于监视系统活动的工具。它记录系统事件,例如文件访问、进程执行和网络活动,并将它们存储在日志文件中。 Auditd 可用于检测和调查 Linux 系统上的安全漏洞。
要在您的系统上安装 Auditd,您可以使用以下命令 -
sudo apt-get install auditd
安装后,您可以使用以下命令启动 Auditd 服务 -
sudo systemctl start auditd
然后 Auditd 将开始将系统事件记录到位于 /var/log/audit/audit.log 的审核日志文件中。
失败2禁止
Fail2ban 是一个用于防止 Linux 系统上的暴力攻击的工具。暴力攻击是黑客试图通过猜测密码来访问系统的常见攻击方式。 Fail2ban 的工作原理是监控系统日志以查找重复的登录失败并阻止表现出可疑行为的 IP 地址。
要在您的系统上安装 Fail2ban,您可以使用以下命令 -
sudo apt-get install fail2ban
安装后,您可以配置 Fail2ban 来监控系统日志并阻止表现出可疑行为的 IP 地址。例如,要在三次登录尝试失败后阻止 IP 地址,您可以将以下规则添加到 Fail2ban 配置文件中 -
[sshd]
enabled = true
maxretry = 3
这将监视 SSH 日志以查找失败的登录尝试,并在 3 次尝试后阻止 IP 地址。
结论
Linux 提供了多种安全功能和工具,可以帮助初学者保护其系统。通过正确配置用户帐户、防火墙和 SELinux 策略,您可以限制对敏感数据的访问并控制传入和传出的网络流量。 ClamAV 可用于扫描恶意软件和病毒,而 SSH 提供访问远程系统的安全方式。通过使用这些工具和功能,初学者可以显着提高 Linux 系统的安全性。