Flash安全的一些总结WEB安全
“不吃糖”通过精心收集,向本站投稿了14篇Flash安全的一些总结WEB安全,下面是小编为大家整理后的Flash安全的一些总结WEB安全,如果喜欢可以分享给身边的朋友喔!
篇1:Flash安全的一些总结WEB安全
整理了下Flash安全相关的知识,后面会再完善
一、先来说crossdomain.xml这个文件
flash如何跨域通信,全靠crossdomain.xml这个文件,这个文件配置在服务端,一般为根目录下,限制了flash是否可以跨域获取数据以及允许从什么地方跨域获取数据。
比如下面的列子:
1、www.a.com域下不存在crossdomain.xml文件,则不允许除了www.a.com域之外的其他任何域下的flash进行跨域请求。
2、www.a.com域下存在crossdomain.xml文件,如若配置 allow-access-from 为www.b.com,则只允许www.b.com域下的flash进行跨域请求,以及来自自身域www.a.com的网络请求。
crossdomain.xml需严格遵守XML语法,有且仅有一个根节点cross-domain-policy,且不包含任何属性。在此根节点下只能包含如下的子节点:
site-control
allow-access-from
allow-access-from-identity
allow-http-request-headers-from
site-control
早期的flash允许从其他位置载入自定义的策略文件,目前最新版的flash在接受自定义的策略文件之前会去检查主目录的crossdomain.xml来判断是否接受自定义策略文件。该选项就由site-control进行控制。
不加该选项时,默认情况下flash不加载除主策略文件之外的其他策略文件,即只接受根目录下的crossdomain.xml,这样可以防止利用上传自定 义策略文件进行的攻击。如果需要启用其他策略文件,则需要配置permitted-cross-domain-policies属性,该属性有以下五个 值: none: 不允许使用loadPolicyFile方法加载任何策略文件,包括此主策略文件。
master-only: 只允许使用主策略文件[默认值]。
by-content-type:只允许使用loadPolicyFile方法加载HTTP/HTTPS协议下Content-Type为text/x-cross-domain-policy的文件作为跨域策略文件。
by-ftp-filename:只允许使用loadPolicyFile方法加载FTP协议下文件名为crossdomain.xml的文件作为跨域策略文件。
all: 可使用loadPolicyFile方法加载目标域上的任何文件作为跨域策略文件,甚至是一个JPG也可被加载为策略文件!
例子:
允许通过HTTP/HTTPS协议加载http头中Content-Type为text/x-cross-domain-policy的文件作为策略文件
允许加载任意文件作为策略文件
allow-access-from
该选项用来限制哪些域有权限进行跨域请求数据。
allow-access-from有三个属性
domain:有效的值为IP、域名,子域名代表不同的域,通配符*单独使用代表所有域。通配符作为前缀和域名进行组合代表多个域,比如*.weibo.com,代表weibo.com所有的子域。
to-ports:该属性值表明允许访问读取本域内容的socket连接端口范围。可使用to-ports=“1100,1120-1125”这样的形式来限定端口范围,也可使用通配符(*)表示允许所有端口。
secure:该属性值指明信息是否经加密传输。当crossdomain.xml文件使用https加载时,secure默认设为true。此时将不允许flash传输非https加密内容。若手工设置为false则允许flash传输非https加密内容。
例子
a.com/crossdomain.xml文件内容如下
允许所有qq.com的子域通过https对t.qq.com域进行跨域请求。
allow-access-from-identity
该节点配置跨域访问策略为允许有特定证书的来源跨域访问本域上的资源。每个allow-access-from-identity节点最多只能包含一个signatory子节点。
allow-http-request-headers-from
此节点授权第三方域flash向本域发送用户定义的http头。
allow-http-request-headers-from包含三个属性:
domain:作用及参数格式与allow-access-from节点中的domain类似。
headers:以逗号隔开的列表,表明允许发送的http头。可用通配符(*)表示全部http头。
secure:作用及用法与allow-access-from节点中的secure相同。
注:Flash 在自定义HTTP头中无法使用下列请求标题,并且受限制的词不区分大小写(例如,不允许使用 Get、get 和 GET)。 另外,如果使用下划线字符,这也适用于带连字符的词(例如,不允许使用 Content-Length 和 Content_Length):
Accept-Charset、Accept-Encoding、Accept-Ranges、Age、Allow、Allowed、Authorization、Charge-To、Connect、Connection、Content-Length、Content-Location、Content-Range、Cookie、Date、Delete、ETag、Expect、Get、Head、Host、Keep-Alive、Last-Modified、Location、Max-Forwards、Options、Post、Proxy-Authenticate、Proxy-Authorization、Proxy-Connection、Public、Put、Range、Referer、Request-Range、Retry-After、Server、TE、Trace、Trailer、Transfer-Encoding、Upgrade、URI、User-Agent、Vary、Via、Warning、WWW-Authenticate 和 x-flash-version,
二、web应用中安全使用flash
设置严格的crossdomain.xml文件可以提高服务端的安全性,在web应用中也会经常使用flash,一般是通过
flash是直接可以执行js代码的,所以在web应用中如果使用不当也会很危险,所以flash使用下面两个属性来保证引用flash时的安全性。
allowScriptAccess 和 allowNetworking
allowScriptAccess用来控制flash与html的通讯,可选的值为:
always //对与html的通讯也就是执行javascript不做任何限制
sameDomain //只允许来自于本域的flash与html通讯,这是默认值
never //绝对禁止flash与页面的通讯
allowNetworking用来控制flash与外部的网络通讯,可选的值为:
all //允许使用所有的网络通讯,也是默认值
internal //flash不能与浏览器通讯如navigateToURL,但是可以调用其他的API
none //禁止任何的网络通讯
在allowNetworking设置为internal时,下面API将会被禁止使用:
fscommand
navigateToURL()
ExternalInterface.call()
在allowNetworking设置为none时,下面API将会被禁止使用:
sendToURL()
FileReference.download()
FileReference.upload()
Loader.load()
LocalConnection.connect()
LocalConnection.send()
NetConnection.connect()
URLStream.load()
NetStream.play()
Security.loadPolicyFile()
SharedObject.getLocal()
SharedObject.getRemote()
Socket.connect()
Sound.load()
URLLoader.load()
XMLSocket.connect()
在web应用中使用flash的时候一般通过设置这两项即可保证安全性,如果在web应用中使用的flash为用户可控,强烈建议这两项的设置值为
allowScriptAccess=never allowNetworking=none
三、flash安全编程
如果web应用中调用flash时设置的allowScriptAccess为never、allowNetworking为none,即使flash文件 本身存在漏洞也可以忽略。不过事实上大部分web应用不会设置这两项属性,甚至会设置的不安全,比如allowScriptAccess为always、allowNetworking为all。所以在进行flash开发的时候就要考虑好安全性。
flash编程不安全可导致两方面的漏洞:
1、通过ExternalInterface.call()执行javascript代码
2、通过loadMovie()等方式可以载入外部flash文件执行
这两类问题都是需要通过参数接收外面传入的数据,在flash内部没有对数据进行严格的控制造成的。
例子:
this.movieName = root.loaderInfo.parameters.movieName;
this.flashReady_Callback = “SWFUpload.instances[\”“ + this.movieName + ”\“].flashReady”;
ExternalCall.Simple(this.flashReady_Callback);
public static function Simple(arg0:String){
ExternalInterface.call(arg0);
return;
}
接收到外部传入的movieName没有进行处理,最后通过ExternalInterface.call()进行执行,这样就能够执行任意的javascript代码,如果在调用flash的时候设置的不够安全就是XSS漏洞。
所以在flash编程中如果需要通过参数接收外部传入的数据,一定要对数据进行严格的检查,这样才能保证flash安全性。
参考文档:
Flash应用安全规范 www.80sec.com/flash-security-polic.html
flash跨域策略文件crossdomain.xml配置详解hi.baidu.com/cncxz/blog/item/7be889fa8f47a20c6c22eb3a.html
Cross-domain Policy File Specificationwww.senocular.com/pub/adobe/crossdomain/policyfiles.html
?
篇2:升级flash插件,防范Flash动画恶意链接WEB安全
说起Flash,相信没有人不知道,各种基于Flash格式的MTV、游戏、动画在网络上进行传播。也正因为Flash的流行,被一些别有用心的伪 们所利用,它们在Flash里插入一些链接,用户在播放过程中会自动打开链接访问相应的网站,这些链接除部分指向制作者网站之外,更多的被指向了广告骚扰、、病毒等恶意站点,给用户带来烦恼。那么该如何解决这种情况呢?别急,借助最新的Marcromedia Flash Player播放器即可进行有效防范。
首先到www.adobe.com/go/getflash 网站,单击“Download now”按钮,在随后出现的页面中单击“Install Now”进行在线安装最新的Flash播放器,
安装好之后,现在我们再打开包含有链接的Flash文件,当播放到链接处播放器就会自动拦 问网络的行为,并且会弹出安全性窗口,告知用户被拦截的地址。此时用户可以单击“确定”按钮确认拦截,也可以单击“设置”按钮对播放器的拦截功能进行相应的配置。在单击“设置”后打开的窗口左侧选择“全局安全性设置面板”,此时建议大家选中“始终拒绝”选项,这样播放器则会默认拦截所有访问网络的请求,并不会弹出窗口询问用户,从而省去了用户确认的麻烦。
怎么样,借助Flash播放器本身的安全设置,是不是已经成功地将隐藏在Flash背后的黑手斩断了呢!
篇3:好玩但又很安全!看Flash安全巧设置WEB安全
喜爱Flash的朋友想必不在少数,但这些东东有时也会强制访问某些站点,带来一些安全问题,要想让Flash更安全?下面笔者就介绍一下Flash Player的安全设置,
更新版本
首先,你需要将系统中的Flash Player更新至最新版本。访问www.macromedia.com/software/flashplayer/,单击页面中的“Download now”按钮,将系统中的Flash Player更新至最新版本,不过升级Flash Player时会自动安装YAHOO! TOOLBAR,你可以根据自己的需要决定是否安装。当看到“Macromedia Flash Player successfully installed”的提示,说明更新成功。
在线设置确保安全
www.macromedia.com/support/documentation/cn/flashplayer/help/settings_manager04.html页面是Macromedia Flash Player的全局安全性设置面板(如图1),默认设置是“始终询问”,也就是说当Flash游戏试图访问网络时,Macromedia Flash Player的安全机制都会自动将其拦截下来并弹出一个警告窗口,你可以决定是否允许它访问到网络,
图1
权限设置
事实上,Flash Player的安全机制当然没有错,但每次都弹出这个警告窗口,也实在是有些烦人。其实对于那些需要连接到网络才能玩的Flash游戏,我们可以访问Flash Player的全局安全性设置面板,点击弹出菜单,然后选择“添加位置”,此时会打开“信任此位置”框,只要将其相应路径添加至这个框中即可(见图2),既可以添加单个文件,也可以添加整个目录,此时该目录中的所有文件和子目录都是受信任的。
图2
添加完成后,我们将可以在“始终信任以下位置的文件”列表框中查看到受信任的位置,刷新浏览器或重新启动播放器后,播放该位置的Flash就不会收到限制了。
篇4:PHP开发web应用安全总结
XSS跨站脚本
概念:恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的,
危害:
盗取用户COOKIE信息。
跳转到钓鱼网站。
操作受害者的浏览器,查看受害者网页浏览信息等。
蠕虫攻击。
描述:反射型跨站。GET或POST内容未过滤,可以提交JS以及HTML等恶意代码。
代码:
//正常URL
user.php?msg=henhao
//带JS的URL
user.php?msg=
//恶意跳转URL
user.php?msg=
解决方法:
输出过滤,php端输出到view的模板页面上的数据都需要经过过滤:
//输出过滤HTML JS标签
$var = str_replace(array('
$var = addslashes($var);
CSRF跨站攻击
概念:CSRF跨站请求伪造,也被称成为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。
危害:强迫受害者的浏览器向一个易受攻击的Web应用程序发送请求,最后达到攻击者所需要的操作行为。
例子:
1. 上面是一个图片的html标签,但是src中是一个添加id为123好友的新增好友链接。
2. 恶意用户可以将这段代码植入其它网站网页上面,甚至可以img设置为0,0,让用户不知不觉中点击这个链接,达到用户并不像加这个人好友,但是添加的目的。
3. 当很多人都无意加了id为123这个人为好友的时候,id为123的恶意用户就有权限来查看这些人的信息,甚至可以发送很多恶意的信息,达到恶意用户的目的。
解决方法:
1. /addfriend.php?id=123 使用POST方法会相对安全一点。
2. 采用类似随即码或者令牌的形式,让用户操作唯一性。 (每次用户登录网站随机生成一个token,存放在cookie中,用户的所有操作中都需要经过token验证)
flash安全问题
例子:
images.sohu.com/bill/s/liulin/nokia/1602600902.swf?clickthru=javascript.:alert(1)
解决方法:
在网站根目录中,添加crossdomain.xml文件,这个文件主要是控制flash的域访问。
淘宝的:www.taobao.com/crossdomain.xml
sql注入安全问题
概念:所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
危害:
1. 查询数据库中敏感信息。
2. 绕过认证。
3. 添加、删除、修改服务器数据。
4. 拒绝服务。?id=(BENCHMARK(100000000, MD5(RAND));
例子:
$sql = “SELECT name FROM users WHERE id = '”. $_GET['id'] . “'”;
当ID值为:1’or 1=’1 SQL语句(已测试可以注入):
SELECT name FROM users WHERE id = ‘1’ or 1=’1 ‘
说明:1=1的时候,条件语句WHEREOR之前的不起作用。 ‘的作用是组装SQL语句。
解决方法:
SQL组装的时候,对外部变量以及所有变量都进行过滤:
PHPWIND中,可以用sqlEscape、sqlImplode、sqlSingle、sqlMulti等函数过滤组装。过滤主要是一些’单引号这些可以破坏SQL组装的数据。
/**
* SQL组装-私有SQL过滤
* @param string $val 过滤的值
* @param int $iskey 0-过滤value值,1-过滤字段
* @return string
*/
private function build_escape_single($val, $iskey = 0) {
if ($iskey === 0) {
if (is_numeric($val)) {
return “ '” . $val . “' ”;
} else {
return “ '” . addslashes(stripslashes($val)) . “' ”;
}
} else {
$val = str_replace(array('`', ' '), '', $val);
return ' `'.addslashes(stripslashes($val)).'` ';
}
}
XML注入安全问题
概念:和SQL注入原理一样,XML是存储数据的地方,如果在查询或修改时,如果没有做转义,直接输入或输出数据,都将导致XML注入漏洞,
攻击者可以修改XML数据格式,增加新的XML节点,对数据处理流程产生影响。
危害:
1. 攻击者可以新增XML节点
2. 破坏原来的XML结构,影响业务流程,甚至产生严重的错误。
例子:
$xml = “
需要得到的XML结构:
恶意代码:
user1@a.com
意外的XML文档:
解决方法:
1. 对php处理XML文档的时候,进行标签过滤
2. 尽量减少直接被外部访问到xml文档,可以采用文件名用散列方法等。
url跳转漏洞
概念:Web应用程序接收到用户提交的URL参数后,没有对参数做”可信任URL”的验证,就向用户浏览器返回跳转到该URL的指令。
危害:钓鱼网站
例子:
m.yahoo.cn/log.php?c=web&u=www.163.com
解决方法:
对跳转的php函数进行进一步优化,使页面跳转可以在可信任的范围内。 例如可以有跳转域名白名单方法,这个访问各大公司使用比较多
文件系统跨越漏洞
概念:对文件目录参数没有进行过滤,导致恶意用户可以通过在参数中输入一些执行命令,或者跨越访问的行为,来超出用户的访问权限。
例子:通过一个或多个../跨越目录限制
$fp = fopen(“image/{$_GET['filename']}”, 'r');
Getfile?filename=../../../../etc/passwd
解决方法:
1. 对文本操作的时候一定要谨慎,不可信任
2. 严格使用phpwind中安全类库escapePath函数
系统命令漏洞
概念:用户提交的参数用于执行系统命令的参数。
解决:
1. 谨慎使用系统命令,对使用系统命令的地方需要进行安全评审
2. 对命令语句进行严格过滤
文件上传漏洞
概念:Web应用程序在处理用户上传的文件时,没有判断文件的扩展名是否在允许的范围内,或者没检测文件内容的合法性,就把文件保存在服务器上,甚至上传脚本木马到web服务器上,直接控制web服务器。
情况:
1. 未限制扩展名
2. 未检查文件内容
3. 病毒文件
解决方法:
1. 使用安全的,可信任的上传组件。
2. 检查文件扩展名,保证文件的类型正确。
3. 检查文件内容,保证用户不伪造文件类型。
任意文件下载漏洞
解决方法:
1.Apache虚拟目录指向
2.Java/PHP读取文件
权限控制漏洞
概念:属于业务逻辑上的安全管理。
访问控制:
1. 水平访问:Web应用程序接收到用户请求,修改某条数据时,没有判断数据的所属人,或判断数据所属人时,从用户提交的request参数(用户可控数据)中,获取了数据所属人id,导致恶意攻击者可以通过变换数据ID,或变换所属人id,修改不属于自己的数据。
2. 垂直访问:由于web应用程序没有做权限控制,或仅仅在菜单上做了权限控制,导致的恶意用户只要猜测其他管理页面的URL,就可以访问或控制其他角色拥有的数据或页面,达到权限提升目的。
存在情况:
1.URL级别的。(例如论坛需要操作评分的时候,有一个提交的URL地址,该地址提交过去,如果不做权限判断,那么恶意用户就可以随意的拿这个URL地址来进行恶意行为)
2. 菜单级别。(会员中心或者后台管理中心,会有菜单,管理员可以看到多个功能,普通管理员只能看到一部分功能。但是如果你对管理员操作的功能区不做权限判断,那么普通管理员只要猜测或者获取管理区的URL,就可以进行管理员操作了)
危害:
1. 属于业务逻辑的漏洞,这些危害性是巨大的,可以让普通用户就可能获取管理员的权限,对网站进行恶意破坏或者做非法行为。
解决方案:
1. 项目先期,做一份详细的权限规划文档。
2. 在开发中严格按照权限文档的要求去做权限。
3. 后期测试需要覆盖权限这一块功能区。
4. 程序员需要经常注意这些方面的要求。
cookie安全设置
解决:
cookie httponly flag : 在用到用户名登陆密码之类的安全性比较高的cookie的时候,可以在cookie中设置httponly属性,该属性只允许php等访问cookie,而不允许js访问。
cookie secure flag : 在涉及到https这样的情况,需要对cookie加密传输,那么可以设置这个属性
session安全
1. SESSION是保存在服务器端的,具有比COOKIE一定的安全性。
2. 使用COOKIE的时候,如果长时间没有动作,可以设置一个时间值,来对COOKIE进行过期。
3. 尽量让用户每次的cookie值都是不同的,这样可以保证cookie被盗取也不能长期使用的问题
作者 initphp的LAMP开源世界
篇5:如何保障Web服务器安全
如何保障Web服务器安全
维护Web服务器安全是信息安全中最不讨好的差事之一,你需要在相冲突的角色中找到平衡,允许对网络资源的合法访问,同时阻止恶意破坏。
你甚至会考虑双重认证,例如RSA SecurID,来确保认证系统的高信任度,但是这对所有网站用户来说也许不实用,或者不划算。尽管存在这样相冲突的目标,仍有六个有助Web服务器安全的步骤。
对内部和外部应用分别使用单独的服务器
假设组织有两类独立的网络应用,面向外部用户的服务和面向内部用户的服务,要谨慎地将这些应用部署在不同的服务器上。这样做可以减少恶意用户突破外部服务器来获得对敏感的内部信息地访问。如果你没有可用的部署工具,你至少应该考虑使用技术控制(例如处理隔离),使内部和外部应用不会互相牵涉。
使用单独的开发服务器测试和调试应用软件
在单独的Web服务器上测试应用软件听起来像是常识——的确是。不幸的是,许多组织没有遵循这个基本规则,相反允许开发者在生产服务器上调试代码甚至开发新软件。这对安全和可靠性来说都很可怕。在生产服务器上测试代码会使用户遇到故障,当开发者提交未经测试易受攻击的代码时,引入安全漏洞。大多数现代版本控制系统(例如微软的Visual SourceSafe)有助于编码/测试/调试过程自动化。
审查网站活动,安全存储日志
每一个安全专业人员都知道维护服务器活动日志的重要性。由于大多数Web服务器是公开的,对所有互联网服务进行审核是很重要的。审核有助你检测和打击攻击,并且使你可以检修服务器性能故障,
在高级安全环境中,确保你的日志存储在物理安全的地点——最安全的(但是最不方便的`)技巧是日志一产生就打印出来,建立不能被入侵者修改的纸记录,前提是入侵者没有物理访问权限。你也许想要使用电子备份,例如登录进安全主机,用数字签名进行加密,来阻止日志被窃取和修改。
培训开发者进行可靠的安全编码
软件开发者致力于创建满足商业需求的应用软件,却常常忽略了信息安全也是重要的商业需求。作为安全专业人员,你有责任对开发者进行影响到Web服务器的安全问题的培训。你应该让开发者了解网络中的安全机制,确保他们开发的软件不会违背这些机制;还要进行概念的培训,例如内存泄漏攻击和处理隔离——这些对编码和生成安全的应用软件大有帮助。
给操作系统和Web服务器打补丁
这是另一个常识,但是当管理员因为其他任务而不堪重荷时常常忽略这一点。安全公告,像是CERT或者微软发布的公告,提醒人们软件厂商多频繁地发布某些安全漏洞的修补程序。一些工具像是微软的软件升级服务(SUS)和RedHat的升级服务有助于使这项任务自动化。总之,一旦漏洞公布,如果你不修补它,迟早会被人发现并利用。
使用应用软件扫描
如果负担地起,你也许会考虑使用应用软件扫描器来验证内部编码。像是 Watchfire公司的AppScan这样的工具有助于确保编码在生产环境里不会存在漏洞。记住,要有安全意识。设计良好的 Web服务器结构应该基于健全的安全政策。贯彻执行这六个方法会帮助你建立坚固的基础。
篇6:Web安全测试知多少
1. 数据验证流程:一个好的web系统应该在IE端,server端,DB端都应该进行验证,但有不少程序偷工减料,script验证完了,就不管了;app server对数据长度和类型的验证与db server的不一样,这些都会引发问题。有兴趣的可参看一下script代码,设计一些case,这可是你作为一个高级测试人员的优秀之处哦。我曾修改了页面端的script代码,然后提交了一个form,引发了一个系统的重大漏洞后门。
2. 数据验证类型: 如果web server端提交sql语句时,不对提交的sql语句验证,那么一个 就可暗喜了。他可将提交的sql语句分割,后面加一个delete all或drop database的之类语句,能将你的数据库内容删个精光!我这一招还没实验在internet网站上,不知这样的网站有没有,有多少个。反正我负责的那个web系统曾经发现这样的问题。
3. 网络加密,数据库加密不用说了吧。
WEB软件最常碰到的BUG为:
1、SQL INJETION
2、对文件操作相关的模块的漏洞
3、COOKIES的欺骗
4、本地提交的漏洞
SQL INJETION的测试方法
原理:
如有一新闻管理系统用文件news.asp再用参数读取数据库里的新闻譬如
www.xxx.com/news.asp?id=1这一类网站程序
如果直接用
rs.open “select * from news where id=” &
cstr(request(“id”)),conn,1,1
数据库进行查询的话即上面的URL所读取的文章是这样读取的
select * from news where id=1
懂得SQL语言的就知道这条语言的意思是在news读取id为1的文章内容。
但是在SQL SERVER里select是支持子查询和多句执行的。如果这样提交URL的话
www.xxx.com/news.asp?id=1and 1=(select count(*) from admin
where left(name,1)=a)
SQL语句就变成了
select * news where id=1 and 1=(select count(*)
from admin where left(name,1)=a)
意思是admin表里如果存在字段字为name里左边第一个字符是a的就查询news表里id为1的内容,news表里id为1是有内容的,从逻辑上的角度来说就是1&P。只要P为真,表达式就为真,页面会返回一个正确的页面。如果为假页面就会报错或者会提示该id的文章不存在。 利用这点就可以慢慢得试用后台管理员的用户和密码,
测试:
测试存不存在SQL INJETION很简单如果参数为整数型的就在URL上分别提交www.xxx.com/news.asp?id=1and 1=1 和www.xxx.com/news.asp?id=1and 1=2
如果第一次返回正确内容,第二次返回不同页面或者不同容内的话表明news.asp文件存在SQL INJETION。如何利用就不多说了,毕竟我们都不是为了入侵。
对文件操作相关的模块的漏洞在测试
原理:
如一上传文件功能的程序upload.asp如果程序员只注重其功能上的需求没有考虑到用户不按常规操作的问题。如上传一个网页木马程序上去,整个网站甚至整个服务器的架构和源码都暴露而且还有一定的权限。
测试:
试上传asp,php,jsp,cgi等网页的文件看是否成功。
补充:
还有像 www.xxx.com/download/filespath.asp?path=../abc.zip
下载功能的软件如果
www.xxx.com/download/filespath.asp?path=../conn.asp
很可能下载到这些asp的源码数据库位置及用户密码都可能暴露。
其它还有很多,就不一一举例了。
COOKIES的欺骗
原理:
COOKIES是WEB程序的重要部分,COOKIES有利有弊。利在于不太占用服务器的资源,弊在于放在客户端非常容易被人修改加以利用。所以一般论坛前台登陆用COOKIES后台是用SESSION,因为前台登陆比较频繁,用SESSION效率很低。但如论坛程序管理员用户在前台也有一定的权限,如果对COOKIES验证不严的话,严重影响了WEB程序的正常工作。如前期的LEADBBS,只有后台对COOKIES验证严格,前台的位置只是从COOKIES读取用户的ID,对用户是否合法根本没有验证。
测试:
推荐使用MYBROWER浏览器,可即时显示及修改COOKIES。尝试一下修改里面的对应位置。
本地提交表单的漏洞
原理:
Action只接爱表单的提交,所以表单是客户WEB程序的接口。先举一个例子,一个投票系统,分A,B,C,D各项的VALUE是100,80,60,40。
但是如果先把些页面以HTML形式保存在本地硬盘里。然后修改其VALUE,再向其ACTION提交,ACTION会不会接受呢?
测试:
如一投票系统,把投票的页面保存在本地硬盘,用记事本打开,找到对应项的VALUE值,对其修改,然后提交。
强制后台浏览:绕过登陆页面,直接提交系统文件夹或文件页面。不完善的系统如果缺少index.html就可能被绕过登陆验证页面。在系统文件夹中保留一些公司机密内容也会造成不可估计的损失。
跨站脚本攻击:基本上这个我只是在论坛――各种形式的论坛里看到过,具体的一个例子,比如这段代码可以被填在任何输入框里 “”,如果未对一些字符,如 “<”、“>”进行转换,就会自动执行这个脚本。百度快照所提供的网页都自动将代码执行了。不信大家搜一点JS的代码,看看你能不能看到。
堆栈溢出攻击:完全的不了解,只是在某个网站上看到,可以对现在的、XP、进行攻击,非常恐怖,MS应该打了补丁了吧?
篇7:Web.config 安全相关配置WEB安全
web.config 位于根目录
1、authentication节点
基于窗体(Forms)的身份验证配置站点,当没有登陆的用户访问需要身份验证的网页,网页自动跳转到登陆网页。其中元素loginUrl表示登陆网页的名称,name表示Cookie名称
2、authorization 节点
allow 向授权规则映射添加一个规则,该规则允许对资源进行访问。
deny 向授权规则映射添加一条拒绝对资源的访问的授权规则。
users=“*” 是指任何用户 users=“?” 是指经身份验证的用户
注意: 运行时,授权模块从最本地的配置文件开始,循环访问 allow 和 deny 元素,直到它找到适合特定用户帐户的第一个访问规则。然后,该授权模块根据找到的第一个访问规则是 allow 还是 deny 规则来允许或拒绝对 URL 资源的访问。默认的授权规则为 。因此,默认情况下允许访问,除非另外配置。
如果在根目录下的web.config配置太繁琐,可以配置到相应目录下,例如User目录下的web.config文件
3、customErrors 节点
mode=“On|Off|RemoteOnly”>
defaultRedirect 可选的属性。指定出错时将浏览器定向到的默认 URL。如果未指定该属性,则显示一般性错误。
Mode 必选的属性。指定是启用或禁用自定义错误,还是仅向远程客户端显示自定义错误。
此属性可以为下列值之一。
值 说明
On 指定启用自定义错误。如果未指定 defaultRedirect,用户将看到一般性错误。
Off 指定禁用自定义错误。这允许显示标准的详细错误。
RemoteOnly 指定仅向远程客户端显示自定义错误并且向本地主机显示 ASP.NET 错误。这是默认值。
默认值为 RemoteOnly。
error 可选的元素。指定给定 HTTP 状态代码的自定义错误页。错误标记可以出现多次。子标记的每一次出现均定义一个自定义错误条件。
例如:
这里可以让用户自定义出错页。
4、pages 节点
validateRequest=“true”
该值确定 ASP.NET 是否针对危险值检查来自浏览器的输入。如果 ASP.NET 针对危险值检查来自浏览器的输入,则为 true;否则为 false。默认值为 true。
这个功能是为了防止跨站脚本等危险代码。使全局默认为true。只有小数页面,如搜索页面
Search.aspx 设为 : ValidateRequest=“false” 。为了可以搜索类似 等内容,如果只是文字性的输入,可修改页 search.aspx 的设置,以增强系统安全性。
Security.config 配置说明
文件位于config目录
1、后台页面访问配置
noCheckAdminLogOn
后台不检查权限的页面
2、检查外站链接的后台页面配置
noCheckUrlReferrer
后台不检查来源页的列表,即管理员用户可以直接访问的文件列表,
后台设置是默认不允许直接访问,这样可以保护后页页面不被非法方式访问和外站链接访问,有效防止跨站请求伪造。
如果文件不在列表中,直接在URL 里访问,将出现错误提示:
产生错误的可能原因:
对不起,为了系统安全,不允许直接输入地址访问本系统的后台管理页面。
如需要,用户可以加上自定义的内容。
3、防止跨站请求伪造追加安全码的页面配置
checkSecurityCode
页面提交时检查安全码。
防止不正常操作(恶意操作)造成系统重大损失。也是对一些重要操作的保护,防止跨站请求伪造。
如:
4、页面操作权限码的配置
checkPermissions
页面操作权限码的配置,检查后台管理员是否有相关操作码的权限。
operateCode 为操作码 根据操作码判断是否存在此操作的权限。
checkType 权限判断类型, or and
or 操作码中的权限进行或运算,即有其中任何一种权限,就返回true
这个默认值是or 而且对于单一权限码的,可以不用配置
and 操作码中的权限进行与运算,即要求有全部权限才返回true 否则返回false.
AjaxLabel.config 配置说明
是对AJAX.aspx 的文件访问权限控制配置文件。
由于前台AJAX标签过于强大,会致使 AJAX标签 会出现一些危险性,对此我们做了一个XML安全文件来配置那些AJAX标签可以直接引用。这个AjaxLabel.config 文件是在 网站根目录的Config 目录下。如果标签没有记录,就会出现 本标签禁止访问!
例如:
是指标签名 为 “内容评论PK标签” 的标签可以被ajas.aspx调用,而且参数param只能为 “generalid”,类型为Int,这样能有效防止恶意攻击。
如果用户需自定义标签,而且需要ajax.aspx 文件调用,那就在AjaxLabel.config 中配置
app_offlineX.htm 文件作用
如果你要COPY站点,进行站点维护,部署,和进行大量修改,有可能要停掉你的WEB应用程序了,而以一个友好的方式提示给用户,比如什么“本网站正在更新”等等的信息,你可以把文件app_offlineX.htm 改名为app_offline.htm(大小写没关系)的静态HTM页面文件,其中修改成你要临时显示的内容,将其放在你的应用的根目录下。这样,任何外部的请求的话,都会马上被转移到该页面了。
网站维护完成后记得将文件名app_offline.htm改回。
AllowString.xml 文件配置
文件位于Common目录下
文件的作用是:会员发表信息时启用防XSS(跨站攻击)设置时,让用户设置允许会员提交部份特殊js 代码。
XSS是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。
例如:
功能是: 允许保留 nmousewheel=“return bbimg(this)” 和 nload=“resizepic(this)” 代码。这是对FCK上传图片功能的一个保留。
如用户想让系统过滤不要太严格,可在这里加上相应保留代码。
篇8:web安全现状调查报告
web安全现状调查报告
根据Menlo Security最近发布的20web安全先转报告,Alexa排名前100万的网站有46%都存在安全风险,对访问网站的企业和个人用户构成安全威胁。
Menlo在去年的web安全报告中给出两个重点数据:三分之一的Alexa排名前100万网站存在安全风险,五分之一运行着有漏洞的软件。而年的报告数据——接近半数网站存在安全风险,表明全球互联网的'web安全风险正在快速累积。
Menlo今年的web安全报告重点调查了Alexa排名前100万网站的2500万个后台请求,也就是当用户访问那些最流行的网站时,浏览器后台“悄悄”访问的一大堆web地址或服务,例如内容分发、广告网络、用户跟踪等等。Menlo Security首席技术官Kowsik Guruswamy表示:
表面上你只访问了一个网站,实际上你访问了25个网站!
Menlo将那些后台访问第三方服务存在的漏洞的网站也标记为风险网站,因为这些漏洞对主站的访问用户来说同样构成风险。研究者在评估一个网站风险的时候将第三方服务和软件的发布日期、软件版本、CVE ID和第三方风险评估也都考虑在内。
根据Menlo的报告,目前web安全风险快速增长的原因有三个:
网站比过去更加容易被攻击
传统安全产品无法提供足够的保护
越来越多的钓鱼攻击开始利用合法的网站掩护
web软件技术过时是web安全面临的最大风险,数以万计的web服务器都在运行过时的软件,而且后台的网络广告系统也非常容易被攻击利用来分发恶意软件。
Menlo报告的一些亮点图表如下:
风险最高的网站类型
软件漏洞最多的网站类型
篇9:浅谈web服务器的安全保护
浅谈web服务器的安全保护
摘 要:web网站是承载信息化的一个平台,保证web的安全是一项基础而重要的工作。本文就关于web安全保护的几个方面进行了相关论述。
篇10:浅谈web服务器的安全保护
随着信息技术的飞速发展,网站作为宣传、教学、交互和办公自动化等活动不可或缺的平台已经越来越得到重视了。然而访问网站的群体中有个体会有意无意间攻击网站服务器的主体。各类网站服务器面临着越来越严峻的安全威胁,怎样才能更好地“加固”我们的服务器成为了每个网站安全维护人员所面临的艰巨任务。
Web服务器的安全是web服务及应用的安全紧密有机结合的整体,通常工作分为两部分。
一、服务器的安全措施
最简单的就是,提高服务器的安全意识,养成比较好的日常计算机操作习惯。服务器作为计算机广泛应用的重要部分,对计算机简单的日常维护也是很必需的。对于个人,比如说及时检查系统漏洞打好系统补丁、升级杀毒软件更新病毒数据库、定时查杀电脑内存等基本工作,并避免移动存储设备与网站服务器直接相连。对于网站来说,对网站及重要的数据库文件进行定期备份,多个服务器之间也可以相互备份。当一个服务器出现软件或硬件故障时,另一个服务器可以用来作为临时的替代。定期分析服务器日志,及时发现服务器软件和硬件的异常以及攻击者留下的蛛丝马迹,以便及时对应。借助一些成熟的日志分析软件,可以有效的提高分析日志工作的效率。
其次是密码的更改,服务器操作系统出厂时的安装一般都是开启的默认状态,多是些名字如guest的没用账号,更不要用administrator这类windows默认管理 账户作为管理 员账户。以防万一,最好是建立两个及两个以上的管理 账户,并对他们进行严格的账户权限控制,不是非必要情况,不要将整个服务器予以授权。其次在设计密码时,也要有一定的复杂性。由于暴力破解密码的手段和速度越来越快,所以在设计密码时,最好是字符、字母、特殊符号、数字等组合的十二位以上的字符串,并定期更改密码防治破解。我们在设计密码时,为了防止因为定期更换密码而出现忘记密码的尴尬情况,可以采用“联想法”创造出一些有趣又好记的密码,比如说“5iskyde**”就可以依据“我爱天上的星星”而记住。对于程序系统文件,密码最好采用md5等算法加密后再存储于数据库。对数据库设置密码或采用其他工具加密,也可以使得攻击者在得到数据的情况下,也不能很轻易的就破解使用。
再次,尽量不用服务器浏览网页,尤其是不可信任的网站,而且尽量避免与服务器不相关的软件,尤其是一些黑客或黑客学习软件或破解软件。对于程序系统中的数据库文件名最好掺杂一些特殊符号,成为较复杂不易猜中的文件名。同时将数据库文件扩展名改成asp或asa,防止他人下载。
最后,做好服务分属和保留地址。企业内的服务通常有DNS服务、FTP服务等,对于重要的不同的服务最好是分属开来,实行单一化管理 ,避免多项服务对服务器造成影响,增加自身运行压力。服务器要保留一部分地址只供服务器使用,并将这些IP地址和服务器的MAC地址绑定,因为服务器的.地址分为永久不被侵占性和完全不受控制性,这样就可以避免服务器地址被占用而造成服务中断。
二、web的安全
1、优化ⅡS设置
更改ⅡS日志路径避免使用默认的缺省路径,虽然默认的报错信息给管理 人员在检查和修正网页错误的时候带来了极大的方便,但是同时也给伺机寻找asp程序漏洞的攻击者提供了非常重要的信息。就算要使用默认的web站点,也要将ⅡS目录与系统磁盘分开了再用。在配置应用程序映射时,只保留asp、cgi、php、pl应用扩展名,其他所有不必要的应用程序扩展都删除。
2、MySQL安全设置,检查mysq1.user表, 关于shutdown_priv, process_priv, File_priv和reload_priv的权限可能泄露重要的服务器信息,所以尽量取消。对于mysql安全目录,限制user读取、列目录和执行的权力。
3、Serv-U的安全技术
现今Windows操作系统下最流行、使用最方便、功能最齐全、目前国内应用最多的FTP服务器软件之一就是FTP Serv-U.FTP是虚拟主机的一部分,所以可以通过更改Serv-U FTP服务器的服务帐户来加强安全级别。Serv-U有一个默认的System启动的管理 用户,通过一个能访问本地端口43958的账号,任何人都可以执行任意内部和外部命令和随意增删账号。解决的办法可以是设置一个用于启动Serv—U服务并属于Guests组的用户,从而设置Serv-U服务登陆设置、IIS网站和注册表设置文件夹权限。
参考文献:
篇11:如何避免Web 2.0安全威胁?
Web 2.0技术的协作性和互动性对企业具有极大吸引力,各种规模的公司都可以充分利用社交网站,免费在线服务和其他的协作型web 2.0平台,
虽然其互动性兼具趣味性和启发性,但同时它也降低了生产力,存在引发数据泄漏的漏洞和内在安全威胁,而后面三者更是web 2.0对商业的极大威胁。CISO必须在安全和商业需求之间寻求一种平衡,以降低数据泄漏的风险和危害。
由于web 2.0技术的快速发展,时测安全方法或许不再是防御攻击和防止数据泄漏的最佳选择了。许多企业都使用传统web过滤方法(对抗web威胁的基本方法),但是它不能应对web 2.0的安全问题,因为诸如AJAX、SAML和XML等协议为威胁的查找带来了一定麻烦。同样,RSS和富互联网应用正被直接安放到互联网上,非静态的内容加大了身份识别的难度。最后,用户产生的内容也难以保存。
除了传统防御,如标准图像、IDS/IPS、带宽矫正、反病毒/反恶意软件和防火墙规则设置――许多CISO正在将重心放到数据泄漏防御技术上,以减轻数据泄漏的威胁。但是他们也发现这些新兴技术不是立竿见影的。不论是部署基于网络,基于托管的产品还是数据识别DLP产品,都要牢记平衡好速度,准确性和足够覆盖面这三者间的重要性。
DLP内容分析产品提供各种web 2.0安全选项,我们必须了解其中的差异和共同点,以便部署一个能满足企业需求的产品,
DLP分析技巧包括:用常规表达式进行基于模式的搜索,用真实数据库的搜索要素进行指纹识别,准确的文件匹配,统计分析来搜索可能包含敏感信息的内容,用文档匹配来补充文件,词汇分析以及供应商目录,以便处理调整型法案。当然并非一种技巧适用于所有案例,选择怎样的技巧取决于你所保护的数据。
安全专家如何保护web 2.0的安全呢?答案是统筹兼顾。接受web 2.0并不存在问题,只是要认识到威胁的存在,并且要创建一个web 2.0安全工具集使其效果最大化。这个工具集应该以商业目标为基础来确立备有证明文件的策略,并清楚地指明允许什么样的内容,要拦截什么样的内容以及什么人,何时可以对内容进行访问。可以开发出新的策略,或者对当前策略进行升级更新,使其明确且具有可操作性。
在策略到位后,要防止信息从网络泄漏。你的工具集必须包含可以监测,防御,警告,加密和保障的技术。部署一个能够阻止敏感信息从外围邮件系统泄漏出去的产品,然后将其设置为实时运行,以避免影响员工或企业的生产力。
最后,即便以上所有控件都到位,数据和信息仍然存在泄漏的可能。企业应该时刻保持警惕。 当企业的信息可以从社区获取时,最好使用声誉较好的保护服务,内部监控程序或是在身份识别和处理实例的时候实行密码准入。
在所有新兴的技术中,web 2.0及其相关组件发展迅速,安全专家需要对其可能带来的威胁保持高度警惕。抵抗威胁的策略,技术和架构必须具有前瞻性,而且可以被CISO使用以便进一步巩固其价值
篇12: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[ ]”
篇13:Discuz论坛安全加固WEB安全
Discuz可以算是php里的一个比较优秀的bbs程序了,最近公司了增了discuz应用,不过在服务器上运行php程序相较java程序来说,安全性上总觉得不那么让人放心。果不其然,运行不久,网站就被人给黑了 。之前该机一直平安的运行jsp安全的运行了一年多没有问题 。当然,此处并不是说java较php优秀 。之前运行jsp程序之所以没有问题也有两方面的原因:其一,java本身所具有的相对安全的特性;其二,在运维和程序代码本身都做了很多的努力,防止sql 注入,上传漏洞等。所以相信php做了一种快速高效的开发语言,如果安全加固做的比较到位的话,其与java代码相较并不处于弱势。
针对discuz的安全加固如下:
1、在nginx入口上对data|images|config|static|source|template 这几个可以上传的目录里的php文件禁止访问 。(更安全一点就是列出放行的,其他全部禁止。)
location ~* ^/(data|images|config|static|source|template)/.*\.(php|php5)$
{
deny all;
}
按照以上的配置,即使出现上传漏洞,上传到了上面配置的几个目录php文件,也会报403出错无法执行。更安全的做法是,放行部分,其余全部禁止,例如:
location ~ (index|forum|group|archiver|api|uc_client|uc_server).*\.(php)?$
{
allow all;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
不过上面只是一个示例,根目录下的php文件,我此处并未列全。而且还有一个问题就是,每次有新的版本发布,如果目录结构变列或者根目录新增php文件,都要相应的修改nginx 的安全配置。
2、优化nginx和php-fpm程序运行用户。例如,该用户为www,让www用户没有家目录,没有shell,无法登陆。nginx和php-fpm程序是通过root内部调用切换到 www用户。类似于mysql的启动。具体增加语句如下:
useradd www -d /dev/null -s /sbin/nologin
如果感觉还不够安全,可以再利用chroot和sudo等程序,限制www用户所能访问的目录和可以调用的命令。
3、目录权限控制。除了discuz下的data目录有写的权限,取消所有其他目录的写权限。
该步,我看到网上有列出执行的shell命令为:
find source -type d -maxdepth 4 -exec chmod 555 {} \;
find api -type d -maxdepth 4 -exec chmod 555 {} \;
find static -type d -maxdepth 4 -exec chmod 555 {} \;
find archive -type d -maxdepth 4 -exec chmod 555 {} \;
find config -type d -maxdepth 4 -exec chmod 555 {} \;
find data -type d -maxdepth 4 -exec chmod 755 {} \;
find template -type d -maxdepth 4 -exec chmod 555 {} \;
find uc_client -type d -maxdepth 4 -exec chmod 555 {} \;
不过按这样的shell语句执行是有警告的,具体所报内容如下:
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments.
规范的写法是:
find source -maxdepth 4 -type d -exec chmod 555 {} \;
find api -maxdepth 4 -type d -exec chmod 555 {} \;
find static -maxdepth 4 -type d -exec chmod 555 {} \;
find archive -maxdepth 4 -type d -exec chmod 555 {} \;
find config -maxdepth 4 -type d -exec chmod 555 {} \;
find data -maxdepth 4 -type d -exec chmod 755 {} \;
find template -maxdepth 4 -type d -exec chmod 555 {} \;
find uc_client -maxdepth 4 -type d -exec chmod 555 {} \;
注:上面的' -maxdepth 4 ' 也是可以取消的,
对目录设置完成后,还要对文件配置权限:
find . -type f -exec chmod 444 {} \;
#设置论坛目录的文件只可读,然后设置那些需要写的文件,一般只有data下的文件是可以的。
find data -type f -exec chmod 755 {} \;
#设置data 文件为755
4、禁止php相关函数的调用及跨站。在php.ini文件中开启以下两项
open_basedir = .:/tmp/
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popep
assthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix
_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_get
pwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix
_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
以上主要是对系统层面的调用函数全部禁止 。
5、将该KVM机进行隔离。和其他主机无法连接。
该步骤配置是有条件的,在有KVM环境的条件,可以将各个应用之间利用KVM进行隔离。web访问模式为 物理机iptables nat ——KVM虚拟机 或 web入口——物理机iptables nat ——KVM虚拟机 。
6、数据库控制。
在mysql新建用户时,一是适当分配给用户所需的权限,二是要在创建用户时最好能限定来源IP 。例如:
CREATE USER 'discuz'@'192.168.0.%' IDENTIFIED BY '66ZX811a';
grant select,insert,update,delete,create,index,trigger,create temporary tables on discuz.* to 'discuz'@'192.168.0.%';
篇14:大型机如何抵御 入侵WEB安全
在大型机兴起之初,它的使用环境是非常安全的,用户可以将终端系统与大型机相连,这样大型机就能控制数据存储的访问路径和权限,掌控用户的使用信息和来源。
但时至今日我们使用的是面向服务的体系架构(SOA),在与后端系统连接之前会有一系列的计算机发出请求。用户也分为不同的级别。因此大型机的后端就无法实际确认用户真正的身份和授权的地点。所以,在分布式计算机的领域,当用户准备访问大型机数据时,安全状况就变得前景堪忧。
另外,目前真正了解大型机的专家实在寥寥可数--他们多数都已退居二线。因此当用户访问大型机并分享数据时,内忧外患也是越来越多。
大型机是座宝库
威利萨顿(willie sutton)是十九世纪二十年代闻名一时的银行大盗,在他被抓获后有人问他“威利,你为什么抢劫银行呢?”他老实回答说“因为那里有钱”。
如果威利能活到今天,我敢打赌他一定是名入侵终端数据库的 ,因为钱就在那里,或者说至少那里拥有很有价值的信息。大型机对于那些恶意的电脑 来说就是令人垂涎的攻击目标, 典型的做法是在网络协议的掩护下去读取数据。当大型机看到诸如FTP或者HTTP这样的协议时基本都会予以批准,如果这是个SQL注入攻击(SQL injection attack),那么大型机根本就无能无力。
大型机的安全保障
与其不断安装大型机应用软件不如借此机会适时增加基础架构的功能,毕竟开发应用软件也并非易事。因此用户应该将安全功能外置诸如数据库,应用软件或者网络服务器之上,增加另外的安全层也是非常有效的方法。
这个单独的层将弥补安全鉴定的空白。举例来说,如果有 窃取了用户密码就会绕过安全验证系统,那么用户还有另外的安全层权限来访问数据。因此,增加更高权限的安全线和深度防护措施是十分关键的,
深度防护流程
首先职权分离能有助于抵御来自内部和外部的攻击。设置网络应用软件防火墙是抵御 攻击的第一道防线,这也相当于将威利萨顿挡在门外的安全电网。
其次你需要防范数据外流的风险,单独的入侵检测和审核还远远不够。你需要防止意外情况下数据被窃取,因此你要找到合适的方法对数据进行锁定。加密技术是最好的方法。如果能够正确的运用,这也是让你免受数据外泄风险的唯一方法。
入侵检测也是基本方式。如果你的系统处于危险之中,你就必须设置防护层来阻止攻击者入侵系统窃取数据。Protegrity公司拥有一项技术专利就是根据在系统上用户常规活动的历史记录为基础来限定其访问的数据流量。
举例来说,如果某人通常在一周内每天下载的数据量是500条记录,周末没有访问量。那么我们的系统就会鉴别某人的数据下载量不超过10,000条或者周末晚上不能下载数据。
最后,对你的用户实施监控。一旦你对数据进行了锁定,你就需要关注它的运行情况。是否有未经授权的请求?是否有 的攻击企图?你必须关注这些问题,如果用户出现滥用数据的情况能及时的加以制止。
由此可见大型机安全方和的三大要素:网络应用软件防火墙,加密技术和监控措施。
大型机安全防护的支柱 各个方面的安全检查
是时候对之前所忽略的安全系统进行全面的检查。举例来说,检查你的数据库,看看是否有人试图读取你数据库中的信用卡信息。如果你发现有 以有效的用户身份访问信用卡信息,我们就应该对其访问的数据量增加相应的功能设置。
如果你的用户身份存在危险,你就应该设置防护层来阻止入侵者来获取更多的信息。你也可以通过数据使用控制来对入侵进行检测或者阻止 攻击的速度。目前我们在基于行为的入侵检测技术已经获取了专利许可。我们之所以开发这项技术是因为我认为它在数据驱动防护层方面颇有成效。
对于基于行为的访问加以限制在物理世界是非常自然的事。就像按方抓药或者去自动提款机限额取钱一样的道理。这些都是非常成功的安全系统能从逻辑上限定人们的行为。我认为这种方法也同样适用于IT领域的安全防护。
【Flash安全的一些总结WEB安全】相关文章:
1.升级flash插件,防范Flash动画恶意链接WEB安全
4.安全总结
7.五一安全总结
8.中秋节安全总结
9.安全检查总结
10.安全活动月总结






文档为doc格式