服务器安全:限制外网访问解决方案


服务器对外网开放后 出现一些安全问题

问题描述

一、大批量 登录审核失败

NtLmSsp攻击,登录审核失败

没几天就出现大量的 登录审核失败

大批量登录审核失败,日志截图,路径: 事件查看器 → windows日志 → 安全

根据截图我们可以发现,一秒中就可以尝试登录好几次,一致在尝试,并未停止尝试破解 administrator 的密码

服务器大批量登录审核失败

 服务器登录审核失败详细信息

计算机试图验证帐户的凭据。

验证包: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0

登录帐户: ADMINISTRATOR

源工作站:

错误代码: 0xC000006A

 服务器登录审核失败详细信息

细信息:---重点红色标注

日志名称: Security

来源: Microsoft-Windows-Security-Auditing

日期: 2020/7/28 16:47:37

事件 ID: 4625

任务类别: 登录

级别: 信息

关键字: 审核失败

用户: 暂缺

计算机: VM82

描述:

帐户登录失败。

使用者:

安全 ID:NULL SID

帐户名:-

帐户域:-

登录 ID:0x0

登录类型:3

登录失败的帐户:

安全 ID:NULL SID

帐户名:ADMINISTRATOR

帐户域:

失败信息:

失败原因:未知用户名或密码错误。

状态:0xC000006D

子状态:0xC000006A

进程信息:

调用方进程 ID:0x0

调用方进程名:-

网络信息:

工作站名:

源网络地址:-

源端口:-

详细身份验证信息:

登录进程:NtLmSsp

身份验证数据包:NTLM

传递服务:-

数据包名(仅限 NTLM):-

密钥长度:0

登录请求失败时在尝试访问的计算机上生成此事件。

“使用者”字段指明本地系统上请求登录的帐户。这通常是一个服务(例如 Server 服务)或本地进程(例如 Winlogon.exe 或 Services.exe)。

“登录类型”字段指明发生的登录的种类。最常见的类型是 2 (交互式)和 3 (网络)。

“进程信息”字段表明系统上的哪个帐户和进程请求了登录。

“网络信息”字段指明远程登录请求来自哪里。“工作站名”并非总是可用,而且在某些情况下可能会留为空白。

“身份验证信息”字段提供关于此特定登录请求的详细信息。

-“传递服务”指明哪些直接服务参与了此登录请求。

-“数据包名”指明在 NTLM 协议之间使用了哪些子协议。

-“密钥长度”指明生成的会话密钥的长度。如果没有请求会话密钥,则此字段为 0。

二、大批量 SQLServer sa账号登录

服务器中出现大量的 sql server数据库用户 sa登录 尝试

如图,一秒中就被尝试了很多次的 MSSQLServer 用户 sa登录,通过字典暴力破解sa的密码

服务器大量 MSSQLServer 用户sa登录失败

  服务器 MSSQLServer 用户sa登录失败信息

用户 'sa' 登录失败。 原因: 密码与所提供的登录名不匹配。 [客户端: 116.236.146.213]

 

解决办法

尝试通过 改变端口 ,但是发现无效,改了之后过不了多久,就会被别人便利出来新的端口信息,并继续尝试密码暴力破解

如果把外网端口都关了,那么对自己服务器使用的时候也带来很多不便

最终解决方案:

1)免费VPN zerotier

使用 免费的VPN,登录客户端使用VPN登录,安全等级提升,问题解决

推荐VPN地址:https://www.zerotier.com/ 

申请一个账号,就可以组建自己的 VPN网络

免费VPN Zerotier

下载客户端并安装后 点击 Join Network 就可以申请加入网络,

Zortier客户端申请VPN组网

输入申请的 NetworkID

Zortier客户端申请VPN组网

申请后在 Zerotier 网站中 配置

Zortier管理允许组网

然后稍等片刻就可以了

优点VPN安全

缺点:每个电脑都要安装下VPN客户端,新电脑要申请组网,然后确认,比较麻烦

2)自写的防火墙控制

需要启动windows防火墙

通过配置 windows 防火墙 作用域中允许IP来实现,指定端口只有设置的远程IP才能访问

window防火墙规则,作用域

具体可参考: https://www.yesdotnet.com/archive/post/1630080664.html 

可大多数开发者IP时 动态IP,每天都在变化,这样每天都要在防火墙 设置 一次,好麻烦

