MSSQL安全设置的具体步骤和方法小结
MSSQL安全设置的具体步骤和方法小结,使用sql2000的朋友可以参考下,建议普通账户运行
第一步肯定是打上SQL SERVER最新的安全补丁.如果这一步都没有做好,那我们也没有继续下去的必要了。第二步是修改默认的1433端口,并且将SQL SERVER隐藏。这样能禁止对试图枚举网络上现有的 SQL Server 客户端所发出的广播作出响应。另外,还需要在TCP/IP筛选中将1433端口屏蔽掉,尽可能的隐藏你的SQL SERVER数据库。这样子一但让攻击创建了SQL SERVER的账号,也不能马上使用查询分析器远程登陆来进行下一步的攻击。单从ASP,PHP等页面构造恶意语句的话,还有需要查看返回值的问题,总比 不上直接查询分析器来得利落。所以我们首先要做到即使让别人注入了,也不能让攻击者下一步做得顺当。修改方法:企业管理器 --> 你的数据库组 --> 属性 --> 常规 --> 网络配置 --> TCP/IP --> 属性 ,在这儿将你的默认端口进行修改,和SQL SERVER的隐藏。
第三步是很重要的一步,SQL INJECTION往往在WEB CODE中产生。而做为系统管理员或者数据库管理员,总不能常常的去看每一段代码。即使常常看代码,也不能保证我们在上面的疏忽。那怎么办?我们就要从数 据库角色着手,让数据库用户的权限划分到最低点。SQL SERVER的默认权限让人真的很头疼,权限大得非常的高,权限小的又什么都做不了,SYSADMIN和db_owner真是让人又爱又恨。攻击者一但确 认了网站存在SQL INJECTION漏洞,肯定有一步操作步骤就是测试网站的SQL SERVER使用者具有多大的权限。一般都会借助Select IS_SRVROLEMEMBER('sysadmin'),或者Select IS_MEMBER('db_owner'),再或者用user = 0(让字符和数字进行比较,SQL SERVER就会提示了错误信息,从该信息中即可知道一些敏感信息)等语句进行测试。方法还有,我也不敢多说了。其一怕错,其二怕联盟中的人扁。在当前, 如果网站的数据库使用者用的是SA权限,再加上确认了WEB所处在的绝对路径,那么就宣告了你的网站的OVER。db_owner权限也一样,如果确认了 绝对路径,那么有50%的机会能给你的机器中上WEB 方式的木马,如海阳等。所以这儿我们确认了一点,我们必须要创建自已的权限,让攻击者找不着下嘴的地方。在这儿引用一个SQL SERVER联机帮助中的例子:
创建 SQL Server 数据库角色的方法(企业管理器)
创建 SQL Server 数据库角色
1. 展开服务器组,然后展开服务器。
2. 展开"数据库"文件夹,然后展开要在其中创建角色的数据库。
3. 右击"角色",然后单击"新建数据库角色"命令。
4. 在"名称"框中输入新角色的名称。
5. 单击"添加"将成员添加到"标准角色"列表中,然后单击要添加的一个或多个用户。(可选)
只有选定数据库中的用户才能被添加到角色中。
对象权限
处理数据或执行过程时需要称为对象权限的权限类别:
· Select、Insert、Update 和 Delete 语句权限,它们可以应用到整个表或视图中。
· Select 和 Update 语句权限,它们可以有选择性地应用到表或视图中的单个列上。
· Select 权限,它们可以应用到用户定义函数。
· Insert 和 Delete 语句权限,它们会影响整行,因此只可以应用到表或视图中,而不能应用到单个列上。
· EXECUTE 语句权限,它们可以影响存储过程和函数。
语句权限
创 建数据库或数据库中的项(如表或存储过程)所涉及的活动要求另一类称为语句权限的权限。例如,如果用户必须能够在数据库中创建表,则应该向该用户授予 Create TABLE 语句权限。语句权限(如 Create DATABASE)适用于语句自身,而不适用于数据库中定义的特定对象。
语句权限有:
· BACKUP DATABASE
· BACKUP LOG
· Create DATABASE
· Create DEFAULT
· Create FUNCTION
· Create PROCEDURE
· Create RULE
· Create TABLE
· Create VIEW
暗示性权限
暗示性权限控制那些只能由预定义系统角色的成员或数据库对象所有者执行的活动。例如,sysadmin 固定服务器角色成员自动继承在 SQL Server 安装中进行操作或查看的全部权限。
数据库对象所有者还有暗示性权限,可以对所拥有的对象执行一切活动。例如,拥有表的用户可以查看、添加或删除数据,更改表定义,或控制允许其他用户对表进行操作的权限。
db_owner 在数据库中有全部权限。
db_accessadmin 可以添加或删除用户 ID。
db_securityadmin 可以管理全部权限、对象所有权、角色和角色成员资格。
db_ddladmin 可以发出 ALL DDL,但不能发出 GRANT、REVOKE 或 DENY语句。
db_backupoperator 可以发出 DBCC、CHECKPOINT 和 BACKUP 语句。
db_datareader 可以选择数据库内任何用户表中的所有数据。 db_datawriter 可以更改数据库内任何用户表中的所有数据。
db_denydatareader 不能选择数据库内任何用户表中的任何数据。
db_denydatawriter 不能更改数据库内任何用户表中的任何数据。
在 这儿把新建的数据库角色的权限配置好,比如需要使用哪个表、视图、存储过程等。然后把Db_owner和db_securityadmin、 db_backupoperator取消,不给攻击者BACKUP DATABASE和Create TABLE的机会,一但攻击者具有这两个权限,那么你的网站就还处在十分危险的状态。还有注意一下,在创建数据库账号时,千万不能对服务器角色进行选择。
第四步是修改SQL SERVER内置存储过程。SQL SERVER估计是为了安装或者其它方面,它内置了一批危险的存储过程。能读到信息,能写入信息,能读磁盘共享信息等等......各位看到 这儿,心里可能会在想,我的网站中有其它的代码,又不像查询分析器那样能查接将结果输出。给你这个权限,又不能怎么样,还是看不到信息。如果各位这样想就 大错特错了。提示一下,如果攻击者有Create TABLE的权限,那么创建一个临时表,然后将信息Insert到表中,然Select出来,接着跟数字进行比较,让SQL SERVER报错,那么结果就全出来了......所以我们要报着宁错杀,不放过的态度进行修补。
先来列出危险的内置存储过程:
xp_cmdshell
xp_regaddmultistring
xp_regdeletekey
xp_regdeletevalue
xp_regenumkeys
xp_regenumvalues
xp_regread
xp_regremovemultistring
xp_regwrite
ActiveX自动脚本:
sp_OACreate
sp_OADestroy
sp_OAMethod
sp_OAGetProperty
sp_OASetProperty
sp_OAGetErrorInfo
sp_OAStop
将有安全问题的SQL过程删除.比较全面.一切为了安全!
删除有安全隐患的扩展:
exec sp_dropextendedproc 'xp_cmdshell' [删除此项扩展后,将无法远程连接数据库]
exec sp_dropextendedproc 'xp_dirtree' [删除此项扩展后,将无法新建或附加数据库]
exec sp_dropextendedproc 'xp_enumgroups'
exec sp_dropextendedproc 'xp_fixeddrives'
exec sp_dropextendedproc 'xp_loginconfig'
exec sp_dropextendedproc 'xp_regaddmultistring'
exec sp_dropextendedproc 'xp_regdeletekey'
exec sp_dropextendedproc 'xp_regdeletevalue'
exec sp_dropextendedproc 'xp_regread'
exec sp_dropextendedproc 'xp_regremovemultistring'
exec sp_dropextendedproc 'xp_regwrite'
exec sp_dropextendedproc 'xp_enumerrorlogs'
exec sp_dropextendedproc 'xp_getfiledetails'
exec sp_dropextendedproc 'xp_regenumvalues'
恢复扩展
exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'
exec sp_addextendedproc 'xp_dirtree', 'xpstar.dll'
exec sp_addextendedproc 'xp_enumgroups', 'xplog70.dll'
exec sp_addextendedproc 'xp_fixeddrives', 'xpstar.dll'
exec sp_addextendedproc 'xp_loginconfig', 'xplog70.dll'
exec sp_addextendedproc 'xp_regaddmultistring', 'xpstar.dll'
exec sp_addextendedproc 'xp_regdeletekey', 'xpstar.dll'
exec sp_addextendedproc 'xp_regdeletevalue', 'xpstar.dll'
exec sp_addextendedproc 'xp_regread', 'xpstar.dll'
exec sp_addextendedproc 'xp_regremovemultistring', 'xpstar.dll'
exec sp_addextendedproc 'xp_regwrite', 'xpstar.dll'
exec sp_addextendedproc 'xp_enumerrorlogs', 'xpstar.dll'
exec sp_addextendedproc 'xp_getfiledetails', 'xpstar.dll'
exec sp_addextendedproc 'xp_regenumvalues', 'xpstar.dll'
全部复制到"SQL查询分析器"
点击菜单上的--"查询"--"执行",就会将有安全问题的SQL过程删除(以上是7i24的正版用户的技术支持)
更改默认SA空密码.数据库链接不要使用SA帐户.单数据库单独设使用帐户.只给public和db_owner权限.
数据库不要放在默认的位置.
SQL不要安装在PROGRAM FILE目录下面.
以 上各项全在我们封杀之列,例如xp_cmdshell屏蔽的方法为:sp_dropextendedproc 'xp_cmdshell',如果需要的话,再用sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'进行恢复。如果你不知道xp_cmdshell使用的是哪个.dll文件的话,可以使用 sp_helpextendedproc xp_cmdshell来查看xp_cmdshell使用的是哪个动态联接库。另外,将xp_cmdshell屏蔽后,我们还需要做的步骤是将 xpsql70.dll文件进行改名,以防止获得SA的攻击者将它进行恢复。
我们做到这儿,你的SQL SERVER就基本上安全了。但是信息还是能一样的外泄。毕竟Select我们是无法取消的,除非你的网站用的是HTML。SQL INJECTION的防范还需要我们这些程序员来注意,这才是治本之法。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









