自学linux第十八天:【Linux运维实战】系统性能优化与安全加固精要

【Linux运维实战】系统性能优化与安全加固精要

最近在学习系统性能优化和安全加固,这是运维工程师必须掌握的硬核技能!今天把这两个关键主题的精华整理出来,帮助大家快速掌握核心要点。

一、系统性能优化核心要点

🎯 优化目标与原则

优化目标

  • 提升系统响应速度

  • 提高资源利用率

  • 避免系统瓶颈

核心原则

  1. 监控先行:先分析瓶颈,再针对性优化

  2. 逐步调整:避免一次性修改过多参数

  3. 稳定性优先:优化后需充分测试

📊 性能监控工具集

1. 进程监控工具
复制代码
# top - 基础监控
top
# 关键指标:%CPU(CPU占用率)、%MEM(内存占用率)、LOAD AVERAGE(系统负载)

# htop - 增强版(需安装)
sudo yum install htop -y
htop
2. 系统状态监控
复制代码
# vmstat - 查看系统整体状态
vmstat 1        # 每秒输出一次
# 关键列:
# r:等待CPU的进程数(>CPU核数表示过载)
# si:每秒从磁盘读入swap的数据量
# so:每秒写入swap的数据量(频繁交换说明内存不足)
3. 磁盘I/O监控
复制代码
# iostat - 查看磁盘I/O性能
iostat -xz 1    # 每秒刷新一次,显示详细信息
# 关键指标:
# %util:磁盘利用率(>80%表示瓶颈)
# await:I/O等待时间(越小越好)
4. 网络监控
复制代码
# 查看TCP连接数
netstat -ant | grep ESTABLISHED | wc -l

# 统计套接字信息
ss -s
5. 高级监控工具
复制代码
# sar - 系统活动报告(需安装sysstat)
sudo yum install sysstat -y
sar -u 1 3      # 查看CPU使用率(每秒1次,共3次)
sar -r          # 查看内存使用历史

# dstat - 综合监控工具
sudo yum install dstat -y
dstat -cmsn     # 监控CPU、内存、网络、磁盘

⚡ 子系统优化策略

1. CPU优化
复制代码
# 调整进程优先级(范围:-20到19,越小优先级越高)
nice -n 19 ./script.sh      # 以低优先级启动进程
renice 19 -p PID            # 修改运行中进程的优先级

# 绑定CPU核心(减少上下文切换)
taskset -c 0,1 ./program    # 绑定到CPU0和CPU1

# 内核参数调整
sudo vim /etc/sysctl.conf
# 添加:kernel.sched_child_runs_first = 1 (子进程优先调度)
sudo sysctl -p
2. 内存优化
复制代码
# 调整Swap使用策略
sudo vim /etc/sysctl.conf
# 添加以下参数:
vm.swappiness = 10          # 降低Swap使用倾向(0-100,默认60)
vm.vfs_cache_pressure = 50  # 减少inode缓存回收频率
sudo sysctl -p

🔧 资源限制优化

修改用户级限制
复制代码
# 编辑配置文件
sudo vim /etc/security/limits.conf

# 添加以下内容:
* soft nofile 65535    # 文件描述符软限制
* hard nofile 65535    # 文件描述符硬限制

# 生效方式:
# 1. 重启会话
# 2. 或执行:ulimit -n 65535

⚠️ 安全与注意事项

  1. 备份配置文件

    复制代码
    sudo cp /etc/sysctl.conf /etc/sysctl.conf.backup
    sudo cp /etc/security/limits.conf /etc/security/limits.conf.backup
  2. 灰度测试:先在测试环境验证参数调整效果

  3. 避免过度优化:如果没有明确瓶颈,保持默认配置即可

二、系统安全基线及加固

🛡️ 系统安全基线检查

1. 账户与认证安全

检查点1:默认账户状态

复制代码
# 锁定不必要的默认账户
sudo passwd -l guest
sudo passwd -l test

# 删除不必要的账户
sudo userdel test

检查点2:密码策略配置

复制代码
# 修改密码策略
sudo vim /etc/login.defs
# 设置:
PASS_MAX_DAYS 90     # 密码最长有效期90天
PASS_MIN_LEN 8       # 密码最小长度8位
PASS_WARN_AGE 7      # 密码到期前7天告警

# 安装并配置密码复杂度
sudo yum install libpam-pwquality -y
sudo vim /etc/security/pwquality.conf
# 设置:
minlen = 8           # 密码最少8位
dcredit = -1         # 至少包含1个数字
ucredit = -1         # 至少包含1个大写字母
lcredit = -1         # 至少包含1个小写字母
ocredit = -1         # 至少包含1个特殊字符
minclass = 3         # 至少包含3种字符类别

检查点3:禁止root直接登录

复制代码
# 修改SSH配置
sudo vim /etc/ssh/sshd_config
# 设置:PermitRootLogin no
sudo systemctl restart sshd

检查点4:空密码账户检查

复制代码
# 查找空密码账户
awk -F: '($2 == "") {print $1}' /etc/shadow
2. 文件与目录权限

检查点1:关键文件权限

复制代码
# 设置关键文件权限
chmod 644 /etc/passwd    # 所有人可读,仅root可写
chmod 000 /etc/shadow    # 仅root可访问

检查点2:全局可写文件检查

复制代码
# 查找权限为777的文件
find / -perm -0777 -type f -exec ls -l {} \;

检查点3:无属主文件检查

复制代码
# 查找并修复无属主文件
find / -nouser -o -nogroup | xargs chown root:root

