插件窝 干货文章 Linux服务器安全:使用命令保护你的系统

Linux服务器安全:使用命令保护你的系统

sudo bash 检查 文件 532    来源:    2025-04-12

Linux服务器安全:关键命令与最佳实践

一、用户与权限管理

1. 用户账户管理

# 创建新用户并设置密码
sudo useradd -m -s /bin/bash username
sudo passwd username

# 锁定/解锁用户账户
sudo usermod -L username  # 锁定
sudo usermod -U username  # 解锁

# 删除用户及其主目录
sudo userdel -r username

2. 组管理

# 创建组
sudo groupadd groupname

# 将用户添加到组
sudo usermod -aG groupname username

# 查看用户所属组
groups username

3. 文件权限管理

# 修改文件所有者
sudo chown user:group filename

# 修改文件权限
chmod 750 filename  # 所有者:rwx, 组:r-x, 其他:---

# 设置SUID/SGID/sticky bit
chmod u+s filename  # SUID
chmod g+s filename  # SGID
chmod +t directory  # Sticky bit

二、系统监控与审计

1. 登录监控

# 查看最近登录的用户
last

# 查看失败的登录尝试
lastb

# 查看当前登录用户
who

2. 进程监控

# 查看系统进程
top
htop

# 查找可疑进程
ps aux | grep suspicious_process

3. 文件完整性检查

# 使用AIDE进行文件完整性检查
sudo aide --check

# 使用tripwire进行文件监控
sudo tripwire --check

三、防火墙与网络防护

1. UFW防火墙

# 启用防火墙
sudo ufw enable

# 允许SSH连接
sudo ufw allow ssh

# 拒绝特定IP
sudo ufw deny from 192.168.1.100

# 查看防火墙状态
sudo ufw status verbose

2. iptables高级防火墙

# 阻止IP地址
sudo iptables -A INPUT -s 192.168.1.100 -j DROP

# 允许已建立的连接
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# 保存iptables规则
sudo iptables-save > /etc/iptables/rules.v4

四、SSH安全加固

1. SSH配置

# 编辑SSH配置文件
sudo nano /etc/ssh/sshd_config

# 推荐配置项:
Port 2222  # 更改默认端口
PermitRootLogin no
PasswordAuthentication no  # 仅使用密钥认证
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 0

2. SSH密钥管理

# 生成SSH密钥对
ssh-keygen -t ed25519

# 将公钥复制到服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server -p 2222

五、日志管理与分析

1. 重要日志文件

# 认证日志
tail -f /var/log/auth.log

# 系统日志
tail -f /var/log/syslog

# SSH日志
tail -f /var/log/secure  # 在RHEL/CentOS上

2. 日志分析工具

# 使用grep搜索特定内容
grep "Failed password" /var/log/auth.log

# 使用journalctl查看系统日志
journalctl -xe

# 使用logwatch分析日志
sudo logwatch --detail High

六、自动安全更新

# 启用自动安全更新 (Ubuntu/Debian)
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

# 手动检查更新
sudo apt update && sudo apt upgrade -y

# 对于RHEL/CentOS
sudo yum update --security

七、SELinux/AppArmor

1. SELinux (RHEL/CentOS)

# 查看SELinux状态
sestatus

# 临时更改模式
sudo setenforce 1  # 强制模式
sudo setenforce 0  # 宽容模式

# 永久更改模式
sudo nano /etc/selinux/config

2. AppArmor (Ubuntu/Debian)

# 查看AppArmor状态
sudo apparmor_status

# 强制加载配置文件
sudo apparmor_parser -r /etc/apparmor.d/profile.name

八、恶意软件扫描

# 安装ClamAV
sudo apt install clamav clamav-daemon

# 更新病毒定义
sudo freshclam

# 扫描系统
sudo clamscan -r -i /  # 递归扫描整个系统

九、内核安全加固

# 查看当前内核参数
sysctl -a

# 编辑安全相关内核参数
sudo nano /etc/sysctl.conf

# 推荐配置项:
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.rp_filter=1
net.ipv4.tcp_syncookies=1
net.ipv4.conf.all.accept_redirects=0
kernel.exec-shield=1
kernel.randomize_va_space=2

十、定期安全检查脚本

#!/bin/bash
# 基本安全检查脚本

echo "===== 安全检查开始 ====="
echo "1. 检查未授权的SUID文件..."
find / -perm -4000 -type f -exec ls -la {} \; 2>/dev/null

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

echo "===== 3. 检查世界可写文件 ====="
find / -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print

echo "===== 4. 检查未授权的cron任务 ====="
ls -la /etc/cron.*
crontab -l

echo "===== 安全检查完成 ====="

最佳实践建议

  1. 最小权限原则:只授予用户完成工作所需的最小权限
  2. 定期更新:保持系统和所有软件包更新到最新版本
  3. 备份策略:实施3-2-1备份策略(3份副本,2种介质,1份异地)
  4. 监控与警报:设置关键事件的监控和警报
  5. 禁用不必要的服务:关闭不需要的网络服务
  6. 使用强密码策略:实施复杂的密码要求
  7. 定期审计:定期检查系统配置和日志

通过实施这些命令和最佳实践,您可以显著提高Linux服务器的安全性,减少被攻击的风险。