win11 시스템을 사용할 때 컴퓨터 데이터에 도움이 되도록 핀 코드를 설정합니다. 그러나 많은 사용자는 핀 코드를 설정할 때 이 장치의 보안 설정이 변경되어 더 이상 핀 코드를 사용할 수 없음을 보여줍니다. 어떻게 해야 하지? 사용자는 문제 해결사로 가서 설정을 할 수 있습니다. 이 웹사이트에서 사용자에게 자세한 설명을 제공합니다. win11을 부팅할 때 이 장치의 보안 설정이 변경되었으며 핀 코드를 더 이상 사용할 수 없다고 표시되면 어떻게 해야 합니까? 술집. Windows 11을 부팅할 때 이 장치의 보안 설정이 변경되어 핀 코드를 더 이상 사용할 수 없다는 메시지가 표시되면 어떻게 해야 하나요? 먼저, PIN을 사용할 수 없고 PIN을 재설정해야 하는 페이지에서 Shift 키를 누른 채 다시 시작을 선택하세요. 나중에 기다려주세요라는 메시지가 나타나면 재설정을 입력하세요.

360 스피드 브라우저는 어떻게 보안 설정을 해야 할까요? 360 스피드 브라우저를 사용할 때 보안 설정은 어떻게 해야 할까요? 아래에서 소개하겠습니다! 우리는 웹서핑을 할 때 주로 360스피드 브라우저를 사용하는데, 이를 사용하다 보면 유해한 웹사이트가 우리 브라우저에 침입할까봐 걱정이 되기 때문에 보안 설정을 어떻게 해야 할까요? 아래에 360 Speed 브라우저를 정리했습니다. 방법을 모르시면 저를 따라가세요! 360 스피드 브라우저의 보안 설정 세부 작업 1. 360 스피드 브라우저를 열고 오른쪽 상단에 가로줄 3개가 있는 아이콘을 찾아 클릭하여 들어갑니다. 2. 기본 설정 메뉴로 들어가서 아래의 "옵션"을 찾아 클릭하여 들어갑니다. 3. "옵션" 인터페이스에 들어간 후 왼쪽

