从零开始学 Linux 系统安全:基础防护与实战应用

一、Linux 系统安全核心原则:为何安全防护至关重要?

Linux 系统并非天生 "免疫" 从零开始学 Linux 系统安全:基础防护与实战应用攻击,其安全风险主要来自三个方面:

  • 系统自身漏洞:内核、软件包等可能存在未修复的漏洞,成为攻击者的突破口;
  • 配置不当风险:弱密码、过度开放的权限、不必要的服务启用等,会直接降低系统安全性;
  • 人为操作失误:误删重要文件、误执行危险命令等操作,可能导致数据泄露或系统崩溃。

安全防护的核心目标是:保障系统保密性(数据不泄露)、完整性(数据不被篡改)、可用性(服务不中断)。对于初学者来说,从基础配置和日常操作入手,是构建安全体系的第一步。

二、用户与权限管理:Linux 安全的 "第一道防线"

Linux 是多用户操作系统,权限管理是安全防护的核心。不合理的用户权限配置,可能导致普通用户获取系统控制权,因此必须严格规范用户与权限管理。

1. 用户账号管理:最小权限原则

  • 禁用 root 直接登录:root 是 Linux 系统的超级用户,拥有所有权限。直接使用 root 登录存在极高风险,建议创建普通用户并通过sudo命令临时获取权限。
    操作示例:

    bash

    复制代码
    # 创建普通用户
    useradd -m username  
    # 设置密码
    passwd username  
    # 授予sudo权限(需编辑/etc/sudoers文件)
    visudo  
    # 在文件中添加:username ALL=(ALL:ALL) ALL
  • 定期清理无效账号:删除长期不使用的用户账号,避免被恶意利用。
    操作示例:userdel -r username(-r 参数同时删除用户家目录)。

  • 使用强密码策略:密码应包含大小写字母、数字和特殊符号,长度不低于 8 位。可通过passwd命令强制用户定期修改密码,或通过pam_cracklib模块限制弱密码。

2. 文件与目录权限:控制访问边界

Linux 通过 "读(r)、写(w)、执行(x)" 三种权限,对文件和目录的访问进行控制,权限分为所有者(User)、所属组(Group)、其他用户(Other)三个维度。

  • 权限表示方法:
    权限既可以用数字表示(r=4,w=2,x=1),也可以用字母表示。例如 "rwxr-xr--" 表示:所有者可读 / 写 / 执行,所属组可读 / 执行,其他用户仅可读,对应的数字权限为 754。
  • 关键目录权限配置:
    • /etc/:系统配置文件目录,建议权限设置为 755(所有者可读写执行,其他用户只读执行),避免普通用户篡改配置;
    • /home/:用户家目录,权限建议为 700(仅所有者可访问),保护用户隐私数据;
    • /bin/、/sbin/:系统命令目录,权限建议为 755,禁止普通用户修改系统命令。
  • 谨慎使用 chmod 777:777 权限表示所有用户可读写执行,会导致文件完全暴露,仅在临时测试场景使用,且需及时恢复权限。

3. 特殊权限与 ACL:精细化权限控制

  • SUID/SGID 权限:允许用户临时获得文件所有者或所属组的权限(如passwd命令需要修改 /etc/shadow 文件,通过 SUID 权限实现普通用户执行)。但滥用会带来风险,需定期检查:
    操作示例:find / -perm -4000 -o -perm -2000(查找带有 SUID/SGID 权限的文件)。
  • ACL(访问控制列表):当基础权限无法满足需求时,可通过 ACL 为用户或组设置更精细的权限。
    操作示例:setfacl -m u:username:rwx /path/to/file(为指定用户授予读写执行权限)。

三、系统服务与端口管理:关闭 "不必要的大门"

Linux 系统默认启用了部分服务(如 ssh、cups 等),每个服务对应一个网络端口,开放不必要的端口会增加被攻击的风险。因此,精简服务、控制端口是安全防护的重要环节。

1. 服务管理:只保留必要服务

  • 查看运行中的服务:
    不同 Linux 发行版命令不同,例如 CentOS 使用systemctl list-unit-files --type=service --state=enabled,Ubuntu 使用service --status-all
  • 禁用无用服务:
    关闭不需要的服务(如邮件服务 postfix、打印服务 cups 等),操作示例:
    systemctl disable --now servicename(disable 永久禁用,--now 立即停止)。
  • 重点防护关键服务:
    SSH 服务是远程管理的常用工具,需特别配置:
    • 修改默认端口(22)为自定义端口(如 2222),减少扫描攻击;
    • 禁用密码登录,改用密钥登录(编辑/etc/ssh/sshd_config,设置PasswordAuthentication no);
    • 限制允许登录的用户(添加AllowUsers username)。

