Haproxy代理火绒服务器实现内网更新病毒库

in Linux with 0 comment

最近勒索病毒泛滥,各类新增的勒索病毒和变种依旧层出不穷,入侵方式也变的多种多样。内网电脑杀毒软件病毒库无法更新,面对新型的病毒这些杀毒软件也无能为力。

火绒是一款杀防一体的安全软件,没有任何广告,没有任何多余功能,并且完全免费,占用资源少,很适合配置低的电脑。

现用一台双网卡的服务器,链接内外网,用Haproxy将火绒服务器端口转发到内网,然后用dnsmasq将火绒域名解析到内网代理服务器,可实现内网更新病毒库。

本来想用Nginx做七层代理,但是通过Nginx代理更新一直提示404错误,奈何自己才疏学浅找不到解决方法,就直接用Haproxytcp(四层)代理。抓包发现火绒更新服务器不止一个,Haproxy TCP代理不像Nginx一样可以配置多个Vhost绑定多个域名,只能通过一个网卡监听多个IP,一个域名绑定一个IP。

查找火绒更新服务器

huorong.png

火绒服务器域名
update.huorong.cn
down2.huorong.cn

环境 架构

Ubuntu Server 18.04 LTS + Haproxy + dnsmasq
外网IP: 10.0.0.5

内网IP: 192.168.0.2 #dnsmasq
        192.168.0.3 
        192.168.0.4 
        单个网卡监听3个IP
        
Haproxy:
        #端口转发,监听192.168.0.3  192.168.0.4
        192.168.0.3:80 > update.huorong.cn:80
        192.168.0.4:80 > down2.huorong.cn:80
        
dnsmasq:
        #内网域名解析,监听IP:192.168.0.2
        update.huorong.cn   >   192.168.0.3
        down2.huorong.cn    >   192.168.0.4

配置静态IP

ubuntu18.04 server,启用了新的网络工具netplan,配置文件是放在/etc/netplan/50-cloud-init.yaml, 缺省是用dhcp方式。

# vim /etc/netplan/50-cloud-init.yaml

network:
    ethernets:
        ens160:
            addresses:
            - 10.0.0.5/23
            dhcp4: false
            gateway4: 10.0.0.1
            nameservers:
                addresses:
                - 10.0.0.3
                search: []
        ens192:
            addresses:
            - 192.168.0.2/24
            - 192.168.0.3/24
            - 192.168.0.4/24
            dhcp4: false
    version: 2

保存后执行 netplan apply使其生效

安装配置Haproxy

# 安装
# sudo apt update
# sudo apt install haproxy
haproxy配置文件路径:/etc/haproxy/haproxy.cfg

在配置文件最下面添加如下内容:

# vim /etc/haproxy/haproxy.cfg

frontend  update_huorong
  bind 192.168.0.3:80
  mode tcp
  default_backend update_huorong

backend update_huorong
  mode tcp
  balance roundrobin
  stick-table type ip size 200k expire 30m
  stick on src
  server s1 update.huorong.cn:80
  
frontend  down2_huorong
  bind 192.168.0.4:80
  mode tcp
  default_backend down2_huorong

backend down2_huorong
  mode tcp
  balance roundrobin
  stick-table type ip size 200k expire 30m
  stick on src
  server s1 down2.huorong.cn:80
  

保存退出后重启服务/etc/init.d/haproxy restart

安装配置dnsmasq

安装方法看另一篇文章 DNSmasq搭建自己的递归DNS服务器

在配置文件后面添加如下内容:

#指定域名解析到内网的IP上
address=/update.huorong.cn/192.168.0.3
address=/down2.huorong.cn/192.168.0.4

保存退出后重启服务/etc/init.d/dnsmasq restart

大功告成

在路由器里面将dhcp服务器的dns改成192.168.0.2,或者手动将客户端dns服务器修改为192.168.0.2

huorong-update.png

Responses