服务器安全:限制外网访问解决方案
服务器对外网开放后 出现一些安全问题
问题描述
一、大批量 登录审核失败
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的密码
用户 'sa' 登录失败。 原因: 密码与所提供的登录名不匹配。 [客户端: 116.236.146.213]
解决办法
尝试通过 改变端口
,但是发现无效,改了之后过不了多久,就会被别人便利出来新的端口信息,并继续尝试密码暴力破解
如果把外网端口都关了,那么对自己服务器使用的时候也带来很多不便
最终解决方案:
1)免费VPN zerotier
使用 免费的VPN
,登录客户端使用VPN登录,安全等级提升,问题解决
推荐VPN地址:https://www.zerotier.com/
申请一个账号,就可以组建自己的 VPN网络
了
下载客户端并安装后 点击 Join Network
就可以申请加入网络,
输入申请的 NetworkID
申请后在 Zerotier
网站中 配置
然后稍等片刻就可以了
优点:VPN安全
缺点:每个电脑都要安装下VPN客户端,新电脑要申请组网,然后确认,比较麻烦
2)自写的防火墙控制
需要启动windows防火墙
通过配置 windows 防火墙 作用域中允许IP来实现,指定端口只有设置的远程IP才能访问
具体可参考: https://www.yesdotnet.com/archive/post/1630080664.html
可大多数开发者IP时 动态IP
,每天都在变化,这样每天都要在防火墙 设置
一次,好麻烦
作为一个IT开发者,怎么能够忍受这种重复性的工作呢?
于是,GZ.NetFWManager 服务器防火墙管理 出世了
技术原理
- 服务器中采用Socket对外开放,通讯采用 RSA256 加密 签名校验,保证消息安全
- IIS WEB通过 Socket 和服务器通讯,来调用防火墙规则查询与设置操作
- 客户端可直接访问 web,来对各个服务器进行防护墙设置
服务器GZ防火墙管理程序安装:
安装包在页面底部提供下载
GZ服务器网络防火墙管理
服务端安装程序 安装向导
GZ服务器网络防火墙管理
服务端安装程序 选择安装文件夹
GZ服务器网络防火墙管理
服务端安装程序 确认安装
GZ服务器网络防火墙管理
Socket配置
GZ服务器网络防火墙管理
服务端安装程序 安装进度
GZ服务器网络防火墙管理
服务端安装程序 安装完成
安装完成后,服务器会添加一个 GZ防火墙管理
服务 和 _gz_NetFWManager
防火墙入站规则
部署 GZ防火墙管理 WEB应用:
IIS部署,部署过程略 .net 5
使用:
登录界面,账号密码在 Web文件夹下的Appsetting.json中配置
主页面
输入服务器信息,端口信息,操作口令,这些信息在 服务应用安装的时候配置的
点击 远程桌面信息
可以查看当前远程桌面 允许的IP地址列表
获得列表后,可修改IP列表,然后点击 设置远程桌面
可提交信息到服务器
远程桌面设置示例:
设置前,客户端电脑无法通过远程桌面访问服务器
现在我们把当前IP设置到允许IP列表中,并保存数据
看到请求成功并且返回有OK信息,代表设置成功
此时,我们再访问远程桌面,已经可以了
MSSQL 同理,控制端口为 1433
GZ防火墙管理程序下载地址:
GZ防火墙管理源码下载地址:
如果需要源码,请联系管理员
源码包括:
- windows 服务程序源码
- 安装包制作程序源码
- web程序源码
有了源码可以添加更多自己的端口控制需求
联系电话:15090125178
微信扫码: