squid的替代品,varnish

Posted by Smeagol | Posted in 服务器相关 | Posted on 28-01-2011

Tagged Under : ,

Varnish是一款 高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang (vg.no) 使用3台Varnish代替了原来的12台squid,性能比以前更好。

Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算 机系统的内存除了主存外,还包括了cpu内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此squid cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构。

官方网站

原来squid已经老了,这已经是2008年的事情了。

debian 5 安装配置snmp 来监控

Posted by Smeagol | Posted in linux, 服务器相关 | Posted on 21-01-2011

Tagged Under :

debian 5 装 snmp 很简单:

apt-get install snmpd 就可以了。

配置:
找到/etc/snmp/snmpd.conf 这个文件,然后找到

#com2sec paranoid  default         public

这行并且注释掉

再下面这行的注释去掉,并且用自己的字符替换掉****,默认是public :

com2sec readonly  default          *****

这里如果要用指定的ip来做监控的话,要把default改成指定的ip如:

com2sec readonly  0.0.0.0          *****

多个ip的,可以这样指定:

com2sec readonly  127.0.0.1          *****
com2sec readonly  192.168.1.10          *****

删除/etc/default/snmpd中,127.0.0.1   ,位于:

SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1′

然后重启snmpd

/etc/init.d/snmpd restart

大型网站架构演变和知识体系

Posted by Smeagol | Posted in 服务器相关 | Posted on 17-01-2011

http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html

不错的一篇文章,先转过来放在这里。

如何在本机用域名测试服务器上的网站?

Posted by Smeagol | Posted in 服务器相关 | Posted on 26-02-2010

Tagged Under : , ,

一般在服务器上架前,都要对服务器上的网站先测试一番,如果网站比较多的话更要这么做。所以我们要在本地模拟出托管以后在公网上打开的效果。然后,是以xxx.com这样的域名来打开,而不是用localhost这样的主机名。由于服务器在本地,只有局域网的ip,那么可以用以下方法。

方法一:我们可以将xxx.com域名解析到192.168.xxx.xxx这样的局域网ip上,然后利用局域网中的电脑打开。这种方法有很多缺点,更改域名解析麻烦,生效可能还需要一定时间,如果这个域名某些情况下不允许解析到其他ip,那么用这个方法就行不通。

方法二:使用hosts文件。windows系统一个专门用来解析域名的文件,利用这个文件,域名可以不用到dns上去查询,就可以得到该域名的ip。这个文件一般位于WINDOWS\system32\drivers\etc下,文件中一行一条记录,如:127.0.0.1      localhsot    。如果我们有一个网站xxx.com建设在本地服务器的iis上,那么只要在这台服务器的hosts文件中添加一行记录:127.0.0.1    xxx.com , 就可以直接在这台服务器的ie中通过xxx.com来访问,而不用关心xxx.com域名的dns解析问题。因为这时域名已经解析到了本地电脑。在linux系统中,这个文件位于/etc/hosts,我们可以用同样的方法来测试linux服务器。

web安全(51Testing博客转载)

Posted by Smeagol | Posted in 服务器相关 | Posted on 21-03-2009

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再用参数读取数据库里的新闻譬如

http://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的话

http://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上分别提交http://www.xxx.com/news.asp?id=1and 1=1 和http://www.xxx.com/news.asp?id=1and 1=2

如果第一次返回正确内容,第二次返回不同页面或者不同容内的话表明news.asp文件存在SQL INJETION。如何利用就不多说了,毕竟我们都不是为了入侵。

 对文件操作相关的模块的漏洞在测试

原理:

如一上传文件功能的程序upload.asp如果程序员只注重其功能上的需求没有考虑到用户不按常规操作的问题。如上传一个网页木马程序上去,整个网站甚至整个服务器的架构和源码都暴露而且还有一定的权限。

测试:

试上传asp,php,jsp,cgi等网页的文件看是否成功。

补充:

还有像 http://www.xxx.com/download/filespath.asp?path=../abc.zip

下载功能的软件如果

http://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的代码,看看你能不能看到。

堆栈溢出攻击:完全的不了解,只是在某个网站上看到,可以对现在的2000、XP、2003进行攻击,非常恐怖,MS应该打了补丁了吧?

ip策略的应用

Posted by Smeagol | Posted in 服务器相关 | Posted on 04-03-2009

Tagged Under :

