https://blog.csdn.net/baozou_jianghuxing/article/details/125077779

需求背景:

公司内网的windows服务器因业务需要只需访问互联网指定的域名ip,其他的因出于系统网络安全考虑需要屏蔽阻止业务无关的其他所有域名和ip的访问。

实现方案:

在windows防火墙中进行设置,如果安装其他网络防火墙会存在安全隐患,公司不允许安装私人或非法的网络软件,因此只能基于windows自带的防火墙进行处理,不能安装类似瑞星、火绒之类的网络安全管理软件。

实现思路:

通过查询业务需要的域名对应的ip,在防火墙中设置这些ip的访问为允许通过。然后对应其他所有ip:0.0.0.0-254.254.254.254的所有IP范围中,除去业务需要的ip地址外,剩余的ip范围全部列入阻止出站。

实现方法:

用站长工具:多个地点ping服务器-网站测速-站长工具 测试业务域名对应的IP地址。​​​​​​

所有IP范围 - 业务所需的IP范围 = 剩余需阻止的ip范围

关键难度在于如何得到 剩余阻止的ip范围。这里通过编程实现,编写C#程序,自动对允许访问的IP,允许访问的IP段进行分析, 将所有IP地址范围根据允许的IP进行前后分割,得到允许访问的IP前后的IP,即得到了禁止访问的IP范围的终止ip,起始ip等。

程序界面如下:

比如业务允许访问的互联网ip为:9.0.0.3,11.1.1.3,然后同时允许局域网ip段:10网段,172网段,192网段都允许访问,其他的ip网段全部都不允许访问。

通过程序分析后,得到需要阻止的IP段为:

0.0.0.0-9.0.0.2
9.0.0.4-9.254.254.254
11.0.0.0-11.1.1.2
11.1.1.4-171.254.254.254
173.0.0.0-191.254.254.254
193.0.0.0-254.254.254.254

则降以上6行ip段添加的windows防火的出站规则中,阻止的目的Ip段为以上6行ip范围,阻止的协议类型为任何协议,任何端口,即可成功阻止拦截所有非业务需要的出站访问,减少了网络安全隐患。

命令行批处理方法:

工具左侧输入需要运行的ip,中间输入运行的ip段,点击分析按钮,得到右侧需要阻止的ip段,去掉第一个逗号, 然后管理员方式打开CMD,输入如下命令:

netsh advfirewall firewall add rule name="disabledIP" dir=out action=block remoteip="0.0.0.0-9.0.0.2,9.0.0.4-9.254.254.254,11.0.0.0-11.1.1.2,11.1.1.4-171.254.254.254,173.0.0.0-191.254.254.254,193.0.0.0-254.254.254.254"

注意替换remoteip的内容为上面工具分析处理的结果即可。

这里示意图是拷贝了第一个阻止的IP区间,其他IP区间未拷贝(否则我的电脑将无法连CSDN写文章了,)

最后wf.msc打开高级防火墙,即可出现已添加的出站阻止ip

PS:对应的C#程序参见:自动分割生成防火墙中允许访问的ip与阻止访问的ip-网管软件文档类资源-CSDN下载
————————————————
版权声明:本文为CSDN博主「quentin_lee2005」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baozou_jianghuxing/article/details/125077779