2. 端口管理:控制网络访问

  • 查看开放端口:
    使用netstat -tulnss -tuln查看当前监听的端口,确认每个端口对应的服务是否必要。

  • 使用防火墙限制端口访问:
    Linux 防火墙工具主要有firewalld(CentOS)和ufw(Ubuntu),建议只开放必要端口(如 SSH 端口、Web 服务端口 80/443)。
    操作示例(firewalld):

    bash

    复制代码
    # 开放SSH端口2222
    firewall-cmd --add-port=2222/tcp --permanent  
    # 开放Web端口80和443
    firewall-cmd --add-service=http --permanent  
    firewall-cmd --add-service=https --permanent  
    # 重新加载配置
    firewall-cmd --reload  

四、日志管理与安全审计:及时发现异常行为

日志是系统运行的 "黑匣子",通过分析日志可以追踪用户操作、检测异常登录、定位攻击痕迹。Linux 系统的日志文件主要存放在/var/log/目录下。

1. 核心日志文件及作用

  • /var/log/secure:记录用户登录、sudo 操作、SSH 连接等安全相关事件,是检测暴力破解、异常登录的关键日志;
  • /var/log/messages:系统综合日志,包含内核消息、服务启动 / 停止等信息;
  • /var/log/auth.log(Ubuntu):类似 secure 日志,记录认证相关事件。

2. 日志分析技巧

  • 实时监控日志:使用tail -f /var/log/secure实时查看登录事件,若发现大量失败登录(如来自同一 IP 的多次尝试),可能是暴力破解攻击;
  • 关键词检索:通过grep命令筛选关键信息,例如查找失败的 SSH 登录:
    grep "Failed password" /var/log/secure
  • 设置日志轮转:日志文件会不断增大,通过logrotate工具自动切割、压缩旧日志,避免磁盘空间占满。

五、数据备份与恢复:最后一道 "安全网"

无论防护多么严密,都无法完全避免数据丢失风险(如硬件故障、勒索病毒等)。定期备份数据是保障系统可用性的最后一道防线。

1. 备份策略:3-2-1 原则

  • 3 份备份:同一份数据至少保存 3 个副本;
  • 2 种介质:备份到不同存储介质(如本地硬盘 + U 盘 + 云存储);
  • 1 个离线备份:至少 1 份备份与网络隔离,防止勒索病毒加密。

2. 常用备份工具与操作

  • tar 命令:适用于文件级备份,操作示例:
    tar -zcvf /backup/etc_backup_$(date +%F).tar.gz /etc(备份 /etc 目录并压缩);
  • rsync 工具:支持增量备份,适合远程备份,操作示例:
    rsync -avz /home/ user@remote_ip:/backup/home/(将本地 /home 同步到
相关推荐
fy zs8 分钟前
linux文件系统和软硬连接
linux·centos
破烂pan20 分钟前
Jenkins 定时触发(cron)使用说明
运维·jenkins
QT 小鲜肉23 分钟前
【个人成长笔记】将Try Ubuntu里面配置好的文件系统克隆在U盘上(创建一个带有持久化功能的Ubuntu Live USB系统)
linux·开发语言·数据库·笔记·ubuntu
拾心212 小时前
【云运维】ELK笔记
运维·elk
AC是你的谎言2 小时前
网络层和数据链路层
linux·网络·学习·智能路由器
AWS官方合作商2 小时前
深入解析:利用EBS直接API实现增量快照与精细化数据管理(AWS)
运维·云计算·aws
waves浪游2 小时前
基础开发工具(下)
linux·运维·服务器·开发语言·c++
Miki Makimura2 小时前
KVStore 多行文章型键值扩展解析:切片存储与客户端多行交互
运维·服务器·网络·学习
春风霓裳3 小时前
ubuntu磁盘管理、磁盘扩容
linux·运维·ubuntu
广州服务器托管3 小时前
WIN11.26H1.27982.1中简优化版 45进程(2025.11.8)
运维·人工智能·计算机网络·云计算·可信计算技术