被扫密码到蛋疼,今天有几个机器的远程桌面被扫的我都登不上了,因为前端用的haproxy,所以用这个处理掉。

windows的远程桌面有点意思,被扫的太厉害的时候会自我保护,谁都登不上,我挺纳闷,这叫什么保护……最蛋疼的是会让系统网络层出问题,资源管理器里面的网络部分全部空白,啥都看不到 -_-!

简单的说,rdp/3389被扫密码次数太多的话,系统会出问题。

 

haproxy可以在4层做acl,例子如下

首先做一个ip列表,比如允许的ip段是/etc/haproxy/myip.txt ,拒绝的是 /etc/haproxy/badip.txt

每行一个ip,也可以用/24 /16表示网络

比如:

171.80.221.0/24
171.80.220.0/24
1.2.3.4
2.3.4.5

 

然后haproxy的配置段里面加一行:

###################  规则
允许(这个我测试下来没什么用)
tcp-request connection accept if { src -f /etc/haproxy/myip.txt }
拒绝(黑名单模式)
tcp-request connection reject if { src -f /etc/haproxy/badip.txt }
只允许列表里的(白名单模式)
tcp-request connection reject unless { src -f /etc/haproxy/myip.txt }

 

具体是这样:

listen port5011
bind :::5011 v4v6
mode tcp
#下面这行
tcp-request connection reject if { src -f /etc/haproxy/badip.txt }
balance source
server rdp1 1.2.3.4:3389

 

然后整个世界清净了……

也考虑过用iptables+ipset,但是haproxy的配置可能经常调整,所以干脆做在haproxy里面省事点

作者 听涛

《Haproxy的4层acl阻断IP》有2条评论
  1. 流媒体不熟,我自己用nginx做过,确定可行,varnish很多年不碰了

  2. haproxy用了一段时间,性能确实不错
    想请教的是:haproxy后面接一个web缓存,web主要用于流媒体播放,类似jellyfin,是推荐varnish还是nginx,或者redis,目前用了varnish,效果不错,但是感觉配置太灵活太复杂了,求指点!!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注