CentOS系统安全配置防御维度

2025-08-08 09:08:22 RAIZ

 

安全部署防御维度都有哪些

    CentOS 系统安全配置的主要意图是构建一个防御性架构,通过多层次防护措施降低系统被攻击的风险,确保数据和服务的安全性、完整性和可用性。具体意图可分为以下核心方面:


1. 最小化攻击面

  • • 意图:减少系统暴露的潜在漏洞
  • • 实现方式
    • • 关闭非必要服务(如 avahi-daemoncups
    • • 卸载无用软件包
    • • 限制网络开放端口(通过防火墙规则)
    • • 禁用不必要的协议(如 ICMP 响应)

2. 身份认证加固

  • • 意图:防止未授权访问
  • • 实现方式
    • • 强制复杂密码策略(长度、字符类型)
    • • 禁用 root 远程登录
    • • 启用 SSH 密钥认证
    • • 配置账户锁定机制(如 fail2ban

3. 权限控制

  • • 意图:遵循最小权限原则
  • • 实现方式
    • • 严格设置文件/目录权限(如 /etc/passwd 只读)
    • • 清理 SUID/SGID 危险文件
    • • 通过 SELinux 实施强制访问控制(MAC)
    • • 配置合理的 umask 默认值

4. 入侵检测与防御

  • • 意图:实时监控和阻断恶意行为
  • • 实现方式
    • • 启用审计服务(auditd)记录关键操作
    • • 部署 fail2ban 防暴力破解
    • • 定期扫描 rootkit(rkhunterchkrootkit
    • • 内核级防护(如 ASLR 内存随机化)

5. 数据保护

  • • 意图:防止敏感信息泄露或篡改
  • • 实现方式
    • • 监控系统关键文件(如 /etc/shadow 的修改)
    • • 加密通信(SSH 强加密算法)
    • • 日志集中存储(防删除篡改)

6. 合规性要求

  • • 意图:满足安全标准(如等保、ISO27001)
  • • 实现方式
    • • 密码复杂度符合政策要求
    • • 留存审计日志(满足事后追溯)
    • • 定期漏洞扫描(如 lynis 自动化检查)

7. 持续性安全维护

  • • 意图:建立长期安全运维机制
  • • 实现方式
    • • 自动安全更新(yum-cron
    • • 定期安全检查任务(通过 cron 调度)
    • • 内核参数优化(如防 SYN 洪水攻击)

关键安全理念体现

  • • 纵深防御:不依赖单一防护层(网络+主机+应用)
  • • 默认拒绝:白名单机制(如防火墙只放行必要端口)
  • • 零信任:即使内部访问也需验证(如 SSH 密钥)

ℹ️ 注意:安全配置需平衡安全性与可用性。过度限制可能导致服务异常,建议在生产环境部署前进行充分测试。

具体配置如下

一、系统更新与补丁管理

  1. 1. 定期更新系统
sudo yum update -y
sudo yum upgrade -y
  1. 2. 启用自动安全更新
sudo yum install yum-cron -y
sudo systemctl enable yum-cron
sudo systemctl start yum-cron

配置 /etc/yum/yum-cron.conf 设置自动更新策略

二、账户与认证安全

  1. 1. 密码策略配置
sudo vi /etc/login.defs

修改以下参数:

PASS_MAX_DAYS 90
PASS_MIN_DAYS 7
PASS_MIN_LEN 12
PASS_WARN_AGE 14
  1. 2. 安装并配置 pam_pwquality
sudo yum install libpwquality -y
sudo vi /etc/security/pwquality.conf

添加/修改:

minlen = 12
dcredit = -1
ucredit = -1
ocredit = -1
lcredit = -1
  1. 3. 限制root远程登录
sudo vi /etc/ssh/sshd_config

修改:

PermitRootLogin no

三、SSH安全加固

  1. 1. 修改SSH默认端口
sudo vi /etc/ssh/sshd_config

修改:

Port 2222  # 改为非标准端口
  1. 2. 启用密钥认证,禁用密码认证
PubkeyAuthentication yes
PasswordAuthentication no
  1. 3. 限制SSH访问IP
AllowUsers user@192.168.1.*
  1. 4. 配置SSH超时
ClientAliveInterval 300
ClientAliveCountMax 0
  1. 5. 重启SSH服务
sudo systemctl restart sshd

四、防火墙配置

  1. 1. 启用firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld
  1. 2. 基本规则配置
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-port=2222/tcp  # 如果修改了SSH端口
sudo firewall-cmd --reload
  1. 3. 限制ICMP
sudo firewall-cmd --permanent --add-icmp-block=echo-reply
sudo firewall-cmd --permanent --add-icmp-block=echo-request

五、SELinux配置

  1. 1. 检查SELinux状态
sestatus
  1. 2. 配置为强制模式
sudo vi /etc/selinux/config

确保:

SELINUX=enforcing

六、文件系统安全

  1. 1. 关键目录权限设置
sudo chmod 700 /boot /usr/src /lib/modules /etc/sysconfig/network-scripts
sudo chmod 750 /var/log
  1. 2. 设置umask
sudo vi /etc/profile

添加:

umask 027
  1. 3. 禁用不必要的SUID/SGID
find / -perm /4000 -type f -exec ls -la {} \; 2>/dev/null
find / -perm /2000 -type f -exec ls -la {} \; 2>/dev/null

七、服务与进程安全

  1. 1. 禁用不必要的服务
sudo systemctl disable avahi-daemon cups bluetooth
sudo systemctl stop avahi-daemon cups bluetooth
  1. 2. 检查监听端口
sudo netstat -tulnp
sudo ss -tulnp

八、日志与监控

  1. 1. 启用审计服务
sudo yum install audit -y
sudo systemctl enable auditd
sudo systemctl start auditd
  1. 2. 配置审计规则
sudo vi /etc/audit/audit.rules

添加:

-w /etc/passwd -p wa -k identity
-w /etc/group -p wa -k identity
-w /etc/shadow -p wa -k identity
  1. 3. 安装并配置fail2ban
sudo yum install epel-release -y
sudo yum install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

九、内核参数加固

  1. 1. 修改sysctl配置
sudo vi /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
  1. 2. 应用配置
sudo sysctl -p

十、定期安全检查

  1. 1. 安装安全检查工具
sudo yum install rkhunter chkrootkit lynis -y
  1. 2. 定期扫描
sudo rkhunter --check
sudo chkrootkit
sudo lynis audit system
  1. 3. 设置cron任务定期检查
sudo crontab -e

添加:

0 3 * * * /usr/bin/rkhunter --check --cronjob

    通过以上全面的安全配置,可以显著提高CentOS系统的安全性。根据实际环境需求,可能需要调整某些配置项。建议在实施前在测试环境验证,并确保有完整的备份和回滚方案。



我要咨询