CodeGym /课程 /Docker SELF /Linux中的基础安全

Linux中的基础安全

Docker SELF
第 5 级 , 课程 0
可用

Linux中的基础安全

1. Linux 的安全原则

Linux 的安全性主要是基于“最小权限”的策略和可靠的访问控制。想象 Linux 是一个多层防御的城堡:你走得越远,检查就越多。首先,让我们了解一下系统安全性的三个支柱。

权限分离: 用户、组和 root

Linux 稳定性和安全性的秘密在于严格的权限分离。系统中有三种对象类型:

  • 用户 (users): 独立的账户。这就像家庭聚会上每个成员都有自己的通行证。
  • 组 (groups): 用户的集合。有些任务只需一张组通行证,比如访问“奶奶的照片”共享目录。
  • Root: 拥有所有权限的超级用户。Root 就像 Linux 世界中的超人。他可以做任何事,但同时也承担了超级责任。

Linux 使用此模型来限制对文件、应用程序或系统功能的访问。即使攻击者以普通用户身份进入系统,也无法破坏内核或关键文件。

最小化权限

不要随便给所有人 root 权限。想象一下,如果办公室里的每个人都有打开保险柜的钥匙,总有人会弄丢。Linux 中的规则是:只授予用户完成任务所需的权限。

主要安全威胁

  • 病毒: 是的,Linux 也不是完美无缺的,不过由于系统架构,病毒比较少见。
  • 网络攻击: 如 SSH 入侵、DDoS 攻击、DNS 欺骗。
  • 软件漏洞: 旧包和不安全的库可能成为攻击者的突破口。

2. 威胁预防

现在我们来看看一些重要的步骤,以确保你的 Linux 服务器持续为你提供可靠的服务,而不是被黑客用作工具。

系统的定期更新

举个例子:系统更新就像更新杀毒软件。没有更新,即使是最现代的保护也无法对抗新的威胁。这条命令:

sudo apt update && sudo apt upgrade

可以让你的 Linux 保持良好的状态。

控制对重要文件的访问

有些文件最好不要让别人看到。例如,文件 /etc/sudoers 是一个拥有管理员权限的用户列表。只能通过 visudo 编辑它,以避免意外错误。

限制 root 访问

你知道 root 权限很强大,但不应该滥用它。最好使用普通用户账号,并在需要时用 sudo 临时获取权限。


3. 安全工具

在 Linux 中,有哪些工具可以助力安全防护?让我们一起来看看内置工具和第三方解决方案。

内置机制

  • firewalld 和 iptables: 用于管理网络流量的防火墙。虽然听起来复杂,但我们会搞清楚的!
  • SELinux (Security-Enhanced Linux): 一个专门的增强功能,检查哪些进程有访问文件的权限。
  • ACL (Access Control Lists): 标准访问权限的扩展版本。

外部工具

  • Lynis: 一种安全审计工具。
  • OpenSCAP: 用于检查系统是否符合安全标准的工具集。

配置密码策略

你的密码有多复杂... 诶,不用说出来!最好直接确保可靠的密码策略。可以通过 PAM 设置密码的最小长度和复杂度。

sudo nano /etc/security/pwquality.conf

参数示例:

minlen = 12
minclass = 3

4. 实践示例:基础安全配置

撸起袖子准备开干!我们来为测试系统配置一个简单的安全策略。

用户注册

创建两个用户:管理员和普通用户。

sudo adduser admin
sudo adduser user1
sudo usermod -aG sudo admin

现在admin有了管理权限,而user1则没有。

重要文件的访问控制

限制对Nginx配置文件的访问:

sudo chmod 600 /etc/nginx/nginx.conf

防火墙设置

安装并配置ufw(Uncomplicated Firewall)以保护我们的服务器:

sudo apt install ufw
sudo ufw enable

仅允许SSH和HTTP流量:

sudo ufw allow 22
sudo ufw allow 80

开启状态检查:

sudo ufw status

5. 常见错误

谈到安全性时,不仅要知道该做什么,还要明白需要避免什么。

错误1:使用root账户操作

很多新手图省事,直接用root账户工作。这很危险:任何错误或被攻击都会对系统造成致命影响。

错误2:软件包未更新

正如某位管理员所说:“唯一好的服务器是已更新的服务器”。旧的软件是攻击的理想目标。

错误3:不安全的密码

“password123”是最常见的密码之一。不要做那个使用这个密码的人。


6. 实践应用:为什么需要这些?

配置 Linux 安全不仅在工作中有用,在面试中也很加分。了解防火墙、SELinux 和权限配置的基础知识会让雇主印象深刻。例如,你可以保护公司服务器免受 DDoS 攻击,或配置权限以便团队合作完成项目。

如果你从事开发工作,保护系统意味着你的代码不会被竞争对手获取,客户的数据也能保持安全。这不仅仅是某种“哈巴罗夫斯克焦虑感”,而是现代行业的实际需求。

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION