从源头防止入侵者通过web进行入侵WEB安全

2022-11-29 13:55:14 分类:综合材料 下载本文

“自己的小小世界”通过精心收集,向本站投稿了5篇从源头防止入侵者通过web进行入侵WEB安全,下面是小编给大家带来从源头防止入侵者通过web进行入侵WEB安全,一起来阅读吧,希望对您有所帮助。

篇1:从源头防止入侵者通过web进行入侵WEB安全

从web的源头制止入侵

题记:昨天休息的时候,一个朋友给我信息说他公司的服务器被黑了,破坏者不停的修改替换主页,搞的他都怕了,查到了那家伙的ip地址,包括身份证号码,家庭住址,报警网警说会处理的,但是一直没人问津。也感叹一下有关部门态度,拿着我们纳税人的养着,却这样给我们服务。有关部门是否也该“市场经济”一把就好了。昨天过去帮他把服务器弄了一下,答应他给他整理一个文档出来的,昨天晚上一想,既然整理了,那就好好整理下,希望此文能给那些想处理好网站的安全而又没钱请专人做的公司以及个人能有点小小的帮助吧。此文为昨天在朋友整理服务器的全程记录,由于考虑到安全的原因,网站目录或者文件名称可能与其网站程序有差异。

本文的宗旨:可能有的人会问,关于Windows系统下的防止webshell的文章那么多,我再写此文简直多此一举,此言差亦。纵观以前大家写的关于windows下的防止webshell的文章,发现了一个小小的bug,那就是没有从源头上制止webshell的执行,就是说webshell可以上传到服务器(有时候是可以跳过默认上传目录的),但是有的还是能把当前站点给黑了的,就是可以将主页给替换了的。此文就是解决这样的一个问题,至于c盘的权限以及组件的删除什么的,以前的一些文章已经写的非常不错了,我在这里也就不再赘述了。

目前流行的通过web入侵的方法:

1、sql注入法:通过sql注入获取一定的后台权限,或者直接通过sql数据库备份一个shell。最早的出现的时间应该是在的时候了,通过经典的’or’ ’=’进化而来的。前54nb的小竹写的《sql注入天书》,可算是sql注入的经典,相应推出的nbsi的注入工具也是sql注入工具中的典范了。至今俺还保存着当初推出的beta版到现在的各种修改版。

2、上传法:指的是通过系统提供的web上传功能来直接上传一个shell来获取web控制权限。初出现的的,最早出现在dvbbs论坛的上传组建上,其原因是由于windows系统对于文件名的检查的顺序的问题;后来相继又出现了一种就是现在的动易的前身动力文章系统3.6版本,出现的多文件上传过滤不严引起的可以直接上传cer文件的方法。这两种方法应该是上传漏洞鼻祖了。其代表工具有:最早出现的臭要饭的upload工具,还有一个比较经典的就是桂林老兵写的那个,通用性极强。

3、还有一种就是所谓的旁注法了,其方法主要是通过whois工具查找服务器的域名列表,然后通过上述两种方法来获取权限,进而来入侵同一服务器上的目标的,因为其是通过服务器上的其他网站来入侵目标的,因而就称其为旁注了。最早出现的文章应该是B.C.T的老大h4k_b4n写的文章,那时候B.C.T还没有成立呢。

上面了解了下流行的web入侵方法,那下面来看下常用的web的网站系统的一些功能,下面动态的系统和静态的系统来分别说明下。

1、动态的系统:常用的功能有,文章发布,主要是将数据写到数据库中asp常用的主要是access和sql server。文章发布中可以需要一些上传图片的功能。基本目录结构及其所需要的最低的权限如下:

database //为数据库存在目录,可能有的系统的存放目录不一样,这里为了更直观,将其写为database。需要的权限有读取和修改权限,如果有备份数据功能的可能还要有写入的权限。

upload //上传图片的目录,需要有写入和读取的权限,修改权限。

images //系统使用的图片目录,读取权限即可

admin //后台管理目录,一般为asp文件,需要有读取权限。

/根目录,一般存放为asp文件,需要有读取权限。

2、静态页面的系统:指的是一些内容页生成静态页面,而主页和二级页面为动态的系统,现在这种系统居多,

主要的功能有,上传图片,生成静态页面,acess数据库的可能还有个数据库备份功能。其基本目录结构如下:

