比较简单实用的WEB安全设置总结

服务器方面

1、首先是要NTFS格式,并减少user之类用户的权限,FAT32格式的磁盘没有权限设置,也就没有安全可言;

2、其次是补丁要全,否则服务器中了木马,那什么都是白搭;

3、接着是禁用危险的组建和服务项,这个比较难,如果是简单的应用还好说,如果服务器里跑着比较纠结的程序,很可能就会因为禁止了某些组件或服务导致无法运行,我对这个是比较头痛的,所以做安全还是有必要知道应用所涉及到的权限以及其他方面;

4、端口屏蔽,比如普通的WEB服务器开个21和80以及3389就够了;

5、加密传输,这个防止嗅探的,不过WIN好像没自带;

6、密码安全、桌面锁定软件、命令函数更名等其他小的设置,就和安全意识有关了,作用不会太大,但是比没有要好。

IIS安全

1、执行权限这个很重要,不同的站点用不同的匿名用户访问,但是这些用户不能给权限,连组都不用加,而且这写单独访客的权限只在对应的WEB目录有效,其他盘都无效,Everyone之类的大权限统统删掉…而且大部分目录不给写入权,用户权限是WEB安全最重要的一块;

2、取消掉没用的API扩展,搞黑的都知道asp传不了就用asa或者cer格式的木马,安全也一样,没用的API扩展统统去掉,比如asp的站点只留一个.asp的,其他扩展删掉,你传了后门也没用;

3、取消不必要的WEB扩展,扩展多了漏洞也就多,能少用还是少用吧。

权限类

1、站点单独用户权,防止跨站,IIS那说过了,其实这个可以再IIS设置,也可以再硬盘设置,本质都一样,就是NTFS格式的权限设置,而且权限最多给到读取写入,不可能再多了;

2、目录与文件的权限设置,图片目录这样的,给个读取权就可以了,而且脚本都可以禁掉,没哪个图片是可执行的吧… 文件也一样,HTML的目录和文件,脚本权可以禁掉,普通页面给个读取权就可以了,写入权这玩意很危险,能少给就少给,但是弄错了网站会崩;

3、特殊目录的权限,像D盘E盘这样的,删了Everyone就连子目录的也一并删了,但是例如system这样的目录,没有继承权,你删了C盘的某用户,很多子目录里还是有的,要一个一个删,否则就会出现像入侵时候遇到的情况:C盘无法访问,但是用户文件夹和windows目录可以访问。

代码安全

1、代码防注入,这个是最多的安全问题,有了数据库就有了注入,防御办法很多,绕过防御的办法也很多,很难一概而论,总之还是靠程序员的安全意识与代码功底;

2、上传漏洞的防止,除了注入上传也是个大户,很多入侵依赖上传,解决方案是:减少上传数量,提高验证强度,验证的时候要固定后缀、类型,而不是排除,上传的文件随即命名,自动修改后缀,上传目录不给任何权限!

3、文件命名规则,一些测试文件和敏感文件,名称和目录一定不能让人猜解,或者加入验证,猜解到了文件也进不去;

4、第三方代码,这个要少用,尤其是小团队写的,DISCUZ这么牛X的代码都一直爆漏洞,别说其他代码了,原因是这些代码都是公开的,可以从源代码里找漏洞,很危险的;

5、其他一些例如防社会工程学漏洞、防爆路径,就比较难说清了,还是安全意识的问题。

(0)

