Linux-Tutorial网络安全:fail2ban与sshguard防非法访问尝试

Linux-Tutorial网络安全:fail2ban与sshguard防非法访问尝试

【免费下载链接】Linux-Tutorial Linux-Tutorial是一个Linux系统教程,适合用于学习和掌握Linux命令行操作和系统管理技能。特点:内容详细、实例丰富、适合入门。 【免费下载链接】Linux-Tutorial 项目地址: https://gitcode.com/gh_mirrors/li/Linux-Tutorial

非法访问尝试防护现状

服务器管理员常面临SSH(安全外壳协议)非法访问尝试,攻击者通过自动化脚本尝试大量用户名密码组合,可能导致服务器资源耗尽或被非法访问。传统防护手段如复杂密码策略虽有效,但需配合主动防御机制形成完整安全体系。

Iptables基础防护

Iptables(防火墙)是Linux系统基础防护工具,可通过规则限制SSH端口访问频率。配置示例:

# 允许已建立连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 限制SSH端口每分钟最多6次新连接
iptables -A INPUT -p tcp --dport 22 -m recent --name ssh --rcheck --seconds 60 --hitcount 6 -j DROP
iptables -A INPUT -p tcp --dport 22 -m recent --name ssh --set -j ACCEPT

Iptables规则配置

完整Iptables配置可参考Iptables.md

fail2ban实时监控防护

工作原理

fail2ban通过监控日志文件(如/var/log/secure)识别异常登录模式,自动调用Iptables封禁恶意IP。

安装部署

# CentOS系统
yum install -y fail2ban
# Ubuntu系统
apt-get install -y fail2ban

核心配置

创建/etc/fail2ban/jail.local

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 5
bantime = 3600
findtime = 600
  • maxretry:允许失败次数
  • bantime:封禁时长(秒)
  • findtime:检测窗口(秒)

sshguard轻量级防护方案

特性对比

工具资源占用日志分析支持服务自动解封
fail2ban全面SSH/FTP/Web等支持
sshguard高效SSH/SMTP等支持

安装与启动

# CentOS需EPEL源
yum install -y epel-release
yum install -y sshguard
# 启动服务
systemctl start sshguard
systemctl enable sshguard

防护效果验证

攻击模拟测试

使用nmap工具测试防护规则有效性:

nmap -p 22 --script ssh-brute <目标IP>

正常情况下,连续失败5次后IP将被封禁。

日志审计

# fail2ban日志
tail -f /var/log/fail2ban.log
# sshguard日志
tail -f /var/log/messages | grep sshguard

综合防护策略

多层防御架构

  1. 基础层:Iptables端口过滤 [Iptables.md]
  2. 监控层:fail2ban/sshguard异常检测
  3. 审计层:定期检查/var/log/secure登录日志

安全加固建议

  • 修改默认SSH端口(/etc/ssh/sshd_config
  • 启用密钥登录,禁用密码认证
  • 配合Crontab定时任务自动备份防火墙规则

常见问题解决

误封处理

# fail2ban解封IP
fail2ban-client set sshd unbanip <被封IP>
# sshguard解封IP(临时)
iptables -D sshguard <规则编号>

服务冲突

当同时运行fail2ban和sshguard时,需确保:

  • 监控不同日志文件
  • 封禁时长设置差异化
  • 使用独立Iptables链(如fail2ban-sshsshguard

【免费下载链接】Linux-Tutorial Linux-Tutorial是一个Linux系统教程,适合用于学习和掌握Linux命令行操作和系统管理技能。特点:内容详细、实例丰富、适合入门。 【免费下载链接】Linux-Tutorial 项目地址: https://gitcode.com/gh_mirrors/li/Linux-Tutorial

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值