HCRM博客

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

CentOS加固

一、系统安全防线

1、防火墙设置

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

iptables(CentOS6及更早版本)

启动命令:service iptables start

停止命令:service iptables stop

查看状态:service iptables status

重启命令:service iptables restart

清除策略:iptables F

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

设置默认策略为拒绝所有传入连接,允许本地回环接口和已建立的连接。

  • iptables P INPUT DROP
  • iptables A INPUT i lo j ACCEPT
  • iptables A INPUT m state state ESTABLISHED,RELATED j ACCEPT

firewalld(CentOS7及更高版本)

启动命令:systemctl start firewalld

关闭命令:systemctl stop firewalld

重启命令:systemctl restart firewalld

查看状态:systemctl status firewalld

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

设置开机自启:systemctl enable firewalld

配置规则以允许特定端口(如SSH):

  • firewallcmd permanent addport=22/tcp
  • firewallcmd reload

TCPWrappers程序管控

确保仅允许特定网络访问特定服务,编辑/etc/hosts.allow/etc/hosts.deny文件。

2、SELinux

启动命令:systemctl start selinux

关闭命令:systemctl stop selinux

查看状态:sestatus

临时调整到宽容模式:setenforce 0

永久关闭SELinux:编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled

二、身份鉴别与访问控制

1、密码策略

设置密码复杂度和过期时间,编辑/etc/login.defs

  • PASS_MAX_DAYS 90
  • PASS_MIN_DAYS 0
  • PASS_WARN_AGE 7

使用chage命令修改用户密码策略。

2、空口令账户检查

查找空口令账户:awk F: '($2=="") && ($3!=0) {print $1}' /etc/shadow

锁定或解锁账户:passwd l|u [username]

3、root权限管理

禁止root用户直接登录SSH,编辑/etc/ssh/sshd_config

  • PermitRootLogin no

限制su到root的用户,编辑/etc/pam.d/su

  • auth required pam_wheel.so group=admin

4、SSH安全加固

更改默认端口:编辑/etc/ssh/sshd_config中的Port参数。

禁用root登录和空密码登录,设置最大认证次数。

允许特定用户或用户组登录,通过AllowUsers或AllowGroups指令。

启用公钥认证并禁用密码认证。

三、日志与监控

1、日志记录

确保系统日志记录全面,包括登录日志、SSH日志等。

定期检查日志文件,如/var/log/secure/var/log/messages等。

2、入侵检测

安装并配置入侵检测系统(IDS),如AIDE(Advanced Intrusion Detection Environment)。

定期扫描系统文件完整性。

四、资源控制与最小化安装

1、最小化安装

仅安装必要的软件包和服务,减少攻击面。

使用yumdnf的命令行工具进行软件管理。

2、资源限制

使用ulimit命令限制用户进程的资源使用量,如CPU、内存等。

配置系统资源的硬限制和软限制,编辑/etc/security/limits.conf文件。

五、备份与恢复

1、备份策略

定期备份重要数据和配置文件,使用tarrsync等工具。

备份验证,确保备份数据的完整性和可恢复性。

存储备份于安全位置,如异地机房或云存储。

2、恢复演练

定期进行恢复演练,确保在紧急情况下能迅速恢复系统。

记录恢复步骤和注意事项。

六、常见问题解答(FAQs)

Q1: 如何更改SSH默认端口?

A1: 编辑/etc/ssh/sshd_config文件,找到Port参数并设置为新的端口号,然后重启SSH服务。

Q2: 如何禁止root用户远程登录SSH?

A2: 编辑/etc/ssh/sshd_config文件,添加或修改PermitRootLogin no参数,然后重启SSH服务。

Q3: SELinux是什么,如何临时关闭它?

A3: SELinux是SecurityEnhanced Linux的缩写,是一种强制访问控制机制,临时关闭SELinux可以使用命令setenforce 0

Q4: 如何限制特定用户的最大进程数?

A4: 编辑/etc/security/limits.conf文件,添加类似* hard nproc 100的行来限制所有用户的最大进程数,或指定特定用户。

CentOS加固是一个持续的过程,需要管理员根据系统的实际使用情况和安全需求不断调整和完善,通过实施上述加固措施,可以显著提升CentOS系统的安全性,降低被攻击的风险,管理员也应保持对最新安全动态的关注,及时更新系统补丁和安全策略。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/18472.html

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