前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >SqlServer服务中利用触发器对指定账户进行登录ip限制提升安全性

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

作者头像
乌拉栋
发布于 2023-03-06 09:26:17
发布于 2023-03-06 09:26:17
75300
代码可运行
举报
文章被收录于专栏:编程宝典编程宝典
运行总次数:0
代码可运行

转眼间上次写文章已经是 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为你想要限制的数据库账户名称

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SQLServer中使用登录触发器限制用户的访问地址
目前有个需求,需要限制个别账号(或者其他权限较高的账号)的登录IP,降低访问的风险。
保持热爱奔赴山海
2024/09/24
1790
绕过SQL Server的登录触发器限制
在做渗透测试任务时,我们常常会碰到一些直连SQL Server数据库的桌面应用。但偶尔也会碰到一些后端为SQL Server的应用,并且其只允许来自预定义的主机名或应用程序列表的连接。这些类型的限制通常是通过登录触发器来强制执行的。在本文中,我将向大家展示如何利用连接字符串属性欺骗主机名和应用程序名称来绕过这些限制。示例中将会包括SSMS和PowerUpSQL。这对于那些继承了旧式桌面应用的渗透测试人员和开发人员非常有用。
FB客服
2018/07/31
2.1K0
绕过SQL Server的登录触发器限制
Oracle 触发器详解(trigger)「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157665.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/14
3.8K0
MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁
浏览目录: 1.视图 2.触发器 3.存储过程 4.函数 5.事物 6.数据库锁 7.数据库备份 1.视图 视图:是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据 视图有如下特点;   1. 视图的列可以来自不同的表,是表的抽象和逻辑意义上建立的新关系。   2. 视图是由基本表(实表)产生的表(虚表)。   3. 视图的建立和删除不影响基本表。   4. 对视图内容的更新(添加、删除和修改)直接影响基本表。
人生不如戏
2018/04/10
1.6K0
MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁
MySql 全方位基础优化定位执行效率低的SQL语句存储过程与触发器的区别面试回答数据库优化问题从以下几个层面入手
SQL优化 通过show status命令了解各种sql的执行效率 查看本session的sql执行效率 show status like 'Com_%'; 查看全局的统计结果 SHOW GLOBAL STATUS LIKE 'Com_%' 查看服务器的状态 show global status; 结果 Com_select:执行select操作的次数,依次查询之累加1 Com_insert:执行insert操作的次数,对于批量插入的insert操作,只累加依次 Com_update:执行update操作
JavaEdge
2018/05/16
2.2K0
大数据学习之_01_Linux学习_01_linux的入门+VM和linux的安装+linux的目录结构+远程登录到linux服务器+vi和vim编辑器+开机、重启和用户登录注销+用户管理+用户组管理
2、Linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目都会部署到Linux/unix系统上。
黑泽君
2019/02/26
2.5K0
渗透测试常规操作记录(下)
Linux 操作系统&内核版本&环境变量 >cat /etc/issue >cat /etc/*-release >cat /etc/lsb-release >cat /etc/redhat-release cat /proc/version >uname -a >uname -mrs >rpm -q kernel >dmesg | grep Linux >ls /boot | grep vmlinuz- >cat /etc/profile >cat /etc/bashrc >cat ~/.bash_pr
天钧
2020/10/23
5.8K0
渗透测试常规操作记录(下)
数据库MySQL详解
数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。
砖业洋__
2023/05/06
2.5K0
数据库MySQL详解
运维 | 在企业环境中快速安装配置 Rocky Linux 服务器操作系统
描述: 在 2020 年 12 月所宣布的,CentOS 计划已将重点从 CentOS Linux 转移到 CentOS Stream,这是一个介于Fedora和RHEL之间的发行版,旨在作为RHEL的上游(即测试、预发布版本)。并且 CentOS Stream 8 也将于 2024 年结束迭代更新补丁, 鉴于被 Redhat 收购的 CentOS 即将停止更新维护了,然而在企业中还有大量的 CentOS 的服务器操作系统,不得不考虑其替代产品,此时 原 CentOS 创始人之一的 Gregory Kurtzer 为纪念其创始成员 Rocky McGaugh,创建了 Rocky Linux 与 RHEL 百分之百兼容,目的是用于替代 CentOS Stream 发行版本。
全栈工程师修炼指南
2024/03/25
3.9K0
运维 | 在企业环境中快速安装配置 Rocky Linux 服务器操作系统
微服务架构技术栈:程序员必须掌握的微服务架构框架详细解析
MyBatis Plus是在 MyBatis 的基础上只做增强不做改变,可以简化开发,提高效率.
攻城狮Chova
2022/01/22
1.8K0
微服务架构技术栈:程序员必须掌握的微服务架构框架详细解析
MySQL数据库(良心资料)
我们所说的数据库泛指“关系型数据库管理系统(RDBMS-Relational database management system)”,即“数据库服务器”。
阮键
2019/09/29
1.4K0
实施运维企业面试题-5「建议收藏」
NETW 参考答案 A 类 255.0.0.0 B 类 255.255.0.0 C 类 255.255.255.0 4 请描述预留给企业
全栈程序员站长
2022/08/22
3.3K0
16 . PythonWeb框架之Django
项目运行起来,访问IP:PORT/admin即可访问登录页面,但是需要先创建一个超级用户
iginkgo18
2020/09/27
2.6K0
16 . PythonWeb框架之Django
运维面试题(1024水篇)
NETWORK 1 请描述TCP/IP协议中主机与主机之间通信的三要素 参考答案 IP地址(IP address) 子网掩码(subnet mask) IP路由(IP router)
全栈程序员站长
2022/09/13
2.5K0
软件设计师复习资料「建议收藏」
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说软件设计师复习资料「建议收藏」,希望能够帮助大家进步!!!
Java架构师必看
2022/06/27
6.5K0
37.Django1.11.6文档
第一步 入门 检查版本 python -m django --version 创建第一个项目 django-admin startproject mysite 运行 python manage.py runserver 更改端口 python manage.py runserver 8080 更改IP python manage.py runserver 0:8000 1.创建app 创建投票应用 python manage.py startapp polls polls/views.py from dj
zhang_derek
2018/04/11
24.5K0
37.Django1.11.6文档
[PHP] 2018年终总结
========================================================================== 2018年12月29日 记录:
唯一Chat
2019/09/10
2.7K0
Python100Days
这可能是我目前发现最好最好的Python教程了,故整理至我的博客。 原项目GitHub地址https://github.com/jackfrued/Python-100-Days
一点儿也不潇洒
2018/08/07
9.9K0
基于Metasploit的软件渗透测试
Windows 2000 Professional 链接:https://pan.baidu.com/s/13OSz_7H1mIpMKJMq92nEqg?pwd=upsm 提取码:upsm Win
顾翔
2022/09/23
3.8K0
基于Metasploit的软件渗透测试
100天学会python
目前我使用的Python 3.7.x的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(例如:修复了某个Bug),只要有修改就增加C。如果对Python的历史感兴趣,可以阅读名为《Python简史》的网络文章。
她的店里只卖樱花
2023/01/06
3.4K0
100天学会python
推荐阅读
相关推荐
SQLServer中使用登录触发器限制用户的访问地址
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验