搜尋
首頁資料庫mysql教程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的防范还需要我们这些程序员来注意,这才是治本之法。
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
說明InnoDB重做日誌和撤消日誌的作用。說明InnoDB重做日誌和撤消日誌的作用。Apr 15, 2025 am 12:16 AM

InnoDB使用redologs和undologs確保數據一致性和可靠性。 1.redologs記錄數據頁修改,確保崩潰恢復和事務持久性。 2.undologs記錄數據原始值,支持事務回滾和MVCC。

在解釋輸出(類型,鍵,行,額外)中要查找的關鍵指標是什麼?在解釋輸出(類型,鍵,行,額外)中要查找的關鍵指標是什麼?Apr 15, 2025 am 12:15 AM

EXPLAIN命令的關鍵指標包括type、key、rows和Extra。 1)type反映查詢的訪問類型,值越高效率越高,如const優於ALL。 2)key顯示使用的索引,NULL表示無索引。 3)rows預估掃描行數,影響查詢性能。 4)Extra提供額外信息,如Usingfilesort提示需要優化。

在解釋中使用臨時狀態以及如何避免它是什麼?在解釋中使用臨時狀態以及如何避免它是什麼?Apr 15, 2025 am 12:14 AM

Usingtemporary在MySQL查詢中表示需要創建臨時表,常見於使用DISTINCT、GROUPBY或非索引列的ORDERBY。可以通過優化索引和重寫查詢避免其出現,提升查詢性能。具體來說,Usingtemporary出現在EXPLAIN輸出中時,意味著MySQL需要創建臨時表來處理查詢。這通常發生在以下情況:1)使用DISTINCT或GROUPBY時進行去重或分組;2)ORDERBY包含非索引列時進行排序;3)使用複雜的子查詢或聯接操作。優化方法包括:1)為ORDERBY和GROUPB

描述不同的SQL交易隔離級別(讀取未讀取,讀取,可重複的讀取,可序列化)及其在MySQL/InnoDB中的含義。描述不同的SQL交易隔離級別(讀取未讀取,讀取,可重複的讀取,可序列化)及其在MySQL/InnoDB中的含義。Apr 15, 2025 am 12:11 AM

MySQL/InnoDB支持四種事務隔離級別:ReadUncommitted、ReadCommitted、RepeatableRead和Serializable。 1.ReadUncommitted允許讀取未提交數據,可能導致臟讀。 2.ReadCommitted避免臟讀,但可能發生不可重複讀。 3.RepeatableRead是默認級別,避免臟讀和不可重複讀,但可能發生幻讀。 4.Serializable避免所有並發問題,但降低並發性。選擇合適的隔離級別需平衡數據一致性和性能需求。

MySQL與其他數據庫:比較選項MySQL與其他數據庫:比較選項Apr 15, 2025 am 12:08 AM

MySQL適合Web應用和內容管理系統,因其開源、高性能和易用性而受歡迎。 1)與PostgreSQL相比,MySQL在簡單查詢和高並發讀操作上表現更好。 2)相較Oracle,MySQL因開源和低成本更受中小企業青睞。 3)對比MicrosoftSQLServer,MySQL更適合跨平台應用。 4)與MongoDB不同,MySQL更適用於結構化數據和事務處理。

MySQL索引基數如何影響查詢性能?MySQL索引基數如何影響查詢性能?Apr 14, 2025 am 12:18 AM

MySQL索引基数对查询性能有显著影响:1.高基数索引能更有效地缩小数据范围,提高查询效率;2.低基数索引可能导致全表扫描,降低查询性能;3.在联合索引中,应将高基数列放在前面以优化查询。

MySQL:新用戶的資源和教程MySQL:新用戶的資源和教程Apr 14, 2025 am 12:16 AM

MySQL學習路徑包括基礎知識、核心概念、使用示例和優化技巧。 1)了解表、行、列、SQL查詢等基礎概念。 2)學習MySQL的定義、工作原理和優勢。 3)掌握基本CRUD操作和高級用法,如索引和存儲過程。 4)熟悉常見錯誤調試和性能優化建議,如合理使用索引和優化查詢。通過這些步驟,你將全面掌握MySQL的使用和優化。

現實世界Mysql:示例和用例現實世界Mysql:示例和用例Apr 14, 2025 am 12:15 AM

MySQL在現實世界的應用包括基礎數據庫設計和復雜查詢優化。 1)基本用法:用於存儲和管理用戶數據,如插入、查詢、更新和刪除用戶信息。 2)高級用法:處理複雜業務邏輯,如電子商務平台的訂單和庫存管理。 3)性能優化:通過合理使用索引、分區表和查詢緩存來提升性能。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中