CentOS 7 系统深度优化与企业级安全加固全攻略

基于 Linux 系统管理最佳实践,兼顾性能调优与等保合规要求

一、系统基础架构优化

1. 系统初始化配置

(1)时区与时间同步

bash

# 设置系统时区为上海  
timedatectl set-timezone Asia/Shanghai  
# 启用 NTP 时间同步(推荐阿里云 NTP 服务器)  
yum install -y chrony  
echo "server ntp.aliyun.com iburst" >> /etc/chrony.conf  
systemctl restart chronyd && systemctl enable chronyd  
# 验证同步状态  
chronyc sources -v  
(2)主机名规范配置

bash

# 修改静态主机名(建议符合业务命名规范,如 web01.yourdomain.com)  
hostnamectl set-hostname "server01.example.com"  
# 同步 /etc/hosts 文件  
echo "192.168.1.100  server01.example.com  server01" >> /etc/hosts  

2. YUM 源深度优化

(1)多镜像源负载均衡(可选)

创建 /etc/yum.repos.d/dual-aliyun-tencent.repo,配置阿里云与腾讯云镜像源轮询:

ini

[base]  
name=CentOS-$releasever - Base  
failovermethod=roundrobin  
baseurl=  
http://mirrors.aliyun.com/centos/$releasever/base/$basearch/  
http://mirrors.cloud.tencent.com/centos/$releasever/base/$basearch/  
gpgcheck=1  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7  
(2)启用 ELRepo 硬件驱动源(适用于服务器)

bash

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org  
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm  
# 例如:安装最新内核(生产环境需谨慎测试)  
yum --enablerepo=elrepo-kernel install kernel-ml  

二、内核参数与系统资源调优

1. 内核参数精细化配置

编辑 /etc/sysctl.conf,新增以下企业级配置(含注释说明):

bash

# 网络层优化  
net.ipv4.tcp_syncookies = 1        # 防御 SYN Flood 攻击  
net.ipv4.tcp_max_syn_backlog = 4096 # 增大半连接队列,应对高并发 SYN  
net.ipv4.tcp_tw_reuse = 1          # 允许重用 TIME-WAIT  sockets  
net.ipv4.tcp_tw_recycle = 1        # 快速回收 TIME-WAIT  sockets(NAT 环境需谨慎)  
net.ipv4.ip_local_port_range = 1024 65000 # 端口范围调整  

# 文件系统优化  
vm.swappiness = 5                  # 内存充足时尽量少用 swap(建议 1-10)  
vm.overcommit_memory = 1          # 允许适当内存超用(0=启发式,1=允许,2=严格)  
fs.inotify.max_user_watches = 524288 # 解决前端框架(如 Vue/React)监听文件数限制  

# 安全增强  
net.ipv4.icmp_echo_ignore_broadcasts = 1 # 禁用 ICMP 广播响应  
net.ipv4.conf.all.rp_filter = 1          # 严格反向路径过滤(防 IP 欺骗)  
net.ipv6.conf.all.disable_ipv6 = 1       # 禁用 IPv6(若无需使用)  

应用配置sysctl -p && sysctl -a | grep [参数关键词]

2. 资源限制与服务优化

