系统安全基础

1. 系统监控

查看系统日志,及时发现异常

实时查看系统日志

tail -f /var/log/syslog

查看系统认证日志

tail -f /var/log/auth.log

查看登录记录

last

查看失败的登录尝试

faillog -a

2. 账户安全

定期检查系统账户和权限

查看所有用户账户

cat /etc/passwd

检查空密码账户

awk -F: '($2 == "") {print $1}' /etc/shadow

查看特权用户组

grep -E "^sudo|^admin" /etc/group

检查最近用户登录情况

lastlog

3. 文件系统安全

检查文件权限和特殊权限

查找具有SUID权限的文件

find / -perm -4000 -type f

查找具有SGID权限的文件

find / -perm -2000 -type f

查找世界可写的文件

find / -perm -2 -type f

查找未被授权的文件

find / -nouser -o -nogroup

防火墙配置

1. UFW防火墙

启用UFW

sudo ufw enable

查看防火墙状态

sudo ufw status verbose

允许SSH连接

sudo ufw allow ssh

允许特定端口

sudo ufw allow 80/tcp

拒绝特定IP地址

sudo ufw deny from 192.168.1.100

2. iptables基础

查看当前规则

sudo iptables -L

允许已建立的连接

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

允许本地回环接口

sudo iptables -A INPUT -i lo -j ACCEPT

保存规则

sudo iptables-save > /etc/iptables/rules.v4

系统备份与恢复

1. 文件备份

使用rsync进行增量备份

本地备份

rsync -av --delete /source/path/ /backup/path/

远程备份

rsync -avz -e ssh /source/path/ user@remote:/backup/path/

排除特定文件的备份

rsync -av --exclude='*.tmp' /source/path/ /backup/path/

2. 系统备份

使用tar创建完整备份

创建系统备份

sudo tar -czpf /backup/system-backup-$(date +%Y%m%d).tar.gz --exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/backup /

备份重要配置文件

sudo tar -czf /backup/etc-backup-$(date +%Y%m%d).tar.gz /etc/

3. 数据恢复

从tar备份恢复

sudo tar -xzpf backup.tar.gz -C /

使用rsync恢复数据

rsync -av /backup/path/ /restore/path/

系统维护最佳实践

  1. 定期更新系统

    更新Debian/Ubuntu系统

    sudo apt update
    sudo apt upgrade
    

    更新Red Hat/CentOS系统

    sudo yum update
    
  2. 磁盘空间管理

    查看磁盘使用情况

    df -h
    

    查找大文件

    find / -type f -size +100M
    

清理旧日志

sudo find /var/log -type f -name "*.gz" -delete
  1. 性能监控

    系统负载监控

    top
    

    磁盘IO监控

    iotop
    

网络连接监控

netstat -tuln

安全加固建议

  1. 禁用不必要的服务

    查看运行的服务

    systemctl list-units --type=service
    

    禁用服务

    sudo systemctl disable service_name
    
  2. 限制SSH访问

  • 修改SSH配置文件 /etc/ssh/sshd_config
    • 禁用root登录
    • 使用密钥认证
    • 更改默认端口
  1. 定期备份
  • 创建自动备份计划
  • 测试备份的可用性
  • 将备份存储在不同的物理位置
  1. 日志管理
  • 定期检查系统日志
  • 配置日志轮转
  • 保存重要日志到远程服务器
  1. 系统监控
  • 设置资源使用告警
  • 监控异常登录
  • 定期进行安全审计