首页 > 数据库 >SqlServer服务中利用触发器对指定账户进行登录ip限制提升安全性

SqlServer服务中利用触发器对指定账户进行登录ip限制提升安全性

时间:2023-02-03 23:00:29浏览次数:55  
标签:触发器 登录 账户 ip SqlServer xiaoming IP

转眼间上次写文章已经是 2022年12月15日的事情啦,本来从2022年7月份开始写作之后保持着每周一篇,然而从12月15日后断更了这么久,经历了,隔离、阳、过年、从今天开始继续坚持写作,本片文章给大家分享 SqlServer服务中利用触发器对指定账户进行登录ip限制从而提升账户的安全性,这样可以灵活的限制每个账户的允许登录IP,类似于 PostgreSQL 中 pg_hba.conf 配置文件的功能,MySQL 则是在创建账户时可以配置账户允许登录IP,下面记录一下 SQLServer 如何实现。


新的一年祝大家工作顺利,身体健康。


在MySql数据库中我们在创建一个新的用户时是可以选择这个用户的可用连接ip的,比如localhost 或者 某个ip 甚至不做限制直接输入 % 则表示这个用户运行任意IP远程连接,但是在微软的MsSqlServer中在创建用户时则没有这样的设置,但是有时候我们处于安全问题,想要限制某个账户只能通过某个IP访问,通过防火墙设置的话会直接阻断这个IP对所有账户的访问,有点一棍子打死,不是我们想要的,这种情况下可以利用MsSqlServer数据库中的触发器来实现这个目的,当用户请求连接数据库时会触发我们提前写好的规则进行验证是否允许连接。

登陆数据库服务器之后,新建查询输入如下代码:

请替换代码中的xiaoming为你想要限制的数据库账户名称

CREATE TRIGGER [tr_con_limit_xiaoming]
ON ALL SERVER WITH EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN

--限制xiaoming这个帐号的连接
IF ORIGINAL_LOGIN()= 'xiaoming'
--允许xiaoming在本机和下面的IP登录
AND
(SELECT EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'NVARCHAR(15)'))
NOT IN('','192.168.1.2','192.168.1.3')
     ROLLBACK;
END;

执行之后就会创建一个叫做 tr_con_limit_xiaoming 的触发器,如下图

这样 xiaoming 这个账户就只允许通过 本地 和 192.168.1.2 和 192.168.1.3 这两个IP连接了。

至此关于 SqlServer服务中利用触发器对指定账户进行登录ip限制提升安全性 就讲解完了,有任何不明白的,可以在文章下面评论或者私信我,欢迎大家积极的讨论交流,有兴趣的朋友可以关注我目前在维护的一个 .NET 基础框架项目,项目地址如下
https://github.com/berkerdong/NetEngine.git
https://gitee.com/berkerdong/NetEngine.git

标签:触发器,登录,账户,ip,SqlServer,xiaoming,IP
From: https://www.cnblogs.com/berkerdong/p/17090659.html

相关文章

  • JavaScript对象
    JavaScript对象在JavaScript中,几乎所有的事物都是对象。JavaScript对象是拥有属性和方法的数据。JavaScript 对象也是一个变量,但其可以包含多个值(多个变量),每个值以......
  • JavaScript 错误 - Throw 和 Try to Catch
    try 语句使您能够测试代码块中的错误。catch 语句允许您处理错误。throw 语句允许您创建自定义错误。finally 使您能够执行代码,在try和catch之后,无论结果如何。......
  • javascript时间与日期的学习
    JavaScript日期输出默认情况下,JavaScript将使用浏览器的时区并将日期显示为全文本字符串: FriFeb03202316:07:59GMT+0800(中国标准时间)Date类是JavaScript中用......
  • 三种IPv6 中的隧道技术
    隧道模式直接利用现有IPv4网络实现与IPv6网络的通信。1、6PE在核心网络是IPv4网络的情况下,如果要构建一个IPv6网络,可以通过在支持IPv6协议的边界路由器之间建立IPv6隧道,由这......
  • [Typescript] Defining exclusive properties with TypeScript
    typeA={other:'string',url:'string'}typeB={other:'string',ids:'string'}typeExclusive<TextendsRecord<PropertyKey,unknown>,UextendsReco......
  • IPV6实验
    ipv4[r2]intg0/0/1[r2-GigabitEthernet0/0/1]ipadd23.1.1.124[r2]iproute-static0.0.0.00.0.0.023.1.1.2[r3]intg0/0/0[r3-GigabitEthernet0/0/0]ipadd23.1.1......
  • script javascript / chrome disable javascript
    s谷歌浏览器禁用javascript以及控制台使用https://blog.csdn.net/weixin_44058725/article/details/125262800前言:有的时候调试,需要禁用js那我们可以在浏览器里禁......
  • mipi接口
    mipi概述文件,请阅读https://zhuanlan.zhihu.com/p/926820472.mipiphy层的文件,请阅读https://www.cnblogs.com/fuzidage/p/14107768.html......
  • 开年迎喜 | 东进技术入选《CCSIP 2022中国网络安全行业全景册》
    近日,FreeBuf咨询正式发布《CCSIP(ChinaCyberSecurityPanorama)2022中国网络安全行业全景册(第五版)》。东进技术凭借优秀的技术应用和市场表现,成功入选通信网络安全、身份识......
  • ip地址修改神器v5.0.5.4
    ip地址修改神器v5.0.5.4IP地址修改器,一款能够快速的切换IP地址,在几个不同的固定IP之间进行切换,手动输太麻烦,所以可以用到这款IP地址修改器!下载ip地址修改器v5.0.5.4 ......