【Windows防火墙配置Windows Server服务器只允许国内IP访问】

背景: 勒索病毒事件让重视到网络安全这块,由于业务只需要为国内范围提供服务,为了减少风险想到将服务器仅限对国内开启访问权限,其它国家都将禁止访问

由于是 Windows Server 不像宝塔直接带有防火墙功能,只能自己想办法

第一时间想到 联系阿里云服务商提供解决方案 — (无果)

在这里插入图片描述

要么让你花钱买防火墙 要么你自己解决

 云提供商的 [安全组规则] 是不提供MAC地址过滤,也不提供访问日志的 

明明轻而易举能做到事, 就是不做为!

回正题,经过搜寻解决方案,最终找到了一种可行办法

使用Windows自带防火墙,配置规则达到目标

- 第1步 获取国内ip地址段

这个网络上比较多,却存在ip地址量的不同
有6000条+的国内ip, 也有8000条+的, 最终选择了8000+的版本
网站: https://www.ipdeny.com

下载IP地址段文件
下载链接: http://www.ipdeny.com/ipblocks/data/countries/cn.zone

这里不太确定, 如果网友你发现有更好的库, 欢迎你的回复

- 第2步 禁止全部ip地址访问

防火墙这里要设置好,默认阻止不匹配的入站连接, 其实出站也能配置,可以自由发挥了
在这里插入图片描述
在这里插入图片描述

- 第3步 允许国内ip地址访问

要次大量的ip地址导入到防火墙规则也遇到了问题,可是8000多条,一个一个的加能加到什么时候呢
想到了使用PowerShell, 不过PowerShell这里还有一个坑

先给代码


$url = "https://www.ipdeny.com/ipblocks/data/countries/cn.zone" # 要访问的URL地址
$response = Invoke-WebRequest -Uri $url # 发送HTTP GET请求获取网页内容
$contentLines = ($response.Content | Out-String) -split "`n" # 按换行符分隔内容为多行字符串数组
foreach($line in $contentLines){
    if(![string]::IsNullOrWhiteSpace($line)){
        $ipAddress += '"' + $line + '",' # 在每行前后添加双引号,并存入变量中
    }
}
 # 去除最后一个逗号(如果有)
 if($ipAddress[-1] -eq ','){
     $ipAddress = $ipAddress.Substring(0,$ipAddress.Length-1)
 }
 
# 输出结果
# Write-Output $ipAddress
$file = "c:\ip.ps1" 
$cmd= "New-NetFirewallRule -DisplayName ""允许国内IP地址""  -Direction Inbound -Action Allow -Protocol Any -RemoteAddress "

#写入ps1文件
$cmd + $ipAddress | Out-File -FilePath $file 


#执行命令
# invoke-expression -Command $file

最后一代码 invoke-expression -Command $file PowerShell中就是无法执行成功,经过很长时间查询,也不知道原因在哪里,通过手动运行生成c:\ip.ps1却是可以的,只有分成两部操作, 总之一次性把8000+的ip地址规则配置好就行了,这样就把数据添加好了
在这里插入图片描述

运行上面代码不生成Windows防火墙规则

必须要运行c盘生成的ip.ps1

请注意!!! 上面的测试规则是开放所有端口

请注意!!! 上面的测试规则是开放所有端口

请注意!!! 上面的测试规则是开放所有端口

测试结果

阿里云网站运维检测平台
https://boce.aliyun.com/detect/ping
在这里插入图片描述

概况

在这里插入图片描述

国内结果

在这里插入图片描述

海外结果在这里插入图片描述

由于只使用了IPv4提供服务

所以这里只针对IPv4进行了配置, IPv6也是同理的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值