如何提高centos分区的安全性
导读:一、账户与权限管理:降低非法访问风险 禁用/删除无用账号:通过userdel <用户名>删除不必要的默认账户(如adm、lp、sync等),减少系统受攻击面;使用passwd -l <用户名>锁定长期不用的账户,防...
一、账户与权限管理:降低非法访问风险
- 禁用/删除无用账号:通过
userdel < 用户名>
删除不必要的默认账户(如adm
、lp
、sync
等),减少系统受攻击面;使用passwd -l < 用户名>
锁定长期不用的账户,防止未授权登录。 - 强化口令策略:修改
/etc/login.defs
文件,设置密码复杂度要求(如PASS_MAX_DAYS 90
(密码最长使用90天)、PASS_MIN_LEN 14
(密码最小长度14位));使用chage
命令强制用户定期修改密码(如chage -m 0 -M 30 -W 7 < 用户名>
,表示密码需在30天内修改,过期前7天提醒)。同时,设置密码需包含大小写字母、数字和特殊字符(通过pam_pwquality.so
模块配置,如password requisite pam_pwquality.so minlen=14 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root
)。 - 保护口令文件:使用
chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow
命令给关键口令文件添加不可更改属性,防止未授权修改;仅root用户可解锁(chattr -i
)。 - 限制su命令使用:编辑
/etc/pam.d/su
文件,添加auth required pam_wheel.so group=< 特定组>
(如group=test
),仅允许指定组的用户使用su
切换到root,避免普通用户随意获取root权限。
二、SSH服务安全:阻断远程非法访问
- 禁用root直接登录:编辑
/etc/ssh/sshd_config
文件,将PermitRootLogin yes
修改为PermitRootLogin no
,禁止root用户直接通过SSH登录;重启SSH服务(systemctl restart sshd
)使配置生效。 - 修改默认SSH端口:将SSH默认端口22修改为其他高位端口(如
Port 2222
),减少被自动化扫描工具发现的概率;修改后需更新防火墙规则允许新端口通过。 - 限制SSH登录用户:在
/etc/ssh/sshd_config
中添加AllowUsers < 用户名1> < 用户名2>
(如AllowUsers admin user1
),仅允许指定用户通过SSH远程登录,拒绝其他用户尝试。 - 限制认证尝试次数:在
/etc/ssh/sshd_config
中设置MaxAuthTries 3
,限制每个IP地址尝试登录的最大次数为3次,防止暴力破解。
三、防火墙与网络隔离:过滤非法网络流量
- 启用firewalld防火墙:使用
systemctl start firewalld & & systemctl enable firewalld
命令启动并设置firewalld开机自启;通过firewall-cmd --permanent --add-service=ssh
命令允许SSH服务通过防火墙,仅开放必要的端口(如HTTP的80端口、HTTPS的443端口)。 - 配置Zone隔离与Fail2ban:将服务器划分为
public
(公共区域)、internal
(内部区域)等Zone,根据业务需求分配不同权限;安装Fail2ban(yum install fail2ban
),配置自动封禁异常IP(如多次SSH登录失败),提升网络层安全。
四、文件系统安全:保护数据存储安全
- 设置umask值:修改
/etc/profile
文件,添加umask 027
,使新创建的文件权限为644
(属主可读写,同组用户可读,其他用户无权限),目录权限为755
(属主可读写执行,同组用户可读执行,其他用户无权限),防止未授权用户访问新创建的文件。 - 加密敏感分区:使用LUKS(Linux Unified Key Setup)工具对包含敏感数据的逻辑卷或分区进行加密(如
cryptsetup luksFormat /dev/sdb1
创建加密分区,cryptsetup luksOpen /dev/sdb1 my_encrypted_partition
打开分区,mkfs.ext4 /dev/mapper/my_encrypted_partition
格式化分区);加密后分区需解密才能挂载,即使物理介质丢失,数据也无法被读取。 - 锁定关键文件系统:使用
chattr +i
命令锁定/bin
、/boot
、/lib
、/sbin
等关键目录,防止恶意程序修改系统核心文件;对/var/log/messages
等日志文件添加a
属性(chattr +a /var/log/messages
),仅允许追加内容,防止日志被篡改。
五、SELinux配置:启用强制访问控制
- 启用SELinux:通过
getenforce
命令检查SELinux状态(若返回Disabled
,需修改/etc/selinux/config
文件,将SELINUX=disabled
改为SELINUX=enforcing
,并重启系统);SELinux通过强制访问控制(MAC)限制进程对文件、目录的访问权限,弥补传统权限模型的不足。 - 调整SELinux策略:使用
semanage
和setsebool
命令调整SELinux策略(如允许Apache访问/home目录:setsebool -P httpd_enable_homedirs 1
),避免因SELinux策略过严导致业务无法正常运行,同时保持安全。
六、系统更新与监控:修复漏洞并追踪异常
- 定期更新系统与软件包:使用
yum update -y
命令定期更新系统和所有已安装的软件包,修复已知安全漏洞;建议开启自动更新(yum-config-manager --save --setopt=*.*.skip_if_unavailable=true
),确保系统始终处于最新安全状态。 - 监控系统日志与审计:启用auditd服务(
systemctl start auditd & & systemctl enable auditd
),配置审计规则(如监控/etc/passwd
文件的修改:auditctl -w /etc/passwd -p wa -k passwd_changes
),定期检查/var/log/audit/audit.log
日志,及时发现异常操作(如未授权的文件修改、用户权限变更);使用ELK Stack(Elasticsearch、Logstash、Kibana)等工具集中分析日志,提升异常检测效率。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何提高centos分区的安全性
本文地址: https://pptw.com/jishu/732141.html