插件窝 干货文章 打造一个强大的安全基础设施:Linux服务器安全

打造一个强大的安全基础设施:Linux服务器安全

sudo 安全 install Ubuntu 319    来源:    2025-04-11

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 apt list --installed  # Debian/Ubuntu
sudo yum list installed    # CentOS/RHEL

# 移除不需要的软件
sudo apt purge <package>   # Debian/Ubuntu
sudo yum remove <package>  # CentOS/RHEL

二、用户与权限管理

1. 用户账户安全

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

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

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

# 编辑/etc/pam.d/common-password或/etc/pam.d/system-auth配置密码复杂度要求

2. Sudo权限管理

# 使用visudo安全编辑sudoers文件
sudo visudo

# 示例:允许用户执行特定命令
username ALL=(ALL) /usr/bin/apt update, /usr/bin/apt upgrade

三、网络安全配置

1. 防火墙配置

# UFW (Ubuntu)
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# Firewalld (CentOS/RHEL)
sudo systemctl enable firewalld
sudo systemctl start firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

2. SSH安全加固

# 编辑/etc/ssh/sshd_config
Port 2222                           # 更改默认端口
PermitRootLogin no                  # 禁用root登录
PubkeyAuthentication yes            # 启用密钥认证
PasswordAuthentication no           # 禁用密码认证
MaxAuthTries 3                      # 最大尝试次数
ClientAliveInterval 300             # 超时设置
ClientAliveCountMax 2
AllowUsers user1 user2              # 只允许特定用户

# 重启SSH服务
sudo systemctl restart sshd

四、文件系统安全

1. 文件权限管理

# 关键目录权限设置
sudo chmod 700 /root
sudo chmod 600 /etc/shadow
sudo chmod 644 /etc/passwd

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

2. 文件完整性检查

# 安装AIDE (高级入侵检测环境)
sudo apt install aide   # Debian/Ubuntu
sudo yum install aide   # CentOS/RHEL

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

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

五、日志与监控

1. 日志配置

# 配置rsyslog
sudo vim /etc/rsyslog.conf

# 安装和配置logwatch
sudo apt install logwatch   # Debian/Ubuntu
sudo yum install logwatch   # CentOS/RHEL
sudo vim /etc/logwatch/conf/logwatch.conf

2. 入侵检测系统

# 安装OSSEC
sudo apt install ossec-hids-server   # Debian/Ubuntu
sudo yum install ossec-hids          # CentOS/RHEL

# 或安装Fail2Ban
sudo apt install fail2ban   # Debian/Ubuntu
sudo yum install fail2ban   # CentOS/RHEL

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

六、高级安全措施

1. SELinux/AppArmor

# SELinux (CentOS/RHEL)
sudo setenforce 1           # 强制模式
sudo getenforce             # 检查状态
sudo semanage port -a -t ssh_port_t -p tcp 2222  # 自定义端口

# AppArmor (Ubuntu)
sudo aa-enforce /etc/apparmor.d/*
sudo apparmor_status

2. 内核安全参数

# 编辑/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

七、定期维护

  1. 安全审计:定期使用工具如Lynis进行安全审计

    sudo apt install lynis   # Debian/Ubuntu
    sudo yum install lynis   # CentOS/RHEL
    sudo lynis audit system
    
  2. 备份策略:实施3-2-1备份策略(3份备份,2种介质,1份离线)

  3. 漏洞扫描:定期使用OpenVAS或Nessus进行漏洞扫描

  4. 安全培训:确保管理员了解最新安全威胁和最佳实践

通过实施这些安全措施,您可以显著提高Linux服务器的安全性,降低被攻击的风险。请记住,安全是一个持续的过程,需要定期审查和更新安全策略。