检查点4:临时目录粘滞位

复制代码
# 设置临时目录粘滞位
chmod +t /tmp
3. 日志与审计

检查点1:日志服务状态

复制代码
# 确保日志服务运行
systemctl status rsyslog
systemctl status auditd

检查点2:关键日志权限

复制代码
# 设置日志文件权限
chmod 640 /var/log/secure

检查点3:审计关键文件

复制代码
# 配置auditd规则
sudo vim /etc/audit/rules.d/audit.rules
# 添加:-w /etc/passwd -p wa -k passwd_change
sudo systemctl restart auditd
4. 更新与补丁

检查点:系统更新检查

复制代码
# 定期更新系统
yum update -y          # CentOS/RedHat
apt update && apt upgrade -y  # Debian/Ubuntu

🔒 系统安全加固措施

1. 账户与认证加固

加固点1:禁用默认账户与空密码账户

复制代码
# 锁定默认账户
sudo passwd -l guest

# 删除空密码账户
sudo userdel $(awk -F: '($2 == "") {print $1}' /etc/shadow)

加固点2:强化密码策略

复制代码
# 修改登录定义
sudo vim /etc/login.defs
# 设置:
PASS_MAX_DAYS 90     # 密码最长使用90天
PASS_MIN_DAYS 1      # 最短修改间隔1天
PASS_WARN_AGE 7      # 密码到期前7天提醒

# 配置密码复杂度
sudo vim /etc/security/pwquality.conf
# 设置:
minlen = 10          # 密码最小长度10位
minclass = 3         # 包含至少3种字符种类

加固点3:限制sudo权限

复制代码
# 编辑sudoers文件
sudo visudo
# 添加以下内容:

# 仅允许admin组用户使用sudo
%admin ALL=(ALL) ALL

# 禁止普通用户执行危险命令
User_Alias RESTRICTED_USERS = alice, bob
Cmnd_Alias DANGEROUS_CMDS = /sbin/reboot, /sbin/shutdown
RESTRICTED_USERS ALL=(ALL) ALL, !DANGEROUS_CMDS
2. 文件系统与权限加固

加固点1:关键文件权限控制

复制代码
# 设置敏感文件权限
chmod 600 /etc/shadow    # 仅Root可读写
chmod 640 /etc/passwd    # Root可读写,其他用户只读

加固点2:禁用危险权限文件

复制代码
# 查找所有SUID/SGID文件
find / -perm /4000 -o -perm /2000 -exec ls {} \;

# 移除不必要的SUID权限
chmod u-s /usr/bin/example_tool

加固点3:挂载选项加固

复制代码
# 编辑/etc/fstab文件
sudo vim /etc/fstab
# 为关键分区添加安全选项:

# /tmp分区
/tmp /tmp ext4 defaults,noexec,nosuid,nodev 0 0

# /home分区
/home /home ext4 defaults,nodev 0 0

📋 实践检查清单

性能优化检查清单

复制代码
# 1. 检查系统负载
uptime

# 2. 检查内存使用
free -h

# 3. 检查磁盘I/O
iostat -x 1

# 4. 检查进程资源占用
ps aux --sort=-%cpu | head -5

安全加固检查清单

复制代码
# 1. 检查空密码账户
awk -F: '($2 == "") {print $1}' /etc/shadow

# 2. 检查root登录设置
grep "PermitRootLogin" /etc/ssh/sshd_config

# 3. 检查文件权限
ls -l /etc/passwd /etc/shadow

# 4. 检查SUID/SGID文件
find / -type f \( -perm -4000 -o -perm -2000 \) 2>/dev/null | head -10

💡 关键要点总结

性能优化要点

  1. 先监控,后优化:使用top、vmstat、iostat等工具找出瓶颈

  2. 逐步调整:一次只修改一个参数,观察效果

  3. 重视稳定性:优化后必须测试系统稳定性

安全加固要点

  1. 最小权限原则:只授予必要的最小权限

  2. 定期检查:建立定期安全检查机制

  3. 及时更新:保持系统和软件最新版本

通用建议

  1. 备份先行:修改重要配置前先备份

  2. 文档记录:记录所有优化和加固操作

  3. 测试验证:在生产环境应用前充分测试


记住:性能优化和安全加固是持续的过程,不是一次性的任务。建立定期检查和优化的习惯,才能确保系统始终保持最佳状态。

行动建议:从今天开始,每周执行一次系统性能检查,每月执行一次安全审计,让你的Linux系统既高效又安全!🔧🔒

相关推荐
世界尽头与你2 小时前
(修复方案)CVE-2023-22047: Oracle PeopleSoft Enterprise PeopleTools 未授权访问漏洞
数据库·安全·oracle·渗透测试
大虾别跑2 小时前
OpenClaw已上线:我的电脑开始自己打工了
linux·ai·openclaw
weixin_437044643 小时前
Netbox批量添加设备——堆叠设备
linux·网络·python
hhy_smile3 小时前
Ubuntu24.04 环境配置自动脚本
linux·ubuntu·自动化·bash
一体化运维管理平台3 小时前
DevOps落地利器:美信监控易如何打通开发与运维?
运维
宴之敖者、3 小时前
Linux——\r,\n和缓冲区
linux·运维·服务器
LuDvei3 小时前
LINUX错误提示函数
linux·运维·服务器
未来可期LJ4 小时前
【Linux 系统】进程间的通信方式
linux·服务器
Abona4 小时前
C语言嵌入式全栈Demo
linux·c语言·面试