




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、服务器安全攻略,系统环境:Windows server 2003+iis6.0+SQL 2005+vs2005,2,Contents,诊断方法及其解决办法,SQL注入式攻击及预防,DDOS攻击及预防,服务器攻击手段,服务器的配置,3,服务器配置,基本配置: 安装服务器补丁 安装杀毒软件 设置端口保护和防火墙、删除默认共享 权限设置 NTFS权限设置,请记住分区的时候把所有的硬盘都分为NTFS分区,然后我们可以确定每个分区对每个用户开放的权限 每个IIS站点或者虚拟目录,都可以设置一个匿名访问用户 禁用不必要的服务 开始-运行-services.msc 修改注册表,让系统更强壮,4,服务器攻击手
2、段,DOS攻击与DDOS攻击 DDOS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”, DOS攻击是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。 区别:DOS侧重于系统漏洞的攻击,DDOS最常见的是洪水攻击,就是阻塞系统与外面的正常通信,5,DDOS攻击,SYN/ACK Flood攻击:这种攻击方法是经典最有效的DDOS方法,可通杀各种系统的网络服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK包 。 判
3、断方法:服务器无法访问,会导致Ping失败、TCP/IP栈失效,不响应键盘和鼠标。 TCP全连接攻击:这种攻击是为了绕过常规防火墙的检查而设计的, 导致服务器资源被耗尽。 Script脚本攻击 :服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用。轻松找一些Proxy代理就可实施攻击,6,SQL注入式攻击,注入式攻击是指利用设计上的漏洞,在目标服务器上运行sql命令以及进行其他方式的攻击,动态生成sql命令是没有对用户输入的数据进行验证,这是注入式攻击原理. 最常见的也就是在查询字符串中直接输入SQL攻击字符串 例如:page.asp?id=Num and
4、exists (select * from admin) 其次就是在FORM表单中提交的SQL注入攻击字段。 通过COOKIE绕过一些放注入的脚本程序 例如:javascript:alert(document.cookie=id=+escape(这就是asp? id=xx后面xx代表的数值) and (这里是注入攻击代码); 还有就是上面几种的攻击通过16进制编码后,绕过SQL注入检测的脚本程序,7,SQL注入式预防,对于构造SQL查询的技术,可以使用下面的技术: 替换单引号,即把所有单独出现的单引号改成两个单引号,防止攻击者修改SQL命令的含义。 删除用户输入内容中的所有连字符,防止攻击者构
5、造出类如“SELECT * from Users WHERE login = mas AND password =”之类的查询,因为这类查询的后半部分已经被注释掉,不再有效,攻击者只要知道一个合法的用户登录名称,根本不需要知道用户的密码就可以顺利获得访问权限。 对于用来执行查询的数据库帐户,限制其权限。用不同的用户帐户执行查询、插入、更新、删除操作。由于隔离了不同帐户可执行的操作,因而也就防止了原本用于执行SELECT命令的地方却被用于执行INSERT、UPDATE或DELETE命令,8,预防SQL注入式攻击,限制表单或查询字符串输入的长度 用存储过程来执行所有的查询 。SQL参数的传递方式将
6、防止攻击者利用单引号和连字符实施攻击。此外,它还使得数据库权限可以限制到只允许特定的存储过程执行,所有的用户输入必须遵从被调用的存储过程的安全上下文,这样就很难再发生注入式攻击了 普通用户与系统管理员用户的权限要有严格的区分 如果一个普通用户在使用查询语句中嵌入另一个Drop Table语句,那么是否允许执行呢?由于Drop语句关系到数据库的基本对象,故要操作这个语句用户必须有相关的权限。在权限设计中,对于终端用户,即应用软件的使用者,没有必要给他们数据库对象的建立、删除等权限。那么即使在他们使用SQL语句中带有嵌入式的恶意代码,由于其用户权限的限制,这些代码也将无法被执行。故应用程序在设计的
7、时候,最好把系统管理员的用户与普通用户区分开来。如此可以最大限度的减少注入式攻击对数据库带来的危害,9,SQL注入式预防,强迫使用参数化语句 在编写SQL语句的时候,用户输入的变量不是直接嵌入到SQL语句。而是通过参数来传递这个变量的话,那么就可以有效的防治SQL注入式攻击。也就是说,用户的输入绝对不能够直接被嵌入到SQL语句中。与此相反,用户的输入的内容必须进行过滤,或者使用参数化的语句来传递用户输入的变量。参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中。采用这种措施,可以杜绝大部分的SQL注入式攻击。使用SQL的参数方式.参数(Parameters)集合提供类型检测和长度检测.
8、如果你使用参数集合,输入的内容将被当作文本值来对待,数据库不会执行包含在其中的代码.使用参数集方式的一个额外的好处是,你可以严格限定输入的类型和长度.如果输入型超出范围将会触发异常,10,Webconfig文件配置,验证ASP.NET的错误信息没有被返回到客户端 你可以使用元素来配置客户端,一般的错误信息应该被程序错误检测机制返回到客户端. 请确认已经更改web.config中的mode属性为remoteOnly,下面是示例. 安在装了一个ASP.NET 的程序之后,你可以按照如下设定指定客户端的错误信息页面。 On指定启用自定义错误。如果未指定 defaultRedirect,用户将看到一般
9、性错误。Off指定禁用自定义错误。这允许显示标准的详细错误。RemoteOnly指定仅向远程客户端显示自定义错误并且向本地主机显示 ASP.NET 错误,11,win2003整体配置整理,1) 隐藏重要文件/目录可以修改注册表实现完全隐藏 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows Current-VersionExplorerAdvancedFolderHi-ddenSHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0 2) 防止SYN洪水攻击 HKEY_LOCAL_MACHINESYSTEMCurrentContro
10、lSetServicesTcpipParameters 新建DWORD值,名为SynAttackProtect,值为2 新建EnablePMTUDiscovery REG_DWORD 0 新建NoNameReleaseOnDemand REG_DWORD 1 新建EnableDeadGWDetect REG_DWORD 0 新建KeepAliveTime REG_DWORD 300,000 新建PerformRouterDiscovery REG_DWORD 0 新建EnableICMPRedirects REG_DWORD 0,12,win2003整体配置整理,3) 禁止响应ICMP路由通告
11、报文 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfacesinterface 新建DWORD值,名为PerformRouterDiscovery 值为0 4) 防止ICMP重定向报文的攻击 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 将EnableICMPRedirects 值设为0 5) 不支持IGMP协议 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpi
12、pParameters 新建DWORD值,名为IGMPLevel 值为0,13,Win2003整体配置整理,Your Text,Your Text,6) 禁止IPC空连接:cracker可以利用net use命令建立空连接,进而入侵,还有net view,nbtstat这些都是基于空连接的,禁止空连接就好了。Local_MachineSystemCurrentControlSetControlLSA-RestrictAnonymous 把这个值改成”1”即可。 7) 更改TTL值cracker可以根据ping回的TTL值来大致判断你的操作系统,如: TTL=107(WINNT); TTL=10
13、8(win2000); TTL=127或128(win9x); TTL=240或241(linux); TTL=252(solaris); TTL=240(Irix); 8) 禁止建立空连接 默认情况下,任何用户通过通过空连接连上服务器,进而枚举出帐号,猜测密码。我们可以通过修改注册表来禁止建立空连接: Local_MachineSystemCurrentControlSetControlLSA-RestrictAnonymous 的值改成”1”即可,14,杜绝基于Guest账户的入侵,Guest账户即所谓的来宾账户,它可以访问计算机,但受到限制。不幸的是,Guest也为黑客入侵打开了方便之门
14、!网上有很多文章中都介绍过如何利用Guest用户得到管理员权限的方法,所以要杜绝基于Guest账户的系统入侵。 禁用或彻底删除Guest账户是最好的办法,但在某些必须使用到Guest账户的情况下,就需要通过其它途径来做好防御工作了。 首先 要给Guest设一个密码,然后详细设置Guest账户对物理路径的访问权限。举例来说,如果你要防止Guest用户可以访问tool文件夹,可以 右击该文件夹,在弹出菜单中选择“安全”标签,从中可看到可以访问此文件夹的所有用户。删除管理员之外的所有用户即可。或者在权限中为相应的用户设定权 限,比方说只能“列出文件夹目录”和“读取”等,这样就安全多了。 只给Gues
15、t读取的权限,只有administrator读取和修改的权限,15,Win2003整体配置整理,Add Your Title,9) 建议使用W3C扩充日志文件格式,每天记录客户IP地址,用户名,服务器端口,方法,URI字根,HTTP状态,用户代理,而且每天均要审查日志。(最好 不要使用缺省的目录,建议更换一个记日志的路径,同时设置日志的访问权限,只允许管理员和system为Full Control)。 10) 程序安全:A.涉及用户名与口令的程序最好封装在服务器端,尽量少的在ASP文件里出现,涉及到与数据库连接地用户名与口令应给予最小的权限;B.需要经过验证的ASP页面,可跟踪上一个页面的文件
16、名,只有从上一页面转进来的会话才能读取这个页面;C.防止ASP主页.inc文件泄露问题;D.防止UE等编辑器生成some.asp.bak文件泄露问题,16,检测方法: 如果系统的安全性日志在某段时间段内不存在(这段时间服务器处于运行状态),很可能系统的登录日志已经被删除,还有可能被入侵 net user命令能显示计算机中所有的本地用户账户。net localgroup命令显示本地组成员,net localgroup administrators 命令显示管理员组中的成员,net start命令显示正在运行的服务 ,看看有没有不符合本系统的隐藏用户和组及其服务 系统的登陆界面按下win+U组合,如果没出现放大镜就证明系统开了后门 解决方法: 恢复被删除的日志,17,免受黑客扫
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鱼塘股份合同协议书
- 食堂搭伙合同协议书
- 兄弟俩出资买房协议书
- 酒店优惠预订协议书
- 分手后房产归属协议书
- 钢筋清包合同协议书
- 餐厅临时员工协议书
- 集体拆迁补偿协议书
- 餐饮员工就餐协议书
- 出租车退车合同协议书
- 全国卫生健康系统职业技能竞赛(传染病防治监督)参考试题(附答案)
- 中职《畜禽解剖生理》核心知识点备考试题(附答案)
- 养老院九防知识培训
- 学校食堂日清单、周汇-总、月结算制度
- 中职教案评比评价表
- 四年级语文下册 第六单元 语文园地第1课时说课稿 新人教版
- 餐饮企业财务流程解析
- 高中数学核心概念和思想方法有效教学模式探讨课件
- 2025年中国铁塔浙江省分公司招聘笔试参考题库含答案解析
- 医院保密知识培训课件
- 第8章 宏观经济政策
评论
0/150
提交评论