插件窝 干货文章 Linux服务器安全加固:配置和优化您的系统

Linux服务器安全加固:配置和优化您的系统

sudo systemctl etc 安全 743    来源:    2025-04-12

Linux服务器安全加固指南

1. 系统更新与补丁管理

# 定期更新系统软件包
sudo apt update && sudo apt upgrade -y  # Debian/Ubuntu
sudo yum update -y                      # CentOS/RHEL
sudo dnf upgrade -y                     # Fedora

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

2. 用户账户与权限管理

# 创建新用户并设置强密码
sudo adduser newuser
sudo passwd newuser

# 禁用root SSH登录
sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart sshd

# 设置sudo权限
sudo visudo
# 添加: newuser ALL=(ALL:ALL) ALL

3. SSH安全配置

# 修改SSH默认端口
sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config

# 禁用密码认证,启用密钥认证
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/' /etc/ssh/sshd_config

# 限制SSH访问IP
echo "sshd: 192.168.1.100" | sudo tee -a /etc/hosts.allow
echo "sshd: ALL" | sudo tee -a /etc/hosts.deny

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

5. 文件系统安全

# 检查敏感文件权限
sudo chmod 600 /etc/shadow
sudo chmod 644 /etc/passwd
sudo chmod 600 /home/*/.ssh/authorized_keys

# 禁用不必要的SUID/SGID程序
sudo find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \;

6. 日志监控与审计

# 启用auditd服务
sudo systemctl start auditd
sudo systemctl enable auditd

# 监控重要文件更改
sudo auditctl -w /etc/passwd -p wa -k passwd_changes
sudo auditctl -w /etc/shadow -p wa -k shadow_changes

# 配置日志轮转
sudo nano /etc/logrotate.conf

7. 内核安全参数

# 编辑sysctl.conf
sudo nano /etc/sysctl.conf

# 添加以下内容:
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.all.accept_redirects=0
net.ipv6.conf.all.accept_redirects=0
net.ipv4.tcp_syncookies=1
kernel.exec-shield=1
kernel.randomize_va_space=2

# 应用配置
sudo sysctl -p

8. 安装安全工具

# 安装fail2ban防止暴力破解
sudo apt install fail2ban -y  # Debian/Ubuntu
sudo yum install fail2ban -y  # CentOS/RHEL

# 配置fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
sudo systemctl restart fail2ban

# 安装rootkit检测工具
sudo apt install rkhunter chkrootkit -y
sudo rkhunter --update
sudo rkhunter --propupd
sudo rkhunter --check

9. 服务最小化原则

# 查看所有运行的服务
sudo systemctl list-units --type=service --state=running

# 禁用不必要的服务
sudo systemctl stop servicename
sudo systemctl disable servicename

# 使用netstat查看开放端口
sudo netstat -tulnp

10. 定期安全扫描

# 使用Lynis进行安全审计
sudo apt install lynis -y
sudo lynis audit system

# 使用OpenVAS或Nessus进行漏洞扫描
# 需要单独安装配置

最佳实践建议

  1. 定期备份重要数据
  2. 实施最小权限原则
  3. 监控系统日志和异常活动
  4. 定期审查用户账户和权限
  5. 保持安全意识和培训
  6. 考虑使用SELinux或AppArmor进行强制访问控制

通过实施这些措施,您可以显著提高Linux服务器的安全性,降低被攻击的风险。