作为一个IT开发者,怎么能够忍受这种重复性的工作呢?

于是,GZ.NetFWManager 服务器防火墙管理 出世了

技术原理

GZ.NetFWManager 服务器防火墙管理 技术原理

  • 服务器中采用Socket对外开放,通讯采用 RSA256 加密 签名校验,保证消息安全
  • IIS WEB通过 Socket 和服务器通讯,来调用防火墙规则查询与设置操作
  • 客户端可直接访问 web,来对各个服务器进行防护墙设置

服务器GZ防火墙管理程序安装:

安装包在页面底部提供下载

GZ服务器网络防火墙管理 服务端安装程序 安装向导

GZ服务器网络防火墙管理 服务端安装程序 安装向导

GZ服务器网络防火墙管理 服务端安装程序 选择安装文件夹

GZ服务器网络防火墙管理 服务端安装程序 选择文件夹

GZ服务器网络防火墙管理 服务端安装程序 确认安装

GZ服务器网络防火墙管理 服务端安装程序 确认安装

GZ服务器网络防火墙管理 Socket配置

GZ服务器网络防火墙管理 服务端安装程序 Socket配置

GZ服务器网络防火墙管理 服务端安装程序 安装进度

GZ服务器网络防火墙管理 服务端安装程序 安装进度

GZ服务器网络防火墙管理 服务端安装程序 安装完成

GZ服务器网络防火墙管理 服务端安装程序 安装完成

安装完成后,服务器会添加一个 GZ防火墙管理 服务 和 _gz_NetFWManager 防火墙入站规则

GZ防火墙管理 服务

GZ防火墙管理 入站规则

 

部署 GZ防火墙管理 WEB应用:

IIS部署,部署过程略 .net 5 

使用:

登录界面,账号密码在 Web文件夹下的Appsetting.json中配置

GZ防火墙 WEB登录用户配置

登录界面

主页面

主页面

输入服务器信息,端口信息,操作口令,这些信息在 服务应用安装的时候配置的

点击 远程桌面信息 可以查看当前远程桌面 允许的IP地址列表

获得列表后,可修改IP列表,然后点击 设置远程桌面 可提交信息到服务器

远程桌面设置示例:

设置前,客户端电脑无法通过远程桌面访问服务器

服务器远程桌面不可用

现在我们把当前IP设置到允许IP列表中,并保存数据

设置服务器远程桌面IP

看到请求成功并且返回有OK信息,代表设置成功

此时,我们再访问远程桌面,已经可以了

服务器远程桌面可以使用了

 

MSSQL 同理,控制端口为 1433

 

GZ防火墙管理程序下载地址:

 

GZ防火墙管理源码下载地址:

 GZ防火墙管理程序源码下载

如果需要源码,请联系管理员

源码包括:

  • windows 服务程序源码
  • 安装包制作程序源码
  • web程序源码

有了源码可以添加更多自己的端口控制需求

联系电话:15090125178

微信扫码:

微信二维码

 

 

 

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
管理员
上一篇:VS制作C#程序windows安装程序
下一篇:.NETCore和.NET5 MVC使用 Session
评论列表

发表评论

评论内容
昵称:
关联文章

服务器安全限制访问解决方案
服务器安全:SQLServer对外开放后,被人尝试登录sa账户
window服务器安全的一些配置
API接口安全设计方案
windows平台的分布式微服务解决方案(2)--跨域访问
SqlServer备份还原 出现操作系统错误 5(拒绝访问) 的解决方案
阿里云搭建FTP服务器访问报错 200,227错误
浏览器限制最小字体为12号的解决办法
服务器ntlmssp攻击防御措施,windows server大量审核失败问题
ASP.NET Core官教程,资料查找
windows平台的分布式微服务解决方案(7)--IDataAccess工具介绍(数据访问)
服务器漏洞数据
RestSharp上传文件AddFile无效的解决方案
Python退出主进程后子线程不会退出的解决方案
win10开始菜单图标显示不正常,解决方案
windows平台的分布式微服务解决方案(5)--Web服务/WebApi的负载均衡
H5页面兼容苹果手机顶部刘海和底部的安全黑条区域
IIS服务器访问woff2字体文件报错 net::ERR_ABORTED 404 (Not Found)
mysql服务器端运行环境要求
.NET Core中使用编码GB2312报错‘GB2312‘ is not a supported encoding name 解决方案

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码