PHP가 mssql 데이터베이스에 연결하는 방법에는 PHP의 MSSQL 확장 사용, PDO 사용 등이 포함됩니다. 자세한 소개: 1. PHP의 MSSQL 확장 방법을 사용하여 PHP에 MSSQL 확장이 설치되어 있는지 확인합니다. mssql 확장이 활성화되어 있는지 여부는 PHP 구성 파일(php.ini)에서 확인할 수 있습니다. 2. PDO 메서드를 사용하여 PHP에 PDO 확장이 설치되어 있는지 확인하세요. PHP 구성 파일(php.ini)에서 pdo_sqlsrv 확장이 활성화되어 있는지 확인할 수 있습니다.

Ubuntu는 서버를 실행하는 데 일반적으로 사용되는 인기 있는 오픈 소스 운영 체제입니다. Ubuntu에 PHP를 설치하고 MSSQL 연결을 구성하는 것은 많은 개발자와 시스템 관리자가 자주 수행해야 하는 작업 중 하나입니다. 이 기사에서는 독자들에게 PHP 설치, Apache 설정, MSSQLServer 설치 등의 단계를 포함한 자세한 가이드를 제공하고 특정 코드 예제를 첨부합니다. 1단계: PHP 및 관련 확장 설치 먼저, PHP 연결을 지원하기 위해 PHP 및 관련 확장을 설치해야 합니다.