STEP1:添加IP筛选器和筛选器操作

  依次单击[开始]→[管理工具]→[本地安全策略],打开“本地安全设置”对话框。右击该对话框左侧控制台树的[IP安全策略,在本地计算机]选项,执行[管理IP筛选器表和筛选器操作]命令。在打开的对话框的[管理IP筛选器列表]标签下单击[添加]按钮,命名这个筛选器名称为“禁止PING”,描述语言可以为“禁止任何其他计算机PING我的主机”,然后单击[添加]按钮。接下来依次单击[下一步]→[下一步],选择“IP通信源地址”为[我的IP 地址],单击[下一步];选择“IP通信目标地址”为[任何IP地址],单击[下一步];选择“IP协议类型”为[ICMP],单击[下一步]。单击[完成]→[确定]结束添加。然后切换到[管理筛选器操作]标签下,依次单击[添加]→[下一步],命名筛选器操作名称为“阻止所有连接”,描述语言可以为 “阻止所有网络连接”,单击[下一步];点选[阻止]选项作为此筛选器的操作行为,最后单击[下一步]→[完成]→[关闭]完成所有添加操作。

STEP2:创建IP安全策略

  右击控制台树的[IP安全策略,在本地计算机]选项,执行[创建安全策略]命令,然后单击[下一步]按钮。命名这个IP安全策略为“禁止PING主机”,描述语言为“拒绝任何其他计算机的PING要求”并单击[下一步]。然后在勾选[激活默认响应规则]的前提下单击[下一步]。在“默认响应规则身份验证方法”对话框中点选[使用此字符串保护密钥交换]选项,并在下面的文字框中键入一段字符串如“NO PING”,单击[下一步]。最后在勾选“编辑属性”的前提下单击[完成]按钮结束创建.

STEP3:配置IP安全策略

  在打开的“禁止PING属性”对话框中的[规则]标签下单击[添加]→[下一步],默认点选[此规则不指定隧道]并单击[下一步];点选[所有网络连接]以保证所有的计算机都PING不通该主机,单击[下一步]。在“IP筛选器列表”框中点选[禁止PING],单击[下一步];在“筛选器操作”列表框中点选[阻止所有连接],依次单击[下一步];取消“编辑属性”选项并单击[完成]结束配置。

STEP4:指派IP安全策略

  安全策略创建完毕后并不能马上生效,我们还需通过“指派”使其发挥作用。右击“本地安全设置”对话框右侧的[禁止PING主机]策略,执行“指派”命令即可启用该策略。

Distributed Transaction Coordinator 服务因 3221229584 (0xC0001010) 服务性错误而停止

Posted by Smeagol | Posted in 服务器相关 | Posted on 06-10-2008

Distributed Transaction Coordinator 服务因 3221229584 (0xC0001010) 服务性错误而停止

主要是系统无法找到MS DTC 日志文件造成的,只要创建一下就可以了:

点开始→运行→输入命令”msdtc -resetlog”,运行该命令即可.

之后,重新启动电脑,或者运行服务中的”Distributed Transaction Coordinator “服务均可

php安全设置

Posted by Smeagol | Posted in 服务器相关 | Posted on 28-08-2008

Tagged Under :

这个主要是改php.ini文件里的设置:

Safe_mode=on 开启安全模式。默认是关的

register_globals = Off  关闭

allow_url_fopen = off  (Whether to allow the treatment of URLs (like http:// or ftp://) as files)

display_errors = Off  不显示错误信息。

magic_quotes_gpc = on 这个需要很长一篇文章解释。大意为发生作用是在传递$_GET,$_POST,$_COOKIE时,能转义“‘”。

open_basedir =web目录

disable_functions =passthru,exec,shell_exec,system,phpinfo,get_cfg_var,popen,chmod

默认设置com.allow_dcom = true修改为false[修改前要取消掉前面的;]

serv-u,以独立用户启动

Posted by Smeagol | Posted in 服务器相关 | Posted on 28-08-2008

       先在计算机管理里添加一个用户比如ftpuser,把属性里users组去掉。然后给servu的安装目录一个完全控制的权限给ftpuser。再在计算机管理-服务里找到servu停止,点属性-登录-改成刚才添加的用户ftpuser,然后启动。这样做以后再本地测试都是正常的。服务器上会出现530 Not logged in, home directory does not exist,这个要给主目录的上一级目录一个读取的权限,比如web在d:\\web\\xxxx.那么要给d:\\web一个读取的权限。

urlscan tool 经验

Posted by Smeagol | Posted in 服务器相关 | Posted on 14-08-2008

下载地址:http://microsoft.com/downloads/details.aspx?FamilyId=23D18937-DD7E-4613-9928-7F94EF1C902A&displaylang=en

安装很简单,点确定就可以了。默认安装的路径是%windir%\\system32\\inetsrv\an

URLScan.dll 是筛选器。可以使用 URLScan.ini 配置它的工作方式。log文件夹记录的是被拒绝的请求。

这个web服务器上应该有用。

关于urlscan.ini的配置:http://support.microsoft.com/kb/326444/