CentOS7下安装SSHGuard阻止SSH暴力破解攻击

2022-07-05 15:24:05 浏览数 (1)

CentOS7下安装SSHGuard阻止SSH暴力破解攻击

sshguard保护主机免受针对 SSH 和其他服务的暴力攻击。

sshguard可以从标准输入中读取日志消息(适用于管道syslog)或监视一个或多个日志文件。日志消息被逐行解析以识别模式。如果检测到攻击,例如在几秒钟内多次登录失败,则会阻止有问题的IP。

SSHGuard最初旨在为OpenSSH服务提供额外的保护层,SSHGuard还保护范围广泛的服务,例如Vsftpd和Postfix。

SSHGuard 与 Fail2ban 非常相似,只是它是用C编写的(Fail2ban是用Python 编写的),更轻巧,提供的功能更少

1、配置好EPEL源并安装sshguard

代码语言:javascript复制
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo 
yum install sshguard -y

(图片可点击放大查看)

(图片可点击放大查看)

2、查看sshguard相关配置文件

代码语言:javascript复制
rpm -ql sshguard

(图片可点击放大查看)

3、修改sshguard.conf配置文件

代码语言:javascript复制
cp /usr/share/doc/sshguard-2.4.2/examples/sshguard.conf.sample /etc/sshguard.conf
vim /etc/sshguard.conf

修改如下行

代码语言:javascript复制
BACKEND="/usr/libexec/sshguard/sshg-fw-firewalld"
FILES="/var/log/secure /var/log/messages"
LOGREADER="LANG=C /usr/bin/journalctl -afb -p info -n1 -t sshd -t sendmail -o cat"
BLACKLIST_FILE=90:/etc/sshguard.blacklist
WHITELIST_FILE=/etc/sshguard.whitelist

(图片可点击放大查看)

(图片可点击放大查看)

4、启动sshguard服务

代码语言:javascript复制
systemctl enable sshguard
systemctl start sshguard
systemctl status sshguard

(图片可点击放大查看)

5、暴力破解测试及效果验证

例如在192.168.31.230机器上对其进行SSH暴力破解测试

(图片可点击放大查看)

可以看到很快就被阻断了

(图片可点击放大查看)

可以查看阻断的IP

代码语言:javascript复制
firewall-cmd --permanent --info-ipset="sshguard4"
ipset list sshguard4

Tips

本文参考如下链接完成

代码语言:javascript复制
https://www.sshguard.net/
https://www.ctrl.blog/entry/how-to-sshguard-firewalld.html

说明:

1、/etc/sshguard.blacklist文件未能生效,目前未Google到原因

2、其他SSH防暴力破解攻击的方法参考如下文章

  • CentOS7云主机部署Fail2ban阻断SSH暴力破解
  • CentOS7下使用DenyHosts阻止SSH暴力攻击

0 人点赞