(1)用户级资源限制(/etc/security/limits.conf

bash

# 针对 Node.js/Java 服务场景  
*               soft    nofile          102400  # 单进程最大文件句柄数  
*               hard    nofile          102400  
*               soft    nproc           65535   # 单用户最大进程数  
*               hard    nproc           65535  
root            soft    nofile          unlimited  
(2)服务启动参数优化(以 Nginx 为例)

bash

# 修改 /etc/nginx/nginx.conf  
worker_processes auto;            # 自动根据 CPU 核心数调整  
worker_rlimit_nofile 102400;       # Nginx 进程文件句柄限制  
events {  
    worker_connections 8192;       # 单进程最大连接数  
    use epoll;                    # 使用高效 I/O 模型  
}  

三、企业级安全加固体系

1. 网络访问控制(ACL)

(1)firewalld 严格白名单策略

bash

# 清空默认规则(谨慎操作,需保留 SSH 访问)  
firewall-cmd --permanent --remove-service=all  
# 仅允许必要服务(示例:SSH+HTTP+HTTPS+MySQL)  
firewall-cmd --permanent --add-service={ssh,http,https,mysql}  
# 限制 SSH 仅允许特定 IP 段访问  
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.0/24' service name='ssh' accept"  
firewall-cmd --reload  
(2)TCP Wrappers 深度防护

示例场景:仅允许 example.com 域名下主机访问 FTP 服务

bash

# /etc/hosts.allow  
vsftpd: .example.com  
# /etc/hosts.deny  
vsftpd: ALL  

2. 认证授权体系强化

(1)SSH 密钥认证 + 双因素(2FA)

bash

# 生成 RSA 密钥对(客户端操作)  
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"  
# 上传公钥到服务器(追加到 ~/.ssh/authorized_keys)  
scp id_rsa.pub user@server:/tmp && ssh user@server "cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys"  
# 启用 Google Authenticator 2FA  
yum install -y google-authenticator  
vi /etc/ssh/sshd_config 添加:  
AuthenticationMethods publickey,keyboard-interactive:pam  
(2)禁用弱密码策略(PAM 配置)

编辑 /etc/pam.d/system-auth,新增密码强度检查:

bash

password    requisite     pam_cracklib.so try_first_pass retry=3 minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1  

3. 系统文件与进程防护

(1)关键文件只读锁定

bash

# 锁定 /etc/passwd /etc/shadow 防止篡改  
chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow  
# 验证:尝试修改会提示权限拒绝  
echo "test" >> /etc/passwd  
(2)实时监控可疑进程(psacct 工具)

bash

yum install -y psacct  
systemctl start psacct && systemctl enable psacct  
# 查看历史命令记录  
accton /var/run/acct/pacct  # 开启记录  
lastcomm                        # 查看所有执行过的命令  

四、日志与审计体系建设

1. 集中式日志管理

(1)配置 rsyslog 转发(客户端)

编辑 /etc/rsyslog.conf,添加:

bash

*.* @@logserver.example.com:514   # 转发所有日志到集中日志服务器  
&~                              # 本地不再存储(可选)  
(2)审计日志深度配置(auditd

bash

# 监控 /etc/sudoers 文件变更  
auditctl -w /etc/sudoers -p wa -k sudoers_modify  
# 监控用户登录失败事件  
auditctl -a exit,always -F arch=b64 -S login -S su -S sudo -F exit=-EACCES  
# 保存规则到永久配置  
augenrules --load && auditctl -l  

2. 日志分析与告警(ELK 栈示例)

bash

# 客户端安装 Filebeat  
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.0-x86_64.rpm  
rpm -ivh filebeat-7.17.0-x86_64.rpm  
# 配置转发到 Elasticsearch  
vi /etc/filebeat/filebeat.yml  
output.elasticsearch:  
  hosts: ["logserver.example.com:9200"]  
setup.kibana:  
  host: "logserver.example.com:5601"  
systemctl start filebeat && systemctl enable filebeat  

五、漏洞管理与合规检查

1. 自动化漏洞扫描

(1)OpenVAS 全面扫描

bash

# 安装 OpenVAS(需预留 2GB 以上内存)  
yum install -y openvas  
openvas-setup && openvas-start  
# 访问 Web 界面 https://server:9392 生成漏洞报告  
(2)CIS 基准合规检查

使用 oscap 工具执行 CIS CentOS 7 基准扫描:

bash

yum install -y openscap-scanner  
oscap download --fetch-remote-resources http://www.cisecurity.org/cis-benchmarks  
oscap scan --profile cis_centos7_level1 /usr/share/xml/scap/ssg/content/ssg-centos7-ds.xml  

2. 软件供应链安全

bash

# 校验 RPM 包完整性  
rpm -Va  
# 启用 YUM 插件校验(/etc/yum/pluginconf.d/gpgcheck.conf)  
enabled=1  
# 定期清理过时软件包  
yum autoremove -y && yum clean all  

六、高可用性与灾备方案

1. 系统快照与备份策略

bash

# 基于 LVM 的在线快照(适用于文件系统)  
lvcreate -L 10G -s -n centos_snap /dev/mapper/centos-root  
# 备份关键配置文件(每周自动压缩)  
echo "0 0 * * 0 tar czvf /backup/config_$(date +%Y%m%d).tar.gz /etc/hosts /etc/sysctl.conf /etc/ssh/sshd_config" >> /etc/cron.d/backup  

2. 灾备切换演练(示例)

bash

# 模拟系统崩溃后恢复  
dd if=/dev/zero of=/dev/sda bs=1M count=1024 seek=2048 conv=notrunc # 破坏分区表(危险操作!仅测试用)  
# 使用救援模式恢复 LVM 卷组  
centos救援模式 > vgscan && vgactivate centos && lvrestore /backup/centos-root_snap.vg  

七、性能监控与调优工具链

工具功能场景典型命令
htop实时进程监控与资源占用分析htop -u $(whoami)
vmstat虚拟内存统计与系统瓶颈定位vmstat 5 10
tcpdump网络流量抓包分析tcpdump -i eth0 port 80 -w http.pcap
perf内核级性能剖析(函数调用栈跟踪)perf record -g -p $(pidof nginx)
nload实时网络带宽监控nload -m

八、最佳实践与注意事项

  1. 变更管理:所有优化操作需通过 CMDB 系统 记录,附操作人、时间、影响范围说明
  2. 灰度发布:内核参数或服务配置变更需先在 测试环境 验证,通过后再推送到生产
  3. 合规审计:涉及等保三级的系统需定期进行渗透测试(建议每季度一次)
  4. 应急响应:建立系统崩溃应急预案,包含紧急恢复脚本和数据备份验证流程

总结

本文从 基础配置→性能调优→安全防护→日志审计→合规管理 全链路覆盖 CentOS 7 系统优化与加固,结合企业级实战场景提供可落地的技术方案。实际部署时需根据业务特性(如 Web 服务、数据库节点、API 网关)定制策略,建议通过 ansible 或 saltstack 实现自动化配置管理,提升运维效率。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值