社交工程攻击不同于传统的技术漏洞攻击,它更多是利用人的心理弱点诱导用户泄露敏感信息或执行危险操作,CentOS系统虽然本身具备一定的安全特性,但若不做好针对性配置,依然可能成为这类攻击的突破口。

账户与权限安全配置
社交工程攻击最常见的切入点就是获取合法账户权限,因此首先要做好账户层面的防护。
禁用不必要的默认账户
CentOS系统安装后会存在一些默认账户,部分账户如果不需要使用,应该及时禁用,避免攻击者利用默认凭证登录。
# 查看系统所有账户 cat /etc/passwd # 锁定不需要的账户,比如games账户 passwd -l games # 禁止账户登录shell usermod -s /sbin/nologin games
强化密码策略
弱密码是社交工程攻击最容易突破的环节,需要配置严格的密码策略,强制用户使用复杂密码并定期更换。
编辑/etc/login.defs文件,修改以下参数:
# 密码最长使用天数 PASS_MAX_DAYS 90 # 密码最短使用天数 PASS_MIN_DAYS 7 # 密码最小长度 PASS_MIN_LEN 12 # 密码过期前提前7天提醒 PASS_WARN_AGE 7
同时安装libpwquality模块,配置密码复杂度要求:
# 安装密码质量检查模块 yum install -y libpwquality # 编辑/etc/security/pwquality.conf,添加以下配置 minlen = 12 dcredit = -1 ucredit = -1 lcredit = -1 ocredit = -1 minclass = 3
限制账户登录权限
避免普通账户拥有过高的权限,同时限制root账户的远程登录,减少权限被滥用的风险。
# 禁止root账户远程登录,编辑/etc/ssh/sshd_config PermitRootLogin no # 重启ssh服务生效 systemctl restart sshd # 给需要管理员权限的用户配置sudo权限,编辑/etc/sudoers # 添加如下内容,允许用户admin使用sudo admin ALL=(ALL) ALL # 配置sudo需要输入密码,且密码有效期为5分钟 Defaults timestamp_timeout=5
远程访问与网络防护配置
社交工程攻击可能诱导用户开放不必要的远程访问端口,因此需要做好网络层面的限制。
配置防火墙规则
只开放业务必需的端口,关闭所有不必要的端口,减少攻击面。
# 启动firewalld防火墙 systemctl start firewalld systemctl enable firewalld # 开放业务需要的端口,比如80端口 firewall-cmd --permanent --add-port=80/tcp # 移除不必要的端口,比如默认的23端口(telnet) firewall-cmd --permanent --remove-port=23/tcp # 重载规则生效 firewall-cmd --reload # 查看当前开放的端口 firewall-cmd --list-ports
限制SSH访问来源
如果SSH是必须的远程管理方式,应该限制只允许特定的IP地址访问SSH端口,避免攻击者通过暴力破解或诱导获取凭证后远程登录。
# 编辑/etc/ssh/sshd_config,添加允许访问的IP段 AllowUsers admin@192.168.1.0/24 # 修改SSH默认端口,减少自动化攻击扫描 Port 2222 # 重启ssh服务 systemctl restart sshd # 防火墙开放修改后的SSH端口 firewall-cmd --permanent --add-port=2222/tcp firewall-cmd --reload
系统监控与审计配置
即使做好了防护,也需要通过监控及时发现异常操作,避免社交工程攻击得逞后长期潜伏。
开启系统审计服务
使用auditd服务记录关键操作,便于后续溯源分析。
# 启动auditd服务 systemctl start auditd systemctl enable auditd # 添加审计规则,监控/etc/passwd文件的修改操作 auditctl -w /etc/passwd -p wa -k passwd_change # 监控sudo命令的使用 auditctl -w /usr/bin/sudo -p x -k sudo_usage # 查看审计日志 ausearch -k passwd_change
配置日志集中管理
将系统日志发送到独立的日志服务器,避免攻击者入侵后清除本地日志掩盖痕迹。
# 编辑/etc/rsyslog.conf,添加日志服务器配置 *.* @@192.168.1.100:514 # 重启rsyslog服务 systemctl restart rsyslog
辅助防护措施
除了系统配置,还需要配合其他措施降低社交工程攻击的成功率。
- 定期给系统用户做安全意识培训,告知不要随意点击陌生链接、不要泄露账户密码、不要执行来源不明的命令
- 安装防病毒软件,定期扫描系统,检测可能存在的恶意程序
- 定期更新系统补丁,关闭系统不必要的服务,减少潜在的攻击入口
- 对敏感操作配置二次验证,比如远程登录需要短信验证码或者密钥验证,避免单一密码泄露就导致系统被入侵
通过以上配置,可以从多个层面降低CentOS系统被社交工程攻击入侵的风险,不过安全防护是一个持续的过程,需要定期检查和更新配置,同时不断提升用户的安全意识,才能构建更完善的防御体系。