database //为数据库存在目录,可能有的系统的存放目录不一样,这里为了更直观,将其写为database。需要的权限有读取和修改权限,如果有备份数据功能的可能还要有写入的权限。

upload //上传图片的目录,需要有写入和读取的权限。

images //系统使用的图片目录,读取权限即可

admin //后台管理目录,一般为asp文件,需要有读取和执行权限。

/根目录,一般存放为asp文件,需要有读取以及执行权限。

/html//此目录为生成静态页面的目录。需要有读取,修改以,写入权限。此文仅仅讨论生成的后缀为html,htm的情况。也是大部分程序生成的都为这些了。对比动态的多了一个生成静态页面的目录。

下面进入本文的重点:安全的设置。

对于sql注入的防范防范最好的是将所有的客户端提交的进入sql查询的参数全部过滤掉,这个对管理员的要求比较高了,需要懂程序开发才可以搞定的。而有一种比较简单的方法就是使用笔者以前写的一个小工具sql通用防注入系统.可以到我的网站下载:www.neeao.com/blog/article-2285.html.

主要说下如何防止上传漏洞的产生,sql注入比较好发现,对于上传的话如果懂的朋友也是可以用工具检测出来的,当然最好的方法就是修改程序,替换上传组件了。但这个相对于sql通用防注入的防范来说比较难了,没有通用的工具了。那么我们可以用服务器上的权限设置来防止破坏者上传或者上传后执行webshell。

1、先按照以前人总结的防止webshell文章给每个站点设置一个单独的账户,在这里,我为了方面说明,姑且假设我设置的web站点的主目录为:d:webneeao.com,添加的iis匿名账户为web_neeao.com,所属组为guests。

2、设置web主目录的权限,删除除了administrators和system两个账户外的所有账户的访问权限,添加web_neeao.com,账户,将其权限设置为读取。并替换子目录下所有目录及文件权限,删除继承上级目录的权限。

3、设置上传目录的权限,我这里按照我上面列出的上传目录为uplaod,将其权限设置为读取及和写入还有修改权限,或许你有一个以上的上传目录,可以同样这样设置。

4、设置数据库目录的权限,我的数据库目录是database,将其权限设置为读取,写入和修改。或许你有一个以上的数据库目录,可以同样这样设置。

5、images目录权限,读取

6、admin目录,读取。

7、html目录,读取,写入。

上面的是针对磁盘的权限的设置,但是这样还是不行的,我们可以看出一些目录还是有写权限的,比如database、upload,以及html目录,如果asp文件传到这些目录的话同样是可以威胁网站安全的。

下面我们来看IIS中的设置:

在IIS管理器中左侧的站点列表中,单击站点前面的+符合,可以看到下面有目录的列表,在database目录上单击鼠标右键,属性,将其脚本执行权限去掉,设置为无。Upload目录和html目录同样这样设置。这里需要注意下database目录设置的时候,可以将其目录设置重定向,防止访问者非法下载access数据库。

至此权限设置结束了,关于权限的设置,我将其总结为一句话就是:能执行就不给写,能写就不给执行。如果按照这样的原则设置的话,基本上通过web上传并执行webshell是基本不可能的了,就我目前所了解的方法来说。

by:Neeao[B.C.T]

2007-8-13日上午10时

篇2:防止 入侵WEB服务器三步曲!

正文:WEB服务器常有情况发生,以下给出三种最常见情况的解决方法

防ACCESS数据库下载

添加MDB的扩展映射就可以了。方法:IIS属性,主目录,配置,映射,应用程序扩展里添加.mdb的应用解析,至于选择的解析文件大家可以自已测试,只要 访问数据库时出现无法找到该页就可以了,这里给出一个选择为wam.dll

防上传

以MSSQL数据库为例。在IIS的WEB目录,在权限选项里只能IIS用户读取和列出目录的权限,然后进入上传文件保存和存放数据库的目录,给IIS用户加上写入的权限,然后在这二个目录的属性,执行权限选项把纯脚本改为无就完成了,

总的来说就是可以上传的目录不给执行权限,有执行权限的目录不允许上传。

防MSSQL注入

这很重要,在一次提醒,连接数据库万万不能用SA帐号。一般来说可以使用DB――OWNER权限来连接数据库。不过这存在差异备份来获得WEBSHELL的问题。下面就说一下如何防差异备份。

差异备份是有备份的权限,而且要知道WEB目录。现在找WEB目录的方法是通过注册表或是列出主机目录自已找,这二个方法其实用到了XP_REGREAD和XP_DRITREE这二个扩展存储,我们只要删除他们就可以了。但是还有一点就是万一程序自已爆出目录呢。所以要让帐号的权限更低,无法完成备份。操作如下:在这个帐号的属性,数据库访问选项里只需要选中对应的数据库并赋予其DB_OWNER权限,对于其它数据库不要操作,接着还要到该数据库,属性,权限,把该用户的备份和备份日志的权限去掉就可以了,这样入侵者就不能通过差异备份来获取WEBSEHLL了.

上面给出了三种方法,可能还有人会说有注入点怎么办,哪真是老生常谈了,补嘛.至于怎么补,如果你不懂写过滤语句的话,就用网上现成的防注入系统好了.

篇3:伪装nginx版本防止入侵web服务器WEB安全

为了防止被 扫描到web服务器信息,通过相对应的web服务器信息找出对应的版本漏洞,从而对web服务器进行入侵,nginx虽然功能强大,但是也是软件,软件就可能会有漏洞,例如nginx-0.6.32版本,默认情况下可能导致服务器错误的将任何类型的文件以php的方式进行解析,比如上传一个jpg格式的木马到论坛网站,通过漏洞解析成一个php的webshell,从而入侵获得服务器的权限,这将导致严重的安全问题,使得 可能攻陷支持php的nginx服务器,如果暴漏了nginx版本而且该版本又存在安全漏洞那么你的web服务器肯定危在旦夕了。

针对于nginx服务器,可以修改源码中关于nginx的header描述信息,以下以nginx-1.2.0版本为例。

[root@www nginx-1.2.0]# cd src/core/[root@www core]# vim nginx.h   -------编辑nginx.h文件

/** Copyright (C) Igor Sysoev* Copyright (C) Nginx, Inc.*/#ifndef _NGINX_H_INCLUDED_#define _NGINX_H_INCLUDED_#define nginx_version      1002000#define NGINX_VERSION      “2.2.2” //默认为1.2.0#define NGINX_VER          “Apache/” NGINX_VERSION //默认为Nginx#define NGINX_VAR          “NGINX”#define NGX_OLDPID_EXT     “.oldbin”#endif /* _NGINX_H_INCLUDED_ */

然后进行正常编译完成安装,

测试效果

使用强大的nmap扫描主机

使用curl获取http请求信息

或者访问一个不存在的URL也可以查看到效果

可以看到无论是用nmap扫描主机还是用curl获取对网站http报文的请求信息甚至是访问请求一个不存在的url都会显示web服务器使用的是Apache2.2.2版本,从而隐藏了我们真实web服务器版本即nginx-1.2.0版本,当然这里可以伪装为IIS、Lighthttp、Tengine甚至是自定义的名字都可以,总之迷惑了入侵者的思路,保护了web服务器的安全。

补充:有朋友留言给我,说404页面还是显示出nginx的风格,那就修改默认404页面吧

在nginx.conf中增加如下内容指定404页面路径(/usr/local/nginx/html)

error_page  404              /404.html;location = /404.html {root  html;}

重新加载配置文件

/usr/local/nginx/sbin/nginx -s reload

任意访问一个不存在的页面,就可以看到效果了!

篇4:大型机如何抵御 入侵WEB安全

在大型机兴起之初,它的使用环境是非常安全的,用户可以将终端系统与大型机相连,这样大型机就能控制数据存储的访问路径和权限,掌控用户的使用信息和来源。

但时至今日我们使用的是面向服务的体系架构(SOA),在与后端系统连接之前会有一系列的计算机发出请求。用户也分为不同的级别。因此大型机的后端就无法实际确认用户真正的身份和授权的地点。所以,在分布式计算机的领域,当用户准备访问大型机数据时,安全状况就变得前景堪忧。

另外,目前真正了解大型机的专家实在寥寥可数--他们多数都已退居二线。因此当用户访问大型机并分享数据时,内忧外患也是越来越多。

大型机是座宝库

威利萨顿(willie sutton)是十九世纪二十年代闻名一时的银行大盗,在他被抓获后有人问他“威利,你为什么抢劫银行呢?”他老实回答说“因为那里有钱”。

如果威利能活到今天,我敢打赌他一定是名入侵终端数据库的 ,因为钱就在那里,或者说至少那里拥有很有价值的信息。大型机对于那些恶意的电脑 来说就是令人垂涎的攻击目标, 典型的做法是在网络协议的掩护下去读取数据。当大型机看到诸如FTP或者HTTP这样的协议时基本都会予以批准,如果这是个SQL注入攻击(SQL injection attack),那么大型机根本就无能无力。

大型机的安全保障

与其不断安装大型机应用软件不如借此机会适时增加基础架构的功能,毕竟开发应用软件也并非易事。因此用户应该将安全功能外置诸如数据库,应用软件或者网络服务器之上,增加另外的安全层也是非常有效的方法。

这个单独的层将弥补安全鉴定的空白。举例来说,如果有 窃取了用户密码就会绕过安全验证系统,那么用户还有另外的安全层权限来访问数据。因此,增加更高权限的安全线和深度防护措施是十分关键的,

深度防护流程

首先职权分离能有助于抵御来自内部和外部的攻击。设置网络应用软件防火墙是抵御 攻击的第一道防线,这也相当于将威利萨顿挡在门外的安全电网。

其次你需要防范数据外流的风险,单独的入侵检测和审核还远远不够。你需要防止意外情况下数据被窃取,因此你要找到合适的方法对数据进行锁定。加密技术是最好的方法。如果能够正确的运用,这也是让你免受数据外泄风险的唯一方法。

入侵检测也是基本方式。如果你的系统处于危险之中,你就必须设置防护层来阻止攻击者入侵系统窃取数据。Protegrity公司拥有一项技术专利就是根据在系统上用户常规活动的历史记录为基础来限定其访问的数据流量。

举例来说,如果某人通常在一周内每天下载的数据量是500条记录,周末没有访问量。那么我们的系统就会鉴别某人的数据下载量不超过10,000条或者周末晚上不能下载数据。

最后,对你的用户实施监控。一旦你对数据进行了锁定,你就需要关注它的运行情况。是否有未经授权的请求?是否有 的攻击企图?你必须关注这些问题,如果用户出现滥用数据的情况能及时的加以制止。

由此可见大型机安全方和的三大要素:网络应用软件防火墙,加密技术和监控措施。

大型机安全防护的支柱 各个方面的安全检查

是时候对之前所忽略的安全系统进行全面的检查。举例来说,检查你的数据库,看看是否有人试图读取你数据库中的信用卡信息。如果你发现有 以有效的用户身份访问信用卡信息,我们就应该对其访问的数据量增加相应的功能设置。

如果你的用户身份存在危险,你就应该设置防护层来阻止入侵者来获取更多的信息。你也可以通过数据使用控制来对入侵进行检测或者阻止 攻击的速度。目前我们在基于行为的入侵检测技术已经获取了专利许可。我们之所以开发这项技术是因为我认为它在数据驱动防护层方面颇有成效。

对于基于行为的访问加以限制在物理世界是非常自然的事。就像按方抓药或者去自动提款机限额取钱一样的道理。这些都是非常成功的安全系统能从逻辑上限定人们的行为。我认为这种方法也同样适用于IT领域的安全防护。

篇5:Apache防止攻击WEB安全

为了防止恶意用户对Apache进行攻击,我们需要安装mod_security这个安全模块

mod_security 1.9.x模块的下载与安装

下载地址:www.modsecurity.org/download/

建议使用1.9.x,因为2.x的配置指令与1.x完全不同,解压后进入解压目录,执行:

/home/apache/bin/apxs -cia mod_security.c

编译完成后,/home/apache/modules下会生成一个mod_security.so文件

然后kate /home/apache/conf/httpd.conf

加入以下选项(如果没有的话)

#启用mod_security这个安全模块

LoadModule security_module modules/mod_security.so (这一句通常会被自动加入)

# 打开过滤引擎开关,如果是Off,那么下面这些都不起作用了。

SecFilterEngine On

# 把设置传递给字目录

SecFilterInheritance Off

# 检查url编码

SecFilterCheckURLEncoding On

# 检测内容长度以避免堆溢出攻击

#SecFilterForceByteRange 32 126

# 日志的文件和位置。一定要先建立好目录,否则apache重新启动的时候会报错。

SecAuditLog logs/audit_log

# debug的设置

#SecFilterDebugLog logs/modsec_debug_log

#SecFilterDebugLevel 1

#当匹配chmod,wget等命令的时候,重新定向到一个特殊的页面,让攻击者知难而退

SecFilter chmod redirect:www.sina.com

SecFilter wget redirect:www.sina.com