相关推荐

  • Serv-U 安全设置图文教程

    先参考服务器安全设卸载最不安全的组件置. 用十六进制编辑器打开ServUDaemon.exe查找Ascii:LocalAdministrator,和#l@$ak#.lk;0@P, 修改成等长度的其它字符就可以了,ServUAdmin.exe也一样处理 另外注意设置Serv-U所在的文件夹的权限,不要让IIS匿名用户有读取的权限,否则人家下走你修改过的文件, 照样可以分析出你的管理员名和密码.Serv-U默认是以System组的身份运行的,对本机有完全操作的权限. 所以如果攻击者利用Serv-U程

  • IIS安全设置图文教程

    IIS安全设置 以我们帮客户维护网站经验来看,多用户账户分离式比较安全的,一个网站有问题不会影响别的网站安全.大家可以看这篇文章(IIS 多站点 用户隔离视频教程)再接着看下面的文章.服务器要考虑稳定.安全.性能修改默认站点为e:\webdefault\www,删掉c:/inetpub目录,删除iis不必要的映射 目录安排: 在E盘建一个web目录,每个站点的主域名为目录名建目录,再以每个站点的二级域名为目录名建目录做为网站根目录. 权限设置思路:每个站点的根目录为IIS来宾帐号(IUSR_XX

  • Win2008 远程控制安全设置技巧

    为了保障服务器远程控制操作的安全性,Windows Server 2008系统特意在这方面进行了强化,新推出了许多安全防范功能,不过有的功能在默认状态下并没有启用,这需要我们自行动手,对该系统进行合适设置,才能保证远程控制Windows Server 2008服务器系统的安全性. 1.只允许指定人员进行远程控制 如果允许任何一位普通用户随意对Windows Server 2008服务器系统进行远程控制时,那该服务器系统的安全性肯定很难得到有效保证.有鉴于此,我们可以对Windows Server

  • Win2003 MSSQL以普通用户运行安全设置篇

    什么要将MS SQL SERVER数据库必须运行在"普通用户"的状态下呢?因为如果使用了"超级管理员"或者"本地系统用户"来运行"SQL2000数据库",就会被黑客利用,利用SYSTEM用户权限入侵服务器.因此,为了服务器安全,务必将MS SQL SERVER运行在"普通用户"的状态下.同时,要对硬盘的权限做好对应的权限设置MS SQL SERVER才能正常运行. 将MS SQL SERVER运行于普通用户

  • IIS 多站点 用户隔离视频教程

    偶不喜欢啰嗦直说了,简单来说就是三步! 1.建立计算机用户如test1.com并给Guests组权限,这个是最低权限: 2.在IIS你要设置的站点属性里设置目录安全性,编辑,输入你刚才建立的计算机用户和密码如test1.com,一路确定: 3.设置刚才在IIS里设置过的站点的目录权限,添加刚才建立test1.com这个用户并只给读和写权限. 搞定!如果还不理解就看下面的录像,照着做即可:(如果感觉太小可以直接点击这里观看)

  • win2003 服务器安全设置教程(权限与本地策略)

    服务器安全设置 1.系统盘和站点放置盘必须设置为NTFS格式,方便设置权限. 2.系统盘和站点放置盘除administrators 和system的用户权限全部去除. 3.启用windows自带防火墙,只保留有用的端口,比如远程和Web.Ftp(3389.80.21)等等,有邮件服务器的还要打开25和130端口. 4.安装好SQL后进入目录搜索 xplog70 然后将找到的三个文件改名或者删除. 5.更改sa密码为你都不知道的超长密码,在任何情况下都不要用sa这个帐户. 6.改名系统默认帐户名并

  • win2003 服务器安全设置图文教程

    Windows 2003 服务器安全设置 一.先关闭不需要的端口 我比较小心,先关了端口.只开了3389.21.80.1433,有些人一直说什么默认的3389不安全,对此我不否认,但是利用的途径也只能一个一个的穷举爆破,你把帐号改了密码设置为十五六位,我估计他要破上好几年,哈哈!办法:本地连接--属性--Internet协议(TCP/IP)--高级--选项--TCP/IP筛选--属性--把勾打上,然后添加你需要的端口即可.PS一句:设置完端口需要重新启动! 当然大家也可以更改远程连接端口方法:

  • apache在win2003下的安全设置方法

    如果web服务器的所有资源都在本地系统上,这样做会问题比较少,但是将会具有很 大的安全 权限来影响本地机器,因此千万不能开启System帐号的网络权限! 于是要创建一个新的帐户来替代这个帐号启动apache并设置相应的权限: 1.在计算机管理里的本地用户和组里面创建一个帐户,例如:apache,密码设置为 apacheuser,加入guests组(如果出现问题,可以赋予user权限): 2.打开开始->管理工具->本地安全策略,在用户权限分配中选择"作为服务登陆",添加ap

  • 比较简单实用的WEB安全设置总结

    服务器方面 1.首先是要NTFS格式,并减少user之类用户的权限,FAT32格式的磁盘没有权限设置,也就没有安全可言: 2.其次是补丁要全,否则服务器中了木马,那什么都是白搭: 3.接着是禁用危险的组建和服务项,这个比较难,如果是简单的应用还好说,如果服务器里跑着比较纠结的程序,很可能就会因为禁止了某些组件或服务导致无法运行,我对这个是比较头痛的,所以做安全还是有必要知道应用所涉及到的权限以及其他方面: 4.端口屏蔽,比如普通的WEB服务器开个21和80以及3389就够了: 5.加密传输,这个

  • ThinkPHP设置禁止百度等搜索引擎转码(简单实用)

    网站在移动端的阅读不可避免的会遇到转码问题,作为国内搜索引擎老大百度,自然要做技术的领头人了,做了百度转码,有些网站经过转码之后达到了想要的结果,但是有些网站经过百度加工后就是不忍直视,很多内容出现了错乱,Joe的网站也出现了一些错位,于是Joe用了Wordpress插件MobilePress,经过一些汉化修改,感觉比百度的转码更适合自己. 方法1.HTTP Response中显式声明,Cache-control:no-transform. 在config.php 文件中加入 'HTTP_CAC

  • 2007/12/23更新创意无限,简单实用(javascript log)

    在javascript开发过程中,如果总是使用alert的方式调试程序,在某些简单的程序中是可行的.  但是在通常的项目很复杂,这种方式已经很难满足,企业级开发的需要.  比如ajax项目中,存在一个3000行左右JS文件,其中存在各种自定义的javascript对象. 开发的过程中,总是需要在js程序执行到某个关键点的时候,监视自定义对象的值或状态, 判断执行结果是否是预期的样子,如果您通过alert看到某些关联对象的值,是很困难的. 存在以下两个明显的缺点:  1.假如一次执行中有n个关键点

  • 使用批处理修改web打印设置笔记 适用于IE

    就不得不调整WEB页面页边距以及去掉页眉页脚,上网查了很多资料发现IE没有自带这些设置打印机的功能,无法使用纯javascript设置.前几天上网查了资料,可以通过修改注册表达到去除页眉页脚的效果,可是试了一下后发现IE不允许直接修改注册表.后面又想到了两种解决办法:1)营业员通过IE的"页面设置"功能再结合我们提供的设置参数设置打印效果:2)我们提供一个批处理文件,其中已经设置好了必要的参数,营业员只需运行一次该批处理文件即可. 我选则了第二种方法,以前没写过批处理文件,但听说很容易

  • PHP实现简单实用的验证码类

    本文实例讲述了PHP实现简单实用的验证码类.分享给大家供大家参考.具体如下: <?php /** * @version 1.0 * @author bolted snail * @date 2011-10-15 * @PHP验证码类 * 使用方法: * $image=new Captcha(); * $image->config('宽度','高度','字符个数','验证码session索引'); * $image->create();//这样就会向浏览器输出一张图片 * //所有参数都可

  • 简单实用的网站PHP缓存类实例

    缓存技术在实际使用当中应用非常广泛,可以有效减轻对服务器数据库的访问压力,提高运行速度.目前很多CMS内容管理系统中频繁使用缓存机制来提高系统运行的效率.本文以一个简单实用的缓存类为例,帮助大家参考下缓存的机制与写法. 缓存文件cache.php代码如下: <?php /* 用户需要事先定义的常量: _CachePath_ 模板缓存路径 _CacheEnable_ 自动缓存机制是否开启,未定义或为空,表示关闭自动缓存机制 _ReCacheTime_ 自动重新缓存间隔时间,单位为秒,未定义或为空,

  • Popupwindow 的简单实用案例(显示在控件下方)

    第一步: private PopupWindow mPopupWindow; 第二步:写一个popupwindow的布局文件XML <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_paren

  • js实现简单实用的AJAX完整实例

    本文实例讲述了js实现简单实用的AJAX的方法.分享给大家供大家参考,具体如下: //版权归属 WUJXPING //ajax 1.2 //更新2012-2-20 //1.异步数据加载可以进行加载方式get,post的设定 //2.异步同步模式的属性设定 //3.数据加载自动超时设置 //4.***数据加载事件的添加,通过事件可以进行服务器数据的实时处理 //5.增加回调函数中用户自定义参数this.e //6.增加ajax反复提交控制,只需将ajax对象定义为全局变量,每次提交都会进行等待上次

  • 基于Python编写简单实用的日志装饰器

    目录 1.简陋版装饰器 2.普通版装饰器 3.优化版装饰器 在写代码的时候,往往会漏掉日志这个关键因素,导致功能在使用的时候出错却无法溯源. 其实,只需要写一个非常简单的日志装饰器,我们就能大大提升排查问题的效率. 1.简陋版装饰器 写一个装饰器非常简单,因为本质上装饰器就是一个返回函数的“高阶”函数而已: 1) 函数作为参数传递进装饰器. 2) 装饰器内定义一个函数,处理作为参数传递进来的函数. 3) 返回这个装饰器内定义的函数 import datetime def log(func): "

  • JS获取地址栏参数的两种方法(简单实用)

    js获取地址栏参数的方法有两种:第一种,采用正则表达式获取地址栏参数,第二种,是比较传统的方法,在这小编给大家强烈推荐使用第一种方法,既方便有实用,具体实现过程请看下文详述. 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window

随机推荐