插件窝 干货文章 使用Linux命令维护服务器安全

使用Linux命令维护服务器安全

sudo install Ubuntu Debian 1002    来源:    2025-04-12

Linux服务器安全维护指南

作为IT工程师,维护Linux服务器安全是至关重要的任务。以下是一套全面的Linux服务器安全维护命令和最佳实践:

1. 系统更新与补丁管理

# 更新软件包列表
sudo apt update        # Debian/Ubuntu
sudo yum check-update  # CentOS/RHEL

# 升级所有已安装的软件包
sudo apt upgrade       # Debian/Ubuntu
sudo yum update        # CentOS/RHEL

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

2. 用户账户管理

# 检查当前登录用户
who

# 查看所有用户
cat /etc/passwd

# 添加新用户
sudo adduser newusername

# 设置/修改密码
sudo passwd username

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

# 删除用户
sudo userdel -r username  # -r同时删除家目录

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

3. SSH安全配置

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

# 推荐修改以下参数:
Port 2222                     # 修改默认端口
PermitRootLogin no             # 禁止root直接登录
PasswordAuthentication no      # 禁用密码认证,仅使用密钥
MaxAuthTries 3                 # 最大尝试次数
ClientAliveInterval 300        # 超时断开非活动连接
AllowUsers user1 user2         # 只允许特定用户登录

# 重启SSH服务
sudo systemctl restart sshd

4. 防火墙配置

# UFW (Ubuntu)
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp  # 允许SSH新端口

# firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

# iptables (通用)
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
sudo iptables -A INPUT -j DROP

5. 文件系统安全

# 检查文件权限
find / -type f -perm -o+w -exec ls -l {} \;  # 查找全局可写文件
find / -type d -perm -o+w -exec ls -ld {} \; # 查找全局可写目录

# 设置关键文件权限
sudo chmod 600 /etc/shadow
sudo chmod 644 /etc/passwd
sudo chmod 640 /etc/group

# 查找SUID/SGID文件
find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \;

6. 日志监控与分析

# 查看系统日志
sudo tail -f /var/log/syslog       # Debian/Ubuntu
sudo tail -f /var/log/messages      # CentOS/RHEL

# 查看认证日志
sudo tail -f /var/log/auth.log      # Debian/Ubuntu
sudo tail -f /var/log/secure        # CentOS/RHEL

# 查看失败的登录尝试
sudo grep "Failed password" /var/log/auth.log
sudo grep "Invalid user" /var/log/auth.log

# 安装并配置fail2ban防止暴力破解
sudo apt install fail2ban          # Debian/Ubuntu
sudo yum install fail2ban          # CentOS/RHEL
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local # 根据需要修改配置
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

7. 恶意软件扫描

# 安装ClamAV进行病毒扫描
sudo apt install clamav clamav-daemon  # Debian/Ubuntu
sudo yum install clamav clamd          # CentOS/RHEL

# 更新病毒定义
sudo freshclam

# 扫描系统
sudo clamscan -r --bell -i /

# 安装rkhunter进行rootkit检测
sudo apt install rkhunter  # Debian/Ubuntu
sudo yum install rkhunter  # CentOS/RHEL

# 更新并运行检测
sudo rkhunter --update
sudo rkhunter --check

8. 网络连接监控

# 查看当前网络连接
sudo netstat -tulnp
sudo ss -tulnp

# 查看可疑连接
sudo lsof -i

# 安装iftop监控带宽使用
sudo apt install iftop  # Debian/Ubuntu
sudo yum install iftop  # CentOS/RHEL
sudo iftop

9. 定期安全审计

# 使用Lynis进行安全审计
sudo apt install lynis  # Debian/Ubuntu
sudo yum install lynis  # CentOS/RHEL
sudo lynis audit system

# 使用OpenSCAP进行合规检查
sudo apt install openscap-scanner scap-security-guide  # Debian/Ubuntu
sudo yum install openscap-scanner scap-security-guide  # CentOS/RHEL
sudo oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_standard --results scan-results.xml /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-ds.xml

10. 备份策略

# 创建关键文件备份
sudo tar -czvf /backup/etc_backup_$(date +%Y%m%d).tar.gz /etc

# 设置自动备份 (编辑crontab)
sudo crontab -e
# 添加以下行进行每日备份
0 2 * * * tar -czvf /backup/etc_backup_$(date +\%Y\%m\%d).tar.gz /etc

最佳实践建议

  1. 最小权限原则:只授予用户完成任务所需的最小权限
  2. 定期更新:保持系统和所有软件包更新到最新版本
  3. 禁用不必要的服务:关闭所有不需要的网络服务
  4. 监控日志:设置日志监控和告警机制
  5. 使用强密码策略:实施复杂的密码要求
  6. 双因素认证:对关键系统实施双因素认证
  7. 定期审计:定期进行安全审计和漏洞扫描
  8. 备份验证:定期测试备份的完整性和可恢复性

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