欢迎光临殡葬网
详情描述

1. Windows 防火墙设置(最简单有效)

入站规则设置

# 允许特定 IP 访问 1433 端口
New-NetFirewallRule -DisplayName "SQL Server Allow IP" -Direction Inbound `
  -LocalPort 1433 -Protocol TCP -Action Allow -RemoteAddress 192.168.1.100

# 拒绝其他 IP 访问
New-NetFirewallRule -DisplayName "SQL Server Block All" -Direction Inbound `
  -LocalPort 1433 -Protocol TCP -Action Block

2. SQL Server 配置管理器

修改 TCP/IP 属性

打开 SQL Server 配置管理器 展开 SQL Server 网络配置 → 协议 右键 TCP/IP → 属性 在 IP 地址 选项卡中:
  • 设置特定 IP 的 TCP 端口 为 1433
  • 将不需要的 IP 的 活动 改为 否
  • 将 IPAll 中的 TCP 动态端口 清空

3. 数据库引擎的登录限制

使用登录名的 CONNECT 权限

-- 创建登录名时限制访问
CREATE LOGIN [YourLogin] WITH PASSWORD = 'StrongPassword!'
GO

-- 为登录名授予连接权限(默认就有)
-- 如果要限制,可以通过拒绝 CONNECT SQL 权限

4. 使用数据库触发器(应用层限制)

创建登录触发器

CREATE TRIGGER [connection_limit_trigger]
ON ALL SERVER WITH EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN
    DECLARE @ClientIP VARCHAR(50)
    SET @ClientIP = EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'VARCHAR(50)')

    -- 允许的 IP 列表
    IF @ClientIP NOT IN ('192.168.1.100', '192.168.1.101')
    BEGIN
        ROLLBACK
        RAISERROR('IP %s 不允许访问数据库服务器', 16, 1, @ClientIP)
    END
END
GO

5. 使用 SQL Server Audit(监控和审计)

-- 创建服务器审计
CREATE SERVER AUDIT IP_Audit
TO FILE (FILEPATH = 'C:\Audits\')
WITH (ON_FAILURE = CONTINUE)
GO

-- 启用审计
ALTER SERVER AUDIT IP_Audit WITH (STATE = ON)
GO

-- 创建服务器审计规范
CREATE SERVER AUDIT SPECIFICATION IP_Audit_Spec
FOR SERVER AUDIT IP_Audit
ADD (FAILED_LOGIN_GROUP),
ADD (SUCCESSFUL_LOGIN_GROUP)
WITH (STATE = ON)
GO

6. 通过应用程序网关/防火墙

使用 Azure SQL Database

-- Azure SQL 有内置的防火墙功能
-- 在 Azure Portal 中设置防火墙规则:
-- 1. 服务器防火墙 → 添加客户端 IP
-- 2. 配置虚拟网络规则

-- 使用存储过程管理防火墙规则
EXEC sp_set_firewall_rule @name = N'AllowOffice', 
    @start_ip_address = '192.168.1.1', 
    @end_ip_address = '192.168.1.254'

最佳实践建议:

多层防护策略:

第一层:操作系统防火墙 第二层:SQL Server TCP/IP 配置 第三层:SQL Server 登录限制 第四层:应用程序权限控制

具体操作步骤:

-- 1. 查看当前连接信息
SELECT 
    session_id,
    connect_time,
    client_net_address,
    auth_scheme,
    host_name
FROM sys.dm_exec_connections
WHERE session_id = @@SPID

-- 2. 查看所有连接
EXEC sp_who2

-- 3. 查看登录信息
SELECT name, type_desc, is_disabled
FROM sys.server_principals
WHERE type IN ('S', 'U', 'G')

推荐的组合方案:

生产环境:使用 Windows 防火墙 + SQL Server 配置 高安全环境:增加登录触发器 + SQL Server Audit 云环境:使用云服务商提供的网络安全组和防火墙

注意事项:

  • 修改配置前务必备份现有设置
  • 测试时保留一个管理员 IP 的访问权限
  • 确保应用程序连接池配置正确
  • 定期审查和更新 IP 白名单
  • 使用 VPN 或专用连接进行远程访问更安全

选择哪种方法取决于你的具体需求:

  • 简单控制:使用 Windows 防火墙
  • 精细控制:结合多种方法
  • 云环境:使用云平台的安全组功能
相关帖子
陵水网站建设正规公司-苹果app开发,一站式服务
陵水网站建设正规公司-苹果app开发,一站式服务
房产抵押贷利率区间参考,结合房产条件判断当前利率是否合理
房产抵押贷利率区间参考,结合房产条件判断当前利率是否合理
二抵利率比一抵高一两个点,因为银行风险更大
二抵利率比一抵高一两个点,因为银行风险更大
家庭有残疾人,在申请边缘家庭认定时是否能获得额外的照顾或加分?
家庭有残疾人,在申请边缘家庭认定时是否能获得额外的照顾或加分?
因合同到期公司不再续签而失业,是否符合领取失业金的条件?
因合同到期公司不再续签而失业,是否符合领取失业金的条件?
过去考取的职业资格证书,在2026年是否仍然有效,是否需要定期参加继续教育?
过去考取的职业资格证书,在2026年是否仍然有效,是否需要定期参加继续教育?
武汉市做网站公司@企业网站建设,服务可靠
武汉市做网站公司@企业网站建设,服务可靠
沈阳市殡葬服务租车|丧事服务一条龙,冰棺出租
沈阳市殡葬服务租车|丧事服务一条龙,冰棺出租
黄山市丧葬一条龙价格-殡葬跟拍录像,一流的质量
黄山市丧葬一条龙价格-殡葬跟拍录像,一流的质量
桐乡市网站定制开发公司-购物网站设计开发,优秀开发团队
桐乡市网站定制开发公司-购物网站设计开发,优秀开发团队
湖州市殡葬服务车租赁-丧礼灵棚,全天在线
湖州市殡葬服务车租赁-丧礼灵棚,全天在线
宜春市独立网站开发设计-android软件开发,多年建站经验
宜春市独立网站开发设计-android软件开发,多年建站经验
抚州市殡葬服务一条龙办理|白事丧事服务,殡葬告别会
抚州市殡葬服务一条龙办理|白事丧事服务,殡葬告别会
衡阳市高效获客@企业网站建设设计,收费透明
衡阳市高效获客@企业网站建设设计,收费透明
与用人单位协商解决工资拖欠问题时,需要注意哪些沟通技巧?
与用人单位协商解决工资拖欠问题时,需要注意哪些沟通技巧?
哈尔滨市java开源商城二次开发-苹果系统app开发,优秀开发团队
哈尔滨市java开源商城二次开发-苹果系统app开发,优秀开发团队
潜江市殡葬服务|丧葬服务车出租,丧葬追思会
潜江市殡葬服务|丧葬服务车出租,丧葬追思会
沧州市精准获客系统@企业网站开发建设,优秀开发团队
沧州市精准获客系统@企业网站开发建设,优秀开发团队
“元宇宙”中的虚拟化身,会如何使用和关联到我们真实的生物信息?
“元宇宙”中的虚拟化身,会如何使用和关联到我们真实的生物信息?
自由职业者如果中断自缴公积金一段时间,账户和权益会受什么影响?
自由职业者如果中断自缴公积金一段时间,账户和权益会受什么影响?