系统安全 - Linux 安全模子及实践
https://i-blog.csdnimg.cn/direct/8a0052eeb35e4ba0917cf508f7cb64bf.png总览
https://i-blog.csdnimg.cn/direct/38741f741d8a47d0b64ea1b59cf92f2c.png
Linux安全
https://i-blog.csdnimg.cn/direct/6a4b9b41b38346dcbd4a9e2f1e86fc86.png
Linux 安全模子
Linux 系统可以分为内核层和用户层:
[*]内核层负责对资源的直接受理,包括历程调度、内存管理、文件系统和硬件控制等。它的安全机制重要通过内置的权限管理、历程隔离和内存掩护来确保稳定和安全。
[*]假如黑客能够成功突破内核层安全(比方通过毛病获取 root 权限),他们可以绕过用户层的全部安全措施。这时,即使我们在用户层配置再复杂的权限,也无济于事。
[*]用户层是我们日常操纵的重要部门,提供对系统资源的访问。开发者和运维职员通过用户层访问内核提供的服务。我们日常关注的安全措施,如文件权限、历程权限、日记管理等,都在用户层举行。
内核层安全重点:
[*]内核层安满是通过定期更新和修补毛病来维护的。Linux 社区会发布安全更新来修复内核中的已知毛病,定期利用官方发行的镜像、打补丁来防止攻击者利用毛病。
用户层安全重点:
[*]权限配置:用户层的权限设置确保差别用户之间的数据和历程隔离,防止越权访问。
[*]历程隔离:Linux 通过权限和用户身份管理实现历程之间的隔离,确保一个用户的历程不会影响其他用户的历程或数据。
用户层权限管理的细节
多用户环境中的权限管理
在 Linux 多用户环境中,用户层的安全性依赖于正确的权限配置。Linux 系统利用 UID(用户 ID)和 GID(组 ID)来标识用户及其所属的组,权限则通过用户、组和其他人三类身份来控制文件和历程的访问。
主体 -> 哀求 -> 客体模子:
[*]主体是用户(或历程),哀求是操纵(如读、写、执行),客体是文件、目次或系统资源。
[*]比方,当一个用户试图读取 /etc/passwd 文件时,Linux 会查抄该用户是否有权限执行这个哀求,只有具备符合权限,操纵才会成功。
文件权限与目次权限
Linux 中,全部文件和目次都有与之关联的权限,权限分为:
[*]r(读):用户是否能读取文件或检察目次内容。
[*]w(写):用户是否能修改文件或在目次中创建、删除文件。
[*]x(执行):用户是否能执行文件或进入目次。
https://i-blog.csdnimg.cn/direct/7b3b9254c0b94bce8008192ac154ac15.png
权限通过 ls -l 命令可以检察,并通过 chmod 命令举行修改。对于文件和目次的权限作用有所差别:
[*]文件的权限:决定谁可以读取、修改和执行该文件。
[*]目次的权限:决定谁可以检察、添加、删除目次中的文件。
除了基本权限,Linux 还提供了额外的权限控制本事:
[*]SUID/SGID:用于文件时,这些位允许用户以文件全部者或组的权限运行程序,常用于特定的系统命令。
[*]粘滞位(Sticky Bit):常用于共享目次(如 /tmp),确保用户只能删除自己创建的文件,防止滥用删除他人文件。 chmod +t /tmp可以制止删除 /tmp 目次下其他用户的文件
最小权限原则的应用
在 Linux 系统中,最小权限原则是安全管理的焦点。即为每个用户或历程分配最少的权限,以淘汰潜在的攻击面。尤其是在多用户共用服务器时,过多的权限大概会导致数据泄露或服务滥用。
以下是几种常见的实践:
[*] 利用平常用户而非 root 用户运行服务:
比方,运行 MySQL 服务时,利用 mysqld 命令以 mysql 用户启动历程,而不是 root。这样,即使 MySQL 服务出现毛病,攻击者也无法直接获取 root 权限。
sudo -u mysql mysqld_safe
[*] 服务历程的权限隔离:
在启动 Nginx 时,Nginx 的工作历程利用 nobody 用户身份运行。这种方法确保了即使 Web 服务遭到攻击,也无法容易危害到系统其他部门。
# Nginx 进程运行状态
ps aux | grep nginx
root 70830.00.0 610325324 ? Ss Aug12 0:01 nginx: master process
nobody 331122 0.00.0 9076831776 ? S 11:44 0:00 nginx: worker process
nobody 通常拥有整个操纵系统中最小的权限
[*] 通过文件属性掩护关键文件:
利用 chattr +i 命令可以为重要的文件添加不可修改属性(immutable),防止即使有权限的用户修改关键配置文件。
sudo chattr +i /etc/passwd
Linux 系统中的认证、授权和审计机制
认证机制
认证确保用户的身份合法,防止未经授权的用户访问系统资源。在 Linux 系统中,用户信息存储在 /etc/passwd 和 /etc/shadow 文件中。
[*] /etc/passwd:保存用户账户信息,但不会存储密码,而是将密码占位为 x。
[*] /etc/shadow:保存加密后的用户密码和密码策略(如密码有效期、密码失效天数等)。
配置密码策略可以有效提拔安全性,如利用 chage 命令设置密码过期时间:
sudo chage -M 60 testuser# 强制 testuser 每 60 天更改密码
弱密码检测:
为了防止弱密码攻击,可以利用工具如 John the Ripper 对密码举行审计:
unshadow /etc/passwd /etc/shadow > mypasswd
john mypasswd# 开始检测弱密码
john --show mypasswd# 显示已破解的密码
授权机制
授权是在用户通过认证后,系统根据权限决定其能访问哪些资源。Linux 系统通过读、写、执行权限,控制用户对文件和目次的访问。除此之外,Linux 还提供了 ACL(访问控制列表)来实现更精细的权限控制。
最小权限原则的扩展:
滥用 root 是 Linux 安全中的普遍题目,全部长时间运行的历程(如数据库、Web 服务)应尽量避免利用 root 权限,而利用特定用户账户来运行这些历程。比方:
sudo -u redis redis-server# 使用非 root 账户运行 Redis
审计机制
审计是指对系统操纵举行记载和分析,以便在出现题目时能够追踪到源头。在 Linux 系统中,重要的日记文件位于 /var/log 目次下,常见的日记包括:
[*]/var/log/wtmp 和 /var/run/utmp:记载用户登录和注销事件。 用户登录日记本身为二进制文件,我们无法直接通过文本方式检察,但是可以共同who/users/last/lastlog这样的命令来获取
[*]/var/log/secure:记载与安全相关的事件,如用户的认证实验。
[*]/var/log/messages:记载系统及应用的平常信息。
可以通过命令 who 或 last 来检察用户登录日记。比方:
last# 查看最近的用户登录记录
日记管理与分析:
默认环境下,Linux 会通过 logrotate 对日记执行相应的保留策略(比如日记切割和旧日记删除等)。通过配置/etc/logrotate.conf可以对差别日记的保留策略举行修改日记可以通过 logrotate 来管理,定期归档旧日记,避免日记文件过大。
此外,利用日记分析工具如 ELK 或 Zabbix,可以对系统日记举行实时监控,配置安全报警规则来检测潜在的攻击举动。
主机入侵检测系统(HIDS)_ Host-based Intrusion Detection System
HIDS 的概念和功能
主机入侵检测系统(HIDS)是一种监控和分析单个计算机或服务器的活动日记、文件完备性、配置更改、系统调用等,以检测入侵举动或非常活动的安全工具。它与网络入侵检测系统(NIDS)差别,侧重于主机层面的检测,资助识别未经授权的操纵或潜在攻击。
HIDS 分类与技术差异
HIDS 重要分为以下两种类型:
[*]基于署名的 HIDS:通过匹配已知攻击模式或署名来检测入侵。这种方法对已知威胁有效,但对未知攻击或零日毛病大概不敏感。
[*]基于举动的 HIDS:通太过析系统的正常举动基线,检测非常的操纵或活动。这种方法能够发现未知威胁,但大概会产生更多的误报。
HIDS 最佳实践
为了有效实施 HIDS,可以参考以下最佳实践:
[*]系统选择与资源规划:选择适合的 HIDS 工具,并考虑主机的资源占用题目。过高的资源斲丧大概影响系统性能。
[*]配置日记网络与分析:配置 HIDS 以网络关键日记,如认证、文件系统变更、系统调用等,并定期分析。结合 Syslog、Auditd 等工具可以进一步增强日记记载的深度。
[*]文件完备性监控:HIDS 通过文件完备性监控(FIM)来检测关键文件的非常更改。可以利用工具如 Tripwire 或 AIDE 来实现。
[*]基线建立与非常检测:设置基线举动,定义正常的操纵模式,并通过 HIDS 监控这些基线是否出现非常。
[*]警报管理:配置敏捷但不冗余的报警规则,避免误报过多。结合邮件、短信或其他告警系统,确保及时相应。
[*]定期更新与维护:定期更新 HIDS 规则库,确保可以识别最新的威胁。
常用 HIDS 工具
[*]OSSEC:一个开源且功能强大的 HIDS,支持日记分析、文件完备性监控和实时警报,适用于 Linux、Windows、macOS 等操纵系统。
[*]Tripwire:专注于文件完备性监控,广泛用于检测文件篡改、配置变更等,适合企业环境。
[*]AIDE(Advanced Intrusion Detection Environment):轻量级 HIDS 工具,专注于文件完备性监控和日记分析。
[*]Wazuh:基于 OSSEC 的扩展,提供增强的日记管理、威胁检测功能,且支持可视化仪表板。
总结
Linux 安全体系的焦点是正确的权限配置和最小权限原则的实践。通过配置符合的权限、利用非 root 账户运行服务,以及对日记的有效监控,可以大大提拔系统的安全性。共同 HIDS 等安全工具,为 Linux 系统提供额外的掩护层。
https://i-blog.csdnimg.cn/direct/91299a58f7234b78bd094adab59c782c.jpeg#pic_center
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]