#检测POST数据,注意,请甚用这个开关,可能会导致一些post页面无法访问。详细的信息,请察看www.modsecurity.org的文档,其中有详细的post编码要求。

#SecFilterScanPOST Off

# 缺省的动作

SecFilterDefaultAction “deny,log,status:406″

# 重新定向用户

#SecFilter xxx redirect:www.sina.com

# 防止操作系统关键词攻击

SecFilter /etc/*passwd

SecFilter /bin/*sh

# 防止double dot攻击

SecFilter “../”

# 防止跨站脚本(CSS)攻击

SecFilter “<( |n)*script”

# Prevent XSS atacks (HTML/Javascript. injection)

SecFilter “<(.|n)+>”

# 防止sql注入式攻击

SecFilter “delete[[:space:]]+from”

SecFilter “insert[[:space:]]+into”

SecFilter “select.+from”

#重定向exe和asp请求

SecFilterSelective REQUEST_URI “.exe” “redirect:www.google.com”

SecFilterSelective REQUEST_URI “.asp” “redirect:www.google.com”

#下面是限制了upload.php文件只能用来上传jpeg.bmp和gif的图片

#

#SecFilterInheritance On

#SecFilterSelective POST_PAYLOAD “!image/(jpeg|bmp|gif)”

#

#伪装服务器标识

SecServerSignature “Microsoft-IIS/6.0″

保存后重启apache即可!

为了防止Web服务器被DDoS攻击,我们需要安装mod_evasive这个防DDoS的模块

mod_evasive 1.10.x防DDoS模块的下载与安装

下载地址:www.zdziarski.com/projects/mod_evasive/

解压后进入解压目录,执行

/home/apache/bin/apxs -cia mod_evasive20.c

编译完成后,/home/apache/modules下会生成一个mod_evasive20.so文件

然后kate /home/apache/conf/httpd.conf

加入以下选项(如果没有的话)

#启用mod_evasive for Apache 2.x防DDoS模块

LoadModule evasive20_module modules/mod_evasive20.so (这一句通常会被自动加入)

#记录和存放黑名单的哈西表大小,如果服务器访问量很大,可以加大该值

DOSHashTableSize 3097

#同一个页面在同一时间内可以被统一个用户访问的次数,超过该数字就会被列为攻击,同一时间的数值可以在DosPageInterval参数中设置,

DOSPageCount 3

#同一个用户在同一个网站内可以同时打开的访问数,同一个时间的数值在DOSSiteInterval中设置。

DOSSiteCount 40

#设置DOSPageCount中时间长度标准,默认值为1。

DOSPageInterval 2

#DOSSiteInterval 2 设置DOSSiteCount中时间长度标准,默认值为1。

DOSSiteInterval 2

#被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回。

DOSBlockingPeriod 10

#设置受到攻击时接收攻击信息提示的邮箱地址。

#DOSEmailNotify

#受到攻击时Apache运行用户执行的系统命令

#DOSSystemCommand “su - someuser -c ‘/sbin/… %s …’”

#攻击日志存放目录,BSD上默认是 /tmp

#DOSLogDir “/var/lock/mod_evasive”

SecFilterEngine On

SecFilterCheckURLEncoding On

SecFilterDefaultAction “deny,log,status:500”

#SecFilterForceByteRange 32 126

#SecFilterScanPOST On

SecAuditLog logs/audit_log

###

SecFilter “../”

#####

SecFilter /etc/*passwd

SecFilter /bin/*sh

#for css attack

SecFilter “<( | )*script”

SecFilter “<(.| )+>”

#for sql attack

SecFilter “delete[ ]+from”

SecFilter “insert[ ]+into”

SecFilter “select.+from”

SecFilter “union[ ]+from”

SecFilter “drop[ ]”

Apache防止攻击WEB安全

大型机如何抵御 入侵WEB安全

保驾护航 对登陆密码的设置进行限制WEB安全

入侵我不怕 Outpost防火墙应用技巧攻略WEB安全

关于mcafee的进程了解WEB安全

例程讲解Web数据库安全防护

防止对WEB应用服务器的三种攻击服务器教程

web实训报告范文

web前端架构师的职责

Access数据库安全策略之ASP式WEB安全

《从源头防止入侵者通过web进行入侵WEB安全.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
从源头防止入侵者通过web进行入侵WEB安全
点击下载文档

最新文章

相关内容

分类

关闭