CentOS From Scratch安全设置指南
导读:CentOS 从零开始的安全设置指南 一 基线准备与最小化安装 选择Minimal Install或仅安装必要软件包,遵循“没有则无法被攻”的原则,减少攻击面。 安装后立即执行系统更新:sudo yum update -y,修复已知漏洞。...
CentOS 从零开始的安全设置指南
一 基线准备与最小化安装
- 选择Minimal Install或仅安装必要软件包,遵循“没有则无法被攻”的原则,减少攻击面。
- 安装后立即执行系统更新:
sudo yum update -y,修复已知漏洞。 - 安装常用基础工具(便于后续运维与安全配置):
sudo yum install -y bash-completion net-tools wget curl vim epel-release。 - 规划并记录加固操作,变更前后做好配置与数据备份,变更窗口内保持可回滚能力。
二 身份鉴别与账户安全
- 清理与锁定不必要的系统账号:检查是否存在UID=0的多个账户(
awk -F: '($3==0){ print $1} ' /etc/passwd),锁定或删除无用/风险账户;可清理或锁定常见默认账号如adm、lp、sync、shutdown、halt、games、ftp等。 - 检查空口令账户:
awk -F: '($2==""){ print $1} ' /etc/shadow,发现即强制设置合规口令。 - 强密码策略:在
/etc/login.defs设置PASS_MAX_DAYS 90、PASS_MIN_LEN 10、PASS_WARN_AGE 14;通过PAM/pam_pwquality启用复杂度校验(长度、字符集、回退次数等)。 - 登录失败处理与会话超时:配置
pam_tally2或pam_faillock限制失败次数并锁定;在/etc/profile或/etc/bashrc设置TMOUT=600(10分钟无操作自动退出)。 - 禁用root远程登录,创建普通用户并加入
sudo组,按需授予最小权限,避免滥用NOPASSWD。 - 可选的文件防篡改:对关键文件加锁(
chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow),变更前务必解锁,避免运维阻塞。
三 网络与防火墙
- 启用并持久化firewalld:
sudo systemctl start firewalld & & sudo systemctl enable firewalld;默认区域设为public。 - 按需放行:优先使用“服务”或“端口”方式,变更后执行
firewall-cmd --reload使规则生效。- 示例:
sudo firewall-cmd --permanent --zone=public --add-service=ssh - 示例:
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
- 示例:
- 精细化来源控制:仅允许可信网段/跳板机访问管理口(SSH),如
firewall-cmd --permanent --zone=public --add-source=192.168.1.0/24;必要时将默认区域设为drop以默认拒绝入站。 - 日志与审计:通过
journalctl -u firewalld查看防火墙日志,结合业务端口与来源白名单定期审计规则。
四 SSH 安全加固
- 核心配置(
/etc/ssh/sshd_config):PermitRootLogin no(禁止root直连)PasswordAuthentication no(禁用密码,强制密钥登录)PubkeyAuthentication yesAllowUsers < your_admin_user>(仅允许指定用户)Port < NEW_PORT>(可选:更改默认端口,降低自动化扫描命中)ClientAliveInterval 300、ClientAliveCountMax 0(空闲超时断开)PermitEmptyPasswords no、Banner /etc/issue
- 修改端口后若启用SELinux,需同步端口类型:
sudo semanage port -a -t ssh_port_t -p tcp < NEW_PORT>;重启sshd生效。 - 防暴力破解:部署Fail2ban,对SSH设置重试上限与封禁时长,联动
firewalld自动拉黑。
五 内核 服务 与日志审计
- 启动与内核参数:启用SELinux enforcing模式(
getenforce/setenforce 1,/etc/selinux/config设为SELINUX=enforcing),仅在兼容性验证通过时才考虑放宽;按需调整内核网络防护(如net.ipv4.conf.all.log_martians=1、net.ipv4.icmp_echo_ignore_broadcasts=1等),变更前评估业务影响。 - 服务最小化:禁用不需要的服务(如bluetooth、cups、postfix等),减少攻击面与资源占用。
- 日志与完整性:
- 集中与轮转:确保
rsyslog运行,配置/etc/logrotate.d/对关键日志进行按日轮转与保留;对外网开放的服务(SSH、Web)日志重点监控。 - 完整性检查:部署AIDE建立关键文件(如
/bin /sbin /usr/bin /etc /boot)基线并定期校验,及时发现篡改与后门。 - 审计:启用并检视
auditd,对/etc/passwd、/etc/shadow、sudo与SSH相关关键路径设置审计规则,留存可供取证的安全事件记录。
- 集中与轮转:确保
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS From Scratch安全设置指南
本文地址: https://pptw.com/jishu/763523.html
