社交工程攻击是网络安全中最难防范的威胁之一,因为它针对的是人为因素而非技术漏洞。以下是在CentOS系统上防范社交工程攻击的综合措施:
# 创建低权限用户
sudo useradd -m -s /bin/bash standarduser
sudo passwd standarduser
# 限制sudo权限
sudo visudo
# 添加特定命令权限而非完全sudo
standarduser ALL=(ALL) /usr/bin/apt-get update, /usr/bin/apt-get upgrade
# 安装密码策略模块
sudo yum install libpam-pwquality
# 编辑密码策略
sudo vi /etc/security/pwquality.conf
# 设置最小长度12,复杂度要求
minlen = 12
minclass = 3
# 设置密码过期策略
sudo vi /etc/login.defs
PASS_MAX_DAYS 90
PASS_MIN_DAYS 7
PASS_WARN_AGE 14
# 安装Google Authenticator
sudo yum install google-authenticator
# 为每个用户配置
google-authenticator
# 回答交互式问题选择安全设置
# 配置SSH使用MFA
sudo vi /etc/pam.d/sshd
# 添加以下行
auth required pam_google_authenticator.so
sudo vi /etc/ssh/sshd_config
# 确保以下设置
ChallengeResponseAuthentication yes
UsePAM yes
sudo vi /etc/ssh/sshd_config
# 关键配置项:
Port 2222 # 更改默认端口
PermitRootLogin no
MaxAuthTries 3
LoginGraceTime 1m
AllowUsers standarduser adminuser
ClientAliveInterval 300
ClientAliveCountMax 0
PasswordAuthentication no # 仅使用密钥认证
PubkeyAuthentication yes
# 重启SSH服务
sudo systemctl restart sshd
# 安装并配置auditd
sudo yum install audit
sudo systemctl enable auditd
sudo systemctl start auditd
# 监控敏感文件访问
sudo vi /etc/audit/rules.d/audit.rules
# 添加以下规则
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/sudoers -p wa -k identity
-w /var/log/auth.log -p wa -k authentication
# 安装并配置fail2ban
sudo yum install epel-release
sudo yum install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# 配置fail2ban监控SSH
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo vi /etc/fail2ban/jail.local
# 修改[sshd]部分
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 1h
# 配置hosts文件防止DNS钓鱼
sudo vi /etc/hosts
# 添加可信域名解析
192.168.1.1 internal-server.company.com
# 禁用自动挂载可移动设备
sudo vi /etc/usbmount/usbmount.conf
ENABLED=0
# 安装并配置SPF检查
sudo yum install postfix-policyd-spf-python
sudo vi /etc/postfix/master.cf
# 添加SPF策略检查
# 配置DMARC和DKIM
sudo yum install opendkim opendkim-tools
# 详细配置略,需根据邮件服务器具体设置
虽然这不是技术配置,但建议: - 定期进行安全意识培训 - 模拟钓鱼测试 - 建立明确的安全事件报告流程
# 设置自动安全更新
sudo yum install yum-cron
sudo vi /etc/yum/yum-cron.conf
# 确保以下设置
update_cmd = security
apply_updates = yes
# 启用自动更新
sudo systemctl enable yum-cron
sudo systemctl start yum-cron
通过以上综合措施,可以显著降低CentOS系统遭受社交工程攻击的风险。记住,技术措施只是防御的一部分,持续的用户教育和安全意识培养同样重要。