服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

Windows防火墙 – 全面阻止IP地址范围 – 性能考虑因素?

我们的其中一项服务是在英国境内的200名员工专用的外联网。 我们看到来自中国,俄罗斯,乌克兰和尼日利亚的大量login尝试。 我有大量的IP范围,我想阻止。 有成千上万的条目。 (为了这个讨论的目的,我没有兴趣开放一个关于阻止整个国家是非的辩论,这是我的要求 – 我需要完成它。) 我写了一个Powershell脚本,每24小时更新一次列表,并将填充Windows防火墙与规则。 但是,我很担心激活它。 我的问题是,Windows防火墙在以这种方式处理数千个阻止规则方面的效率如何? 比如说,如果我的脚本包含了10000个块规则(甚至是10万个),它会有效地工作还是停下来? 虽然我想尽可能保护我的Web服务器,但我需要确保Web服务器能够快速处理请求。 UPDATE 我决定抓住机会运行PowerShell脚本。 我已经去了一个稍微不同的技术。 我创build了一个规则,而不是创build6700个规则(覆盖数百万个IP),并将所有错误的IP范围推送到所有远程地址部分的母亲。 结果 :完美地工作。 阻挡大部分中国,俄罗斯,台湾,乌克兰和尼日利亚,这是我们入侵黑客攻击最多的地方。 性能没有明显的差异。 我们似乎在没有任何改变的情况下提供相同数量的请求。 一个用于Windows防火墙。 它似乎能够非常有效地处理数千个IP块。 更新2 – 反馈 脚本已经存在了好几天了,所以我想你会很感激一些反馈。 我将脚本设置为每天运行的计划作业,使用新的IP范围更新防火墙,并从CSV文件读入。 这一切都完美,防火墙function非常快。 但有一个警告的字眼:脚本本身需要约。 运行4-5分钟,在这段时间内,CPU占用最大,Web请求极其缓慢。 因此,我build议在晚上或在不期待重负载的维护时段内运行脚本。 对我来说,解决scheme是在每个负载平衡服务器上的不同时间运行脚本,以便在执行过程中不会降低性能。 这是脚本: $csv = Import-Csv -Path 'C:\Scripts\IP Block List.csv' $data = @() $csv | ForEach-Object { $data += $_.From + "-" + $_.To […]