windows防火墙出站规则只允许访问指定域名ip,其他出站ip全部阻止的方法的更多相关文章

  1. win8防火墙配置出站规则禁止QQ访问

    我们知道Windows自带防火墙可以自定义入站出站规则,那么今天我们就通过配置出站规则禁止QQ访问,在2015年少登QQ,多忙工作,登上人生巅峰,赢娶白富美,哈哈 首先,通过控制面板打开防火墙,可以看 ...

  2. 在子页面使用layer弹出层时只显示遮罩层,不显示弹出框问题

    最近子页面使用layer弹出层时只显示遮罩层,不显示弹出框,这个问题搞了很久,最后才发现,在子页面上使用弹出框时,如果只使用layer.alert()或者layer.open()时,会默认在当前页面弹 ...

  3. Linux创建用户,SFTP只允许访问指定目录

    首先创建用户 useradd lus1passwd lus1 我这里配置lus1这个用户目录,为sftp指向目录,即/home/lus1/ vim /etc/ssh/sshd_config //这个记 ...

  4. 通过squid 禁止访问/只允许访问指定 网址

    安装 squid yum install squid -y 备份squid.conf cp  squid.conf  squid.conf-list vi  squid.conf 输入: acl de ...

  5. 【转】玩玩你的Windows防火墙——穿透与防御

    前言:在防火墙专区,我经常看见朋友们讨论,“某某防火墙的性能如何”,亦或是,“某某防火墙的防御能力如何”.实际上,一个防火墙所履行的基本职责便是“网络访问控制”,即放行我们允许的通信,阻止我们未允许的 ...

  6. sqlserver给指定用户授权访问指定表

    一.   背景 外部公司的人授权访问我们公司的数据库,数据接口调用,要给他们建立查看指定的视图和授权的账号,因此要在数据库中,给指定用户授权访问指定表 二.sqlserver 脚本 ---创建视图CR ...

  7. Windows 防火墙出站 入站规则简单说明

    1. Windows防火墙其实比linux的iptabels 要好用一些. 打开设置方式: 运行->输入control即可 选择系统和安全 2.win2019 以及改名字了 现在是 window ...

  8. IIS配置Windows防火墙允许外部访问

    控制面板-Windows防火墙-高级设置-入站规则 在入站规则窗口中找到“BranchCache内容检索(HTTP-In)”选项并启用此规则. 这时候远程用户通过网站地址即可访问站点程序. 但是如果远 ...

  9. 针对 SQL Server 2008 在Windows Server 2008上的访问配置 Windows 防火墙

    现在Windows Server 2008 服务器用的越来越多,2008的防火墙比2003的有了很大的增强,安全性有了更大的提高. 甚至80端口的出站默认都是被关闭的.所以如果在2008Server上 ...

  10. Windows防火墙出站、入站相关知识总结

    出站默认是全部允许,只禁止相关出站规则指定的条目:入站默认是全部禁止,只允许相关入站规则指定的条目. 入站规则其实没什么好说的,直接添加规则允许某IP或端口访问,或允许某程序全部访问,就行了. 要控制 ...

随机推荐

  1. 了解php当中简单的单例模式

    本文由 ChatMoney团队出品 单例模式是一种常用的设计模式,它的核心思想是确保一个类只有一个实例,并提供一个全局访问点来获取这个实例.在 PHP 中实现单例模式通常有三种形式:饿汉式(Eager ...

  2. 在工具类静态方法调用@Autowired注入的bean方法

    今天在搞一个工具类的时候,需要在工具类的静态方法中调用mapper的方法插入数据,但是,用spring的@Autowired注入bean后,测试一跑,报空指针异常. 解决方案如下: 1.对工具类使用@ ...

  3. Hi,我是ChunJun,一个有趣好用的开源项目

    Hi,我是ChunJun,一个有趣好用的开源项目. 今天我们正式开通了自己的公众号!欢迎大家关注~ 数字经济时代,各行各业数字化转型大趋势下,数据要素成为关键.海量多源异构数据汇聚,使得数据同步面临同 ...

  4. 12.Java SDK源码分析系列笔记-PriorityQueue

    目录 1. PriorityQueue是什么 2. 使用 3. 源码分析 3.1. 属性 3.2. 有参构造 3.2.1. 初始化元素到数组中 3.2.2. 维护堆的属性 3.2.2.1. 下沉操作 ...

  5. SQL Server 重复记录,查询,筛查,指定保留

    Select * From 表 x Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1) Order BY 重复字 ...

  6. 学习spring cloud记录3-服务远程调用

    前言 记录一个非常简单的远程调用方式,在spring cloud微服务中,服务之间时如何进行调用的?在学习通过服务名调用方式之前,先学一种非常简单的调用方式,那就是通过url进行调用,此url为ip+ ...

  7. 前端开发系列076-JQuery篇之框架源码解读[插件]

    这篇文章将主要介绍jQuery框架的插件机制,包括但不限于jQuery.extend和jQuery.fn.extend方法的设计和使用,JavaScript体系中的常用概念以及jQuery插件的使用等 ...

  8. ThreadPoolExecutor 中为什么WorkQueue会在corePoolSize满了之后入队

    简介 看别人的博客, 不清楚为什么会入队. code public void execute(Runnable command) { if (command == null) throw new Nu ...

  9. delete js转载

    http://www.jb51.net/article/54247.htm 1,对象属性删除 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 function fun(){   thi ...

  10. 简单 屏蔽 assert

    简介 屏蔽 assert 如何实现 Makefile 中加 CFLAGS += -DNDEBUG 或者 gcc -DNDEBUG