Archive

Archive for the ‘Network’ Category

网站压力测试工具webbench介绍

December 15th, 2010 No comments

webbench最多可以模拟3万个并发连接去测试网站的负载能力,感觉要比Apache自带的ab压力测试工具好,安装使用也非常方便。

1、适用系统:Linux

2、编译安装:
wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install

PS:在编译安装的时候可能会有错误,但是不影响正常使用。

3、使用:
webbench -c 500 -t 30 http://127.0.0.1/test.jpg
  参数说明:-c表示并发数,-t表示时间(秒)

4、测试结果示例:

Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.1.233/about.php
500 clients, running 30 sec.

Speed=3230 pages/min, 11614212 bytes/sec.
Requests: 1615 susceed, 0 failed.

Categories: Network Tags: ,

Linux 性能监测工具及调优介绍

August 20th, 2010 No comments

LINUX系统下,大多数的性能监测工具保存在/proc目录下。这里我们将Red Hat Linux AS 和 SUSE LINUX EnterpriseServer中,命令行及图形方式下的性能监测工具做概括性介绍。这些工具有些在系统工具盘里,有些可以从网上下载。sar,iostat,和pstat这三个工具在distributionCD里,也可以从网上下载,网址是http://perso.wanadoo.fr/sebastien.godard/。

表–Linux 性能监测工具

这些工具提供了IBM Director Capacity Manager之外的一些功能,能够在某个时间段内对系统性能进行监测。IBM Director适用于多种操作系统平台,从而使得异构环境下数据的收集和分析更容易。下面分三部分逐个介绍每个命令。

1、uptime
uptime命令用于查看服务器运行了多长时间以及有多少个用户登录,快速获知服务器的负荷情况。
uptime的输出包含一项内容是load average,显示了最近1-,5-,15分钟的负荷情况。它的值代表等待CPU处理的进程数,如果CPU没有时间处理这些进程,load average值会升高;反之则会降低。
load average的最佳值是1,说明每个进程都可以马上处理并且没有CPU cycles被丢失。对于单CPU的机器,1或者2是可以接受的值;对于多路CPU的机器,load average值可能在8到10之间。

也可以使用uptime命令来判断网络性能。例如,某个网络应用性能很低,通过运行uptime查看服务器的负荷是否很高,如果不是,那么问题应该是网络方面造成的。

下边是uptime的输出样式

2、dmesg
dmesg命令主要用来显示内核信息。使用dmesg可以有效诊断机器硬件故障或者添加硬件出现的问题。
另外,使用dmesg可以确定您的服务器安装了那些硬件。每次系统重启,系统都会检查所有硬件并将信息记录下来。执行/bin/dmesg命令可以查看该记录。

下边是dmesg的输出样式

3、top
top命令显示处理器的活动状况。缺省情况下,显示占用CPU最多的任务,并且每隔5秒钟做一次刷新。

3.1 Process priority and nice levels

Process priority的数值决定了CPU处理进程的顺序。LIUNX内核会根据需要调整该数值的大小。nicevalue局限于priority。priority的值不能低于nice value(nicevalue值越低,优先级越高)。您不可以直接修改Process priority的值,但是可以通过调整nicelevel值来间接地改变Process priority值,然而这一方法并不是所有时候都可用。如果某个进程运行异常的慢,可以通过降低nicelevel为该进程分配更多的CPU。
Linux 支持的 nice levels 由19 (优先级低)到-20 (优先级高),缺省值为0。

执行/bin/ps命令可以查看到当前进程的情况。
Read more…

Categories: Linux, Network, Sys Admin Tags: , ,

中文网络协议图

August 11th, 2010 No comments

学习网络技术,研究网络分析,都必须学习好网络协议,如果有一份详细的网络协议图,会非常有帮助的。下面是我在科来软件看到的两份网络协议图,觉得很不错,转到这里,希望大家有所帮助。
中文TCP/IP网络协议图(点击图片看大图)

中文网络协议图(点击图片下载pdf格式协议图)

Categories: Network, Sys Admin Tags: ,

使用 DDoS deflate 防御和减轻DDoS攻击

August 11th, 2010 No comments

DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本。它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限制时,该程序会通过APF或IPTABLES禁止或阻挡这些IP.

程序的官方网站:http://deflate.medialayer.com/

安装
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh

配置
配置文件是 /usr/local/ddos/ddos.conf ,默认有如下配置
FREQ=1
NO_OF_CONNECTIONS=150
APF_BAN=1
KILL=1
EMAIL_TO=”root”
BAN_PERIOD=600IP

地址白名单:/usr/local/ddos/ignore.ip.list

卸载
wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos

配置参数的解释:
FREQ=1 ;检测时间间隔,默认是一分钟,如果修改这个要重新设置Cron Job
NO_OF_CONNECTIONS=150 ;最大连接数,超过这个就会禁止IP
APF_BAN=1 ;使用APF设置为1,使用iptables设置为0
KILL=1 ;是否禁止IP
EMAIL_TO=”root” ;邮件通知,写上接收邮件的邮箱
BAN_PERIOD=600 ;禁止IP时长,默认是600秒
推荐APF_BAN=1改成APF_BAN=0,用iptables 来阻挡IP.
经过实际测试这个脚本还是很好用的,对于尽早发现DDoS攻击,减轻攻击都有很大作用。

Categories: Network, Sys Admin Tags:

使用 .htaccess 提高 WordPress 的安全性和可用性

August 8th, 2010 No comments

这篇文章是在久酷看到的,觉得不错,就转过来了。这应该是九酷从这里翻译过来的,但此链接目前似乎无法打开。
尽管 .htaccess 只是一个文件,但是它能改变你服务器上的设置和允许你做很多不同的东东,如最受欢迎的是它能让你定制化 404 错误页面。.htaccess 其实并不难,你可以认为它只是由一些简单命令或者用法说明组成的文本文件,不过他却能极大的提高你站点的安全性,所以没有借口不去用它。

创建 .htaccess 文件时可能给你带来一些问题。写入内容到这个文件是非常容易的,你只需输入合适的代码到文本编辑器中(如记事本)。但是你可能在保存文件的时候碰到问题。 因为 .htaccess 是一个非常奇怪的文件名(这个文件没有名字而只有一个8字符的扩展名)。这个可能在特定的系统中不能被接受(如 Windows OS)。在绝大多数的操作系统中,你可以尝试在保存文件的时候输入以下文件名:”.htaccess”(包括引号)。如果这不起作用,你可能需要先把它命 名为别的名字(如 htaccess.txt),然后上传到服务器。上传之后,在 FTP 工具中重命名它。

尽管通过 .htaccess 可以做很多事情,但是本文主要关注的是如何提高 WordPress 的安全性和可用性。

保护 .htaccess 自身的安全性。阻止用户通过读取和写入 .htaceess 来更改安全性的设置。

order allow,deny
deny from all

隐藏服务器的数字签名。隐藏服务器的数字签名之后,入侵者将很难找到有机会找到安全漏洞,因为他们不知道背后的服务器是什么。
ServerSignature Off

限制上传文件的大小。这个能够帮助阻止 DoS 攻击(用户通过上传巨大的文件来冲垮服务器)并且能够节约带宽。
LimitRequestBody 10240000
# limit file uploads to 10mb

停止 mod_security 过滤器。这是一个可选的设置并且要小心处理。这些指令告诉服务器不要使用 mod_security 过滤器,因为 mod_security 过滤器不允许用户发表含有这些单词 “curl”,“lynx” 或者 “wget” 等等单词的文章。这个看起来有点琐碎,但是这个让一些站点头痛,因为这些单词几乎那些站点每天都会用到。
SecFilterInheritance Off

保护 wp-config.php 文件。我们可以通过 .htaccess 文件阻止用户读取和写入 WordPress 的主配置文件。这个指令假设 WordPress 是安装在站带你的根目录。

order allow,deny
deny from all

