本文将详细介绍CentOS系统的安全配置方法,以确保系统的安全性和稳定性。
(图片来源网络,侵删)身份鉴别与访问控制
1、检查系统空密码账户:
为了确保系统中不存在空密码账户,可以使用命令awk F: '$2=="!!" {print $1}' /etc/shadow来检查空口令账户。
对于可登录的空口令账户或需要注销的空口令账户,应进行密码设置或注销账户。
检测root权限账号,确保uid为0的账号只能是root账号。
2、SSH安全加固:
编辑文件/etc/ssh/sshd_config,修改默认端口,限制允许登录用户及来源地址。
(图片来源网络,侵删)设置允许登录用户组,强制使用V2安全协议,修改允许密码错误次数,禁止使用root远程登录,并设置用户密钥登录等。
3、设置密码失效时间:
使用非密码登录方式如密钥对,可忽略此项,否则,需设置密码失效时间,强制定期修改密码。
4、设置密码修改最小间隔时间:
在/etc/login.defs中设置PASS_MIN_DAYS参数,限制密码更改过于频繁。
5、确保密码到期警告天数为7或更多:
在/etc/login.defs中设置PASS_WARN_AGE参数,确保密码到期前用户能够得到警告。
(图片来源网络,侵删)6、删除或禁用无用的账户和账户组:
不建议直接删除账户,可以通过usermod L或passwd l user锁定账户。
7、限制用户切换至root:
通过配置文件限制普通用户使用su命令切换到root用户。
网络与服务配置
1、网络环境配置:
修改主机名、IP地址、网关、DNS等,通过编辑相应的配置文件如/etc/hostname和/etc/sysconfig/networkscripts/ifcfgeth0。
2、关闭selinux和防火墙:
通过编辑/etc/sysconfig/selinux关闭SELinux,使用systemctl命令控制防火墙服务。
3、更改SSH服务器端远程登录配置:
修改SSH配置文件sshd_config,指定端口号,不允许root用户登录,不允许密码为空的用户远程登录,关闭DNS反向解析等。
系统级别安全配置
1、设置运行级别:
使用runlevel命令查看当前系统运行级别,使用init命令或systemctl setdefault命令切换或设置默认开机运行级别。
2、精简开机自启动:
保留必要的开机自启动服务,如sshd、rsyslog、network、crond、sysstat等。
3、更新yum源及必要软件安装:
备份原有yum源后,更换为可靠的yum源,如阿里源,以获取最新的安全更新和软件包。
安全审计与日志记录
1、确保rsyslog服务已启用:
使用systemctl enable rsyslog和systemctl start rsyslog命令启用rsyslog服务,以记录日志用于审计。
2、记录每个用户的操作命令:
通过编辑/etc/profile或使用脚本代码记录所有用户的登录操作日志,以防安全事件后无据可查。
入侵防范与安全加固
1、开启地址空间布局随机化:
在/etc/sysctl.conf或/etc/sysctl.d/文件中设置参数kernel.randomize_va_space = 2,执行命令sysctl w kernel.randomize_va_space=2来开启地址空间布局随机化,增加入侵者预测目的地址难度。
2、为grub设置密码:
通过编辑grub配置文件,为grub设置密码,防止未经授权的修改启动参数。
3、设置密码复杂度:
编辑/etc/security/pwquality.conf,设置密码最小长度和至少包含的字符类别,确保密码复杂度满足要求。
4、检查密码重用是否受限制:
确保系统配置了密码重用限制,防止密码被重复使用,降低被猜测的风险。
相关问答FAQs
1、为什么要关闭selinux和防火墙?
SELinux和防火墙虽然能提供额外的安全层,但在一些企业环境中,可能会因为配置不当而引起不必要的访问问题或维护成本,关闭它们可以减少这些问题,同时通过其他安全措施来补偿这一操作可能带来的风险,根据实际情况和安全需求,也可以选择配置而不是完全关闭它们。
2、如何确保SSH服务的安全?
确保SSH服务的安全主要包括以下几个方面:修改默认端口以减小攻击面;限制允许登录的用户和组,以及来源IP地址;禁止root用户远程登录;设置密钥认证,禁用空密码登录;配置密码错误次数限制和空闲超时退出;记录登录日志以供安全审计,这些措施共同提升了SSH服务的安全性。
CentOS系统的安全配置涉及多个方面,包括身份鉴别、网络和服务配置、系统级别安全配置、安全审计与日志记录以及入侵防范与安全加固,每项措施都是为了提高系统的整体安全性,减少潜在的安全风险,在实际操作中,应根据具体的业务需求和安全政策进行适当调整。
以下是根据提供的信息整理的CentOS安全配置介绍:
| 配置项 | 描述 | 操作 |
| 最小安全原则 | 最小安装和最小权限 | 确保系统最小化安装,按需分配权限 |
| 网络配置 | 禁用不使用的网络协议和IPv6,关闭不使用的无线设备 | 修改网络配置文件,使用sysctl命令 |
| 防火墙配置 | 使用firewalld和iptables管理防火墙,设置防火墙区域 | 使用firewalld命令或编辑iptables配置文件 |
| SSH配置 | 修改默认端口,禁止root远程登录 | 修改/etc/ssh/sshd_config文件,重启SSH服务 |
| SELinux | 禁用SELinux | 修改/etc/selinux/config文件,将SELINUX设置为disabled |
| 审计日志 | 配置审计日志大小,记录用户和用户组操作 | 修改审计配置文件,使用rsyslog管理日志 |
| 账户安全 | 设置密码时效、长度等参数,限制登录失败次数 | 修改/etc/login.defs和/etc/pam.d/systemauth文件,使用chage命令 |
| 账户锁定策略 | 设置账户锁定次数和时间 | 在/etc/pam.d/login文件中添加pamtally2.so配置 |
| 自动登出 | 实现账户无操作自动登出功能 | 创建/etc/profile.d/autologout.sh脚本 |
| 挖矿病毒处理 | 检测和移除病毒,禁止访问涉及病毒文件的IP地址 | 使用top、htop等工具检测异常进程,查看登录日志,使用kill和chattr命令 |
| 系统安全记录文件 | 检测系统受到的攻击 | 查看系统安全日志文件,如/var/log/secure |
| 启动和登录安全性 | BIOS安全,用户口令 | 设置BIOS密码,修改引导次序,增加密码复杂度 |
请注意,这些配置项需要根据实际环境进行调整,以确保系统的安全性和业务可用性,部分配置可能需要重启服务或系统才能生效。
上一篇:为什么我的高德没有团团