插件窝 干货文章 安全的Linux服务器环境:利用命令行进行配置与保护

安全的Linux服务器环境:利用命令行进行配置与保护

sudo install 配置 安全 63    来源:    2025-04-12

安全Linux服务器环境配置指南

1. 系统更新与补丁管理

保持系统更新是安全的基础:

# 对于基于Debian的系统 (Ubuntu, Debian)
sudo apt update && sudo apt upgrade -y
sudo apt autoremove

# 对于基于RHEL的系统 (CentOS, RHEL, Rocky Linux)
sudo yum update -y
sudo yum autoremove

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

# 对于RHEL系统设置自动更新
sudo yum install yum-cron -y
sudo systemctl enable --now yum-cron

2. 用户账户安全

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

# 将用户添加到sudo组
sudo usermod -aG sudo username  # Debian/Ubuntu
sudo usermod -aG wheel username  # RHEL/CentOS

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

# 设置密码策略
sudo apt install libpam-pwquality  # Debian/Ubuntu
sudo yum install libpwquality      # RHEL/CentOS

# 编辑密码策略
sudo nano /etc/security/pwquality.conf
# 设置最小长度、复杂度等

3. SSH安全配置

# 备份原始SSH配置
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

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

# 推荐修改以下参数:
Port 2222                      # 更改默认端口
PermitRootLogin no             # 禁止root登录
PasswordAuthentication no      # 禁用密码认证,仅使用密钥
X11Forwarding no               # 禁用X11转发
MaxAuthTries 3                 # 最大认证尝试次数
ClientAliveInterval 300        # 客户端活动间隔
ClientAliveCountMax 0          # 客户端活动计数
AllowUsers username            # 仅允许特定用户登录

# 重启SSH服务
sudo systemctl restart sshd

# 检查SSH服务状态
sudo systemctl status sshd

4. 防火墙配置

# 对于UFW (Ubuntu/Debian)
sudo apt install ufw
sudo ufw allow 2222/tcp        # 允许自定义SSH端口
sudo ufw enable

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

# 查看防火墙状态
sudo ufw status               # UFW
sudo firewall-cmd --list-all  # firewalld

5. 入侵检测与预防

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

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

# 启动fail2ban
sudo systemctl enable --now fail2ban

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

# 更新rkhunter数据库并扫描
sudo rkhunter --update
sudo rkhunter --check

6. 文件系统安全

# 设置文件权限
sudo chmod 700 /home/username  # 限制家目录访问
sudo chmod 600 ~/.ssh/authorized_keys

# 查找SUID/SGID文件
sudo find / -perm /4000 -type f -exec ls -ld {} \;
sudo find / -perm /2000 -type f -exec ls -ld {} \;

# 查找世界可写文件
sudo find / -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print
sudo find / -xdev -type f \( -perm -0002 -a ! -perm -1000 \) -print

# 安装aide进行文件完整性检查
sudo apt install aide          # Debian/Ubuntu
sudo yum install aide          # RHEL/CentOS

# 初始化aide数据库
sudo aideinit
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

# 设置定期检查
sudo crontab -e
# 添加: 0 5 * * * /usr/bin/aide --check

7. 日志监控

# 安装并配置logwatch
sudo apt install logwatch      # Debian/Ubuntu
sudo yum install logwatch      # RHEL/CentOS

# 配置logwatch
sudo nano /etc/logwatch/conf/logwatch.conf

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

# 查看重要日志
sudo tail -f /var/log/auth.log    # Debian/Ubuntu
sudo tail -f /var/log/secure      # RHEL/CentOS
sudo journalctl -f                # 查看systemd日志

8. 内核安全参数

# 编辑sysctl配置加强安全
sudo nano /etc/sysctl.conf

# 添加或修改以下参数
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
kernel.exec-shield = 1
kernel.randomize_va_space = 2

# 应用配置
sudo sysctl -p

9. 服务最小化

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

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

# 查找监听端口
sudo netstat -tulnp
sudo ss -tulnp

10. 定期安全审计

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

# 运行审计
sudo lynis audit system

# 使用OpenSCAP进行合规检查
sudo apt install openscap-scanner scap-security-guide  # Debian/Ubuntu
sudo yum install openscap-scanner scap-security-guide  # RHEL/CentOS

# 运行扫描
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

总结

通过以上步骤,您可以建立一个相对安全的Linux服务器环境。请记住:

  1. 安全是一个持续的过程,不是一次性的任务
  2. 定期更新系统和应用软件
  3. 监控日志和系统活动
  4. 遵循最小权限原则
  5. 定期进行安全审计和漏洞扫描

根据您的具体需求和环境,可能需要调整某些配置。在生产环境实施前,建议在测试环境中验证所有更改。