指定自定义错误文档。这条指令做的更多是站点的可用性而不是安全性。它们指定了哪个页面将被显示,一旦服务器错误,如页面找不到(代码 404) 禁止访问(代码 403)等等。
ErrorDocument 404 /notfound.php
ErrorDocument 403 /forbidden.php
ErrorDocument 500 /error.php
禁止浏览目录。这将阻止服务器在没有找到 index 文件(如 index.html,index.php 等等)的情况下显示文件夹目录内容。这能阻止用户看到文件夹的内容使得更难对网站发动攻击。
# disable directory browsing
Options All -Indexes
防止图片盗链。这个能够阻止其他网站盗链本网站的图片,迫使他们 要么指向整个页面,或者其他存储图像的地方。这个保存了宝贵的带宽并且能够增加流量(虽然只是一点点)。下面的代码将会显示 stealingisbad.gif 这张图片,当有人试着热链到到你的网站来显示图片
#disable hotlinking of images
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC]
#RewriteRule \.(gif|jpg|png)$ http://www.yourdomain.com/stealingisbad.gif [R,L]
在你的站点给每个 URL 设置符合规定的或者“标准”的链接。这能够帮助提高网站的可用性和提高网站在搜索引擎中的排名。总之,它会把来自 http://yourdomain.com 的请求重定向到 http://www.yourdomain.com/.
# set the canonical url
RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourdomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]
保护博客免受垃圾留言的侵扰(和普通方式提交的垃圾留言)。最后的那条指令将会阻止用户直接从其他网站的留言提交框发表留言,虽然这不是一个包罗万象的反垃圾留言的方法,但是它确实能够帮助你。
# protect from spam comments
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourdomain.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
加入这些指令之后,你应该添加 WordPress 用于管理永久链接的代码。还有很多的指令和很多的方法可以提高网站的可用性和安全性,不过这里所列出的应该占了日常所需的大部分了。当你上传该文件到服务 器上之后,你应该一遍有一遍的测试直到你觉得所有的东西都工作正常,再测试一遍。检查下是否受保护的文件还能不能被访问,你依旧允许访问的文件和文件夹能 否还能访问。常规的经验可能是棘手的事情,它们可能导致看似随机的问题,所以在你发布你的网站之前务必完全的测试你的网站。

Categories: Network, WordPress Tags: , ,

iptables基本例子

August 6th, 2010 No comments

IPTABLES基本例子

iptables –F
#删除已经存在的规则

iptables -P INPUT DROP
#配置默认的拒绝规则。基本规则是:先拒绝所有的服务,然后根据需要再添加新的规则。

iptables -A INPUT -p tcp –dport 80 -j ACCEPT
#打开WEB服务端口的tcp协议

iptables -A INPUT -p tcp –dport 110 -j ACCEPT
#打开POP3服务端口的tcp协议

iptables -A INPUT -p tcp –dport 25 -j ACCEPT
#打开SMTP服务端口的tcp协议

iptables -A INPUT -p tcp –dport 21 -j ACCEPT
#打开FTP服务端口的tcp协议

iptables -A INPUT -p tcp -s 202.106.12.130 –dport 22 -j ACCEPT
#允许IP地址为202.106.12.130这台主机连接本地的SSH服务端口

iptables -A INPUT -p tcp –dport 53 -j ACCEPT
#允许DNS服务端口的tcp数据包流入

iptables -A INPUT -p udp –dport 53 -j ACCEPT
#允许DNS服务端口的udp数据包流入

iptables -A INPUT -p icmp -icmp-type echo-request -i eth1 -j DROP
#防止死亡之ping,从接口eth1进入的icmp协议的请求全部丢弃。

iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT
#防止SYN Flood (拒绝服务攻击)

iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.226 -j MASQUERADE
#允许 192.168.0.226通过eth1 IP伪装出外网

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.4 -p tcp –dport 25 -j MASQUERADE
#允许 192.168.0.4通过eth0 伪装访问外网的 25端口

前提:对FORWARD 的策略是DROP有效,否则每条ACCEPT后自加相应的DROP规则。

1.syn洪水攻击:
# iptables -A FORWARD -t tcp –syn -m limit –limit 1/s –limit-burst 2/s -j ACCEPT

2.半连接的端口扫描攻击:
# iptables -A FORWARD -t tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s –limit-burst 2/s -j ACCEPT

3.ping洪水攻击:
# iptables -A FORWARD -t icmp -m limit –limit 2/s –limit-burst 2/s -j ACCEPT

4.碎片攻击:
# iptables -A FORWARD -t tcp -f -m limit –limit 100/s –limit-burst 100/s -j ACCEPT

Categories: Linux, Network, Unix Tags:

体验Google多账户混合登陆

August 5th, 2010 No comments

昨天就在cnBeta上面看到《Google 已经开始推送多账户登录功能》这篇文章,大概瞅了瞅,觉得这个功能对于我等马甲众多之人是非常有用的。当时我就登陆了我的某个Google帐号,结果并未发现Multiple sign-in的选项。估计这个功能还没有更新到我的帐号吧。
今天下午在逛谷奥的时候,又看到了关于这个消息,就又试了一下,已经有Multiple sign-in这个选项了。点击 Multiple sign-in 后面的 Change 链接后,Google 提示这个多账户登入功能目前仅限于 Gmail,Google Calendar ,Google Sites ,Google Reader ,Google Voice ,App Engine 和 Google Code。 启用这个功能后,Google 服务页面顶端你的 Email 地址旁边会出现一个新的下拉菜单,点击即可实时切换 Google 账户。