PHP 파일 권한은 서버의 파일 보안을 보호하기 위한 중요한 조치 중 하나입니다. 파일 권한을 적절하게 설정하면 악의적인 사용자가 파일에서 악성 코드를 수정, 삭제 또는 실행하는 것을 방지할 수 있습니다. 따라서 PHP 애플리케이션을 개발하고 배포할 때 파일 권한을 올바르게 설정하고 관리하여 애플리케이션 보안을 보장해야 합니다. 1. 기본 개념 파일 권한은 사용자(소유자), 사용자 그룹(그룹) 및 기타 사용자(기타)의 세 가지 수준으로 구분됩니다. 각 수준에는 읽기(Re)라는 세 가지 권한이 있습니다.

인터넷이 지속적으로 발전하고 개선됨에 따라 웹 서버의 속도와 성능에 대한 요구 사항은 점점 더 높아지고 있습니다. 이러한 요구 사항을 충족하기 위해 Nginx는 HTTP2 프로토콜을 성공적으로 마스터하고 이를 서버 성능에 통합했습니다. HTTP2 프로토콜은 이전 HTTP 프로토콜보다 더 효율적이지만 특정 보안 문제도 있습니다. 이 글에서는 Nginx의 HTTP2 프로토콜과 보안 설정을 최적화하는 방법을 자세히 소개합니다. 1. Nginx HTTP2 프로토콜 최적화 1. N에서 HTTP2 활성화

오늘날의 인터넷 환경에서 보안은 모든 시스템의 중요한 부분이 되었습니다. Nginx는 현재 가장 인기 있는 웹 서버 중 하나이며, ACL(액세스 제어 목록)은 웹 사이트 보안을 보호하는 중요한 도구입니다. 잘 설정된 Nginx ACL은 서버와 웹사이트를 공격으로부터 보호하는 데 도움이 될 수 있습니다. 이 기사에서는 웹사이트의 보안을 보장하기 위해 Nginx 액세스 제어 목록을 설정하는 방법에 대해 설명합니다. Nginx 액세스 제어 목록(ACL)이란 무엇입니까? ACL(액세스콘

Nginx는 뛰어난 성능, 보안 및 안정성을 갖춘 일반적으로 사용되는 웹 서버, 프록시 서버 및 로드 밸런서이며 로드가 많은 웹 애플리케이션에 사용할 수 있습니다. 이 기사에서는 Nginx 성능 최적화 및 보안 설정을 살펴보겠습니다. 1. 성능 최적화 및 작업자_프로세스 매개변수 조정 작업자_프로세스는 Nginx의 중요한 매개변수입니다. 사용할 수 있는 작업자 프로세스 수를 지정합니다. 이 값은 서버 하드웨어, 네트워크 대역폭, 로드 유형 등에 따라 결정되어야 합니다.
