centos message如何安全使用
导读:CentOS Message安全使用指南 一、强化系统基础安全防护 禁用root远程登录:编辑/etc/ssh/sshd_config文件,设置PermitRootLogin no,禁止root用户通过SSH远程登录,降低账户被暴力破解的...
CentOS Message安全使用指南
一、强化系统基础安全防护
- 禁用root远程登录:编辑
/etc/ssh/sshd_config
文件,设置PermitRootLogin no
,禁止root用户通过SSH远程登录,降低账户被暴力破解的风险;修改完成后重启SSH服务(systemctl restart sshd
)使配置生效。 - 使用密钥认证替代密码认证:生成SSH密钥对(
ssh-keygen -t rsa
),将公钥(id_rsa.pub
)复制到服务器~/.ssh/authorized_keys
文件中,修改/etc/ssh/sshd_config
设置PasswordAuthentication no
,禁用密码登录,避免密码泄露导致的账户入侵。 - 配置防火墙规则:使用
firewalld
(CentOS 7及以上默认防火墙)限制服务器访问,仅开放必要端口(如SSH的22端口、Web服务的80/443端口)。例如,添加22端口规则:firewall-cmd --permanent --zone=public --add-port=22/tcp
,然后重载防火墙(firewall-cmd --reload
)。 - 禁用不必要的服务:通过
systemctl list-unit-files --type=service
查看所有服务,禁用未使用的服务(如FTP、Telnet等),使用systemctl disable < 服务名>
命令停止服务,并设置为开机不启动,减少系统攻击面。
二、优化日志管理与监控
- 配置日志轮转:使用
logrotate
工具自动管理日志文件大小和保留数量,避免日志文件过大占用磁盘空间或被篡改。编辑/etc/logrotate.d/rsyslog
文件,添加以下配置(针对/var/log/messages
):
/var/log/messages { weekly rotate 4 create 0664 root utmp missingok notifempty compress delaycompress sharedscripts }
表示每周轮转一次,保留4份压缩备份,轮转后创建新文件(权限0664,属主root、属组utmp)。 - 分离敏感日志:编辑
/etc/rsyslog.conf
文件,将安全相关日志(如认证、授权)分离到独立文件。例如,添加authpriv.* /var/log/secure
规则,使认证日志单独存储,便于后续审计和分析。 - 实时监控日志:使用
journalctl
命令实时查看系统日志(journalctl -f
),或通过tail -f /var/log/messages
跟踪messages
文件的实时变化,及时发现异常行为(如频繁的登录失败、服务崩溃)。 - 定期审计日志:使用
last
命令查看用户登录记录(last
显示成功登录,lastb
显示失败登录),检查是否有异常登录行为;通过grep "Failed password" /var/log/secure
筛选认证失败的日志,快速定位潜在的暴力破解尝试。
三、严格管理日志文件权限
- 设置最小权限原则:使用
chmod
命令限制日志文件的访问权限,例如将/var/log/messages
的权限设置为0640
(属主root可读写,属组utmp可读,其他用户无权限):chmod 0640 /var/log/messages
;避免使用chmod 777
等过度开放的权限。 - 修改文件所有者:使用
chown
命令将日志文件的所有者设为root
,属组设为utmp
(或其他专用组),例如:chown root:utmp /var/log/messages
,确保只有授权用户和组能访问日志。 - 使用ACL细化权限:若需要对特定用户或组授予额外权限,可使用访问控制列表(ACL)。例如,允许
admin
用户读写/var/log/messages
:setfacl -m u:admin:rw /var/log/messages
;查看ACL规则:getfacl /var/log/messages
。
四、启用强制访问控制(MAC)
- 配置SELinux:SELinux提供强制访问控制,限制进程对文件的访问权限。编辑
/etc/selinux/config
文件,设置SELINUX=enforcing
(永久启用);临时启用命令:setenforce 1
。若需自定义策略,可使用audit2allow
工具生成策略模块(例如,根据ausearch -m avc
输出的拒绝日志生成策略)。 - 启用AppArmor(可选):AppArmor是另一种安全模块,可通过限制程序权限增强安全性。安装AppArmor:
yum install apparmor apparmor-utils
;启用服务:systemctl enable apparmor & & systemctl start apparmor
;为特定应用(如Apache)创建自定义配置文件:aa-enforce /etc/apparmor.d/usr.sbin.httpd
。
五、防范暴力破解攻击
- 安装Fail2Ban:Fail2Ban通过监控日志文件,自动封禁多次尝试登录失败的IP地址。安装Fail2Ban:
yum install fail2ban
;编辑配置文件/etc/fail2ban/jail.local
,启用SSH防护:
[ssh] enabled = true port = ssh filter = sshd logpath = /var/log/secure maxretry = 3
表示允许最多3次失败尝试,超过则封禁IP(默认封禁时间10分钟);启动服务:systemctl start fail2ban & & systemctl enable fail2ban
。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos message如何安全使用
本文地址: https://pptw.com/jishu/732248.html