对我来说,用的最多的也就是Gmail,试着同时登陆了三个Gmail帐号,都是可以正常打开。在我准备登陆第四个的时候,提示我已经达到了限制。看来目前这个多帐户混合登陆功能只能同时登陆三个了,不知道其他人是否遇到类似的问题。

Categories: Google, Network Tags:

Google AdSense 申请状态

August 4th, 2010 No comments

昨天,也就是8月3日,在自立博客看到了篇关于百度推广和Google Adsense比较的帖子,因此决定注册一个Google Adsense帐号先。虽然目前这个小站没什么PV和IP,但这一切都会有滴。。。
首先访问 https://www.google.com/adsense?hl=zh_CN ,用GMail帐号登陆,填写相应信息,最后提交申请。其中基本上还是比较顺利的,就是在填写英文的联系地址的时候多少浪费了点脑细胞。当时提交完成后,提示会在一周内审核完毕。
我是昨天下午申请的,今天下午两点多就收到了名为《Google AdSense 帐户状态》的邮件,提示由于站点所有权问题导致目前尚未通过审核。需要根据邮件的说明创建一个文本文件放到网站目录下,并重新提交申请。
================
感谢您关注 Google AdSense。很抱歉,在审查您的申请后,我们目前无法接受您加入 Google AdSense

我们未批准您申请的原因如下。
问题:- 域名所有权
———————
更多详情:
域名所有权:我们在审核了您的申请,并肯定您网站的质量,在批准您的申请之前,我们需要进一步确认您对该网站 www.askiter.com 的所有权。
================
目前已经重新提交了申请,等结果了。

Update: 2010-08-05 今天下午五点收到确认通过的邮件,已经配置上了。呵呵

Categories: Network Tags: ,

安装插件解决 WordPress 无法发送邮件的问题

August 1st, 2010 No comments

由于服务器配置的问题,WordPress 无法正常发送邮件,在后台配置使用可选的三种邮件发送方式都无法成功。
在网上搜了一下,发现遇到这个问题的人还真不少,后来在一个帖子中看到有不少人在推荐 Configure SMTP 插件,自己也就安装了一下,配置好相应信息(这里我选择了SSL,这样可以提高安全性后)可以成功发送邮件,感觉很不错。
我是同时在两个站点的 WordPress 上同时配置这个插件,本站域名使用的是QQ的企业邮箱服务,配置使用SSL方式(为了安全嘛),测试效果非常好。另外一个站的域名邮箱使用的是网易的域名邮箱服务,对此支持的就有问题。首先,不支持SSL,并且在配置正确的情况下,发送测试邮件时会收到“551 User not local; please try [forward-path]”错误信息,反复多次仍无法解决问题,一气之下直接换到了腾讯企业邮箱,配置完成后,等了10多分钟就OK了。

Categories: Network, WordPress Tags: ,

DarkMailer Check

July 31st, 2010 No comments
PS: 这篇文章是从一个BlackList给我的回复邮件中摘出来的,里面介绍了一些DarkMailer的检查和处理办法,我也懒得翻译了,大家对付着看吧,呵呵。

It will be one of the following scenarios:

1) It’s a NAT firewall, in which case it is a NAT in front of a machine that is infected with spam sending spamware.
2) It’s directly infested with spam sending spamware.

This detection is of the DarkMailer/YellSOFT DirectMailer Spamware.

You can find out more detail on this by doing google searches for “YellSOFT DirectMailer” or “DarkMailer”, including screenshots of the control panel this software installs on your web server (the control panel in Russian).

See, for example,

http://en.wikipedia.org/wiki/Dark_Mailer

http://forums.cpanel.net/showthread.php?p=496217

Note the references to “csf SMTP_BLOCK” and “WHM’s SMTP Tweak”

This detection is that of a spammer who has broken into your web server (usually) via cracked or keylogged FTP credentials.
Once they’ve logged in via FTP, they install perl scripts that do the spamming.  CPanel and Plesk installations are the most common infectees, but others (including Apache) are also subject to this problem. Read more…

Categories: Network Tags: , ,