屏蔽恶意域名的DNS查询

      因为有一些恶意域名, 已经在防火墙上做了封禁了, 但是如果收到中毒主机的请求, 还是要去做一次DNS查询, 因此被上级单位通告, 因此想把恶意域名的DNS查询封禁做到防火墙下联的AC上面, 一方面因为防火墙的策略优先级DNS代理比较靠后, 另一方面也是为了减小防火墙压力, 简化配置:

      AC设备从上网行为管理12.0.41及全网行为管理13.0.7版本开始支持使用DNS代理功能,具体配置如下:
1、【流量管理】-【DNS代理】点击新增
2、适用用户选着对应需要匹配的用户,访问域名为需要解析的域名,目标DNS地址为当前用户配置的DNS服务器地址
3、对应的代理策略可以选择为
①、重定向至DNS服务器:指定到某个DNS服务器解析
②、解析为IP:指定解析为某个IP
③、丢弃:直接丢弃该数据包
④、重定向至指定线路:重定向到指定线路去解析

     这里我们把用户设置为中毒主机, 来源IP添加进去, 然后在策略中选择"丢弃"

      然后把自己的IP加进去, 测试了一下, 果然DNS被拦截了, 策略有效!

* 注意:
1、策略优先级为:VPN路由>直连路由>静态路由>动态路由>DNS代理[重定向至指定线路]>优先负载策略>默认负载策略>默认路由>系统默认路由
2、开启代理模式下,不能做DNS代理。DNS请求是由本机做了代理发起,DNS代理的功能无法对本机发包再做代理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 应用中,实现 IP 封禁功能通常涉及到对请求源头的 IP 地址进行检查,并根据预设策略禁止某些 IP 的访问。以下是一个简单的流程和步骤: 1. **IP 记录库**:首先需要一个存储工具,比如 Redis、Memcached 或数据库,用于存储已封禁的 IP 列表及其过期时间。 2. **过滤器或拦截器**:在 Spring Boot 中,你可以创建一个 Filter 或 AOP(面向切面编程)的 Interceptor 来拦截 HTTP 请求。当请求到达时,检查该 IP 是否在封禁列表中。 ```java @Component public class IpBanFilter implements Filter { private final Set<String> bannedIps; @Autowired public IpBanFilter(YourIpBanRepository repository) { this.bannedIps = repository.findAllBannedIps(); } @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { String remoteAddress = ((HttpServletRequest) req).getRemoteAddr(); if (bannedIps.contains(remoteAddress)) { // 如果在黑名单内,返回错误响应或记录日志 HttpServletResponse response = (HttpServletResponse) res; response.sendError(HttpServletResponse.SC_FORBIDDEN); return; } chain.doFilter(req, res); } } ``` 3. **添加或更新封禁**:当需要封禁 IP 时,可以将 IP 添加到存储库,然后在 `doFilter` 方法中检查。同时,定期清除过期的封禁记录。 4. **配置**:在 `application.properties` 或 `application.yml` 文件中配置过滤器的路径或生命周期等信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值