HCRM博客

如何加固 CentOS 系统以提高安全性?

CentOS 加固指南

CentOS 是一个广泛使用的 Linux 发行版,尤其在企业环境中,为了确保 CentOS 系统的安全性,我们需要采取一系列的加固措施,本文将详细介绍如何通过用户和口令管理、服务优化、文件系统保护、日志管理和网络访问控制等方面来提高 CentOS 系统的安全性。

如何加固 CentOS 系统以提高安全性?-图1
(图片来源网络,侵权删除)

一、用户和口令管理

1、禁用或删除无用账号

使用userdel <用户名> 命令删除不必要的账号。

使用passwd l <用户名> 命令锁定不必要的账号。

使用passwd u <用户名> 命令解锁必要的账号。

备份操作前的用户和组文件:cp /etc/passwd /etc/passwd_bakcp /etc/shadow /etc/shadow_bak

2、检查特殊账号

如何加固 CentOS 系统以提高安全性?-图2
(图片来源网络,侵权删除)

查看空口令和 root 权限账号:

      awk F: '($2=="") {print $1}' /etc/shadow
      awk F: '($3==0) {print $1}' /etc/passwd

为空口令账号设定密码并确认 UID 为零的账号只有 root 账号。

3、添加口令策略

修改/etc/login.defs 配置文件:

      PASS_MAX_DAYS 90
      PASS_MIN_DAYS 0
      PASS_WARN_AGE 7
      PASS_MIN_LEN 14

使用chage 命令修改用户设置:chage m 0 M 30 E 20000101 W 7 <用户名>

4、限制用户 su

如何加固 CentOS 系统以提高安全性?-图3
(图片来源网络,侵权删除)

修改/etc/pam.d/su 配置文件,在头部添加:

      auth required /lib/security/pam_wheel.so group=test

使用usermod G10 test 将 test 用户加入到 wheel 组。

5、禁止 root 用户直接登录

修改/etc/ssh/sshd_config 配置文件,将PermitRootLogin 的值改为no,然后重启 sshd 服务:systemctl restart sshd

6、SSH 认证次数限制

修改/etc/ssh/sshd_config 文件,将MaxAuthTries 次数改为 3。

二、服务优化

1、关闭不必要的服务

使用systemctl disable <服务名> 设置服务在开机时不自动启动。

      systemctl disable abrtccpp abrtd acpid auditd autofs blkavailability certmonger cgconfig cpuspeed crond cups haldaemon ip6tables iptables irqbalance kdump lvm2monitor mcelogd mdmonitor messagebus netconsole netfs network nfslock portreserve postfix restorecond rpcbind rpcgssd rsyslog sshd sysstat udevpost`

2、最小化服务

确保只保留必要的服务,停止或禁用与承载业务无关的服务。

三、文件系统保护

1、设置合理的初始文件权限

修改/etc/profile 文件,设置umask=027

2、限制 su 权限

修改/etc/pam.d/su 配置文件,在头部添加:

      auth required /lib/security/pam_wheel.so group=wheel

四、日志管理

1、启用和记录登录日志

确保/var/log/lastlog/var/run/faillock/ 记录登录和登出事件。

修改/etc/audit/audit.rules 文件,添加如下行:

      w /var/log/lastlog p wa k logins
      w /var/run/faillock/ p wa k logins

重启 auditd 服务:service auditd restart

五、网络访问控制

1、使用 SSH 进行管理

确保 SSH 服务已开启:service sshd start

修改/etc/ssh/sshd_config 文件,添加以下语句以限制能够管理本机的 IP 地址:

      AllowUsers *@10.138.*.

保存后重启 SSH 服务:service sshd restart

2、禁止 root 用户远程登录

确保PermitRootLogin 的值设置为no

六、其他安全措施

1、设置核心转储的硬限制

/etc/security/limits.conf 文件中添加如下配置行:

      hard core 0

/etc/sysctl.conf 文件中添加如下配置行:

      fs.suid_dumpable = 0

2、系统中确保删除 rpcgen 工具

执行以下命令,返回值为空:

      file df local P | awk {'if (NR!=1) print $6'} | xargs I '{}' find '{}' xdev name rpcgen 2>/dev/null 2>/dev/null| grep i “ELF” | head

七、FAQs

1、为什么需要备份配置文件?

备份配置文件可以在操作错误导致系统无法正常启动或配置失效时,快速恢复系统。

2、如何确保 SSH 服务的安全?

确保 SSH 服务只允许特定 IP 地址访问,并限制 root 用户远程登录,可以通过修改 SSH 配置文件中的MaxAuthTries 参数来限制认证次数,防止暴力破解。

3、如何防止用户覆盖软变量?

通过设置核心转储的硬限制,可以防止用户覆盖软变量,在/etc/security/limits.conf 文件中添加hard core 0,并在/etc/sysctl.conf 文件中添加fs.suid_dumpable = 0

分享:
扫描分享到社交APP
上一篇
下一篇