开始配置 我们来配置一个filter表的防火墙.
(1)查看本机关于IPTABLES的设置情况
限制单个IP并发TCP连接的方法适应于保护Linux上的各种TCP服务,使用iptables
中patch-o-matic中iplimit补丁来实现,对各种TCP服务比较通用。
做法:
配置Linux核心,使用2.4.20,并使用www.netfilter.org中patch-o-matic中的
base补丁中的iplimit。编译配置安装新核心。
使用www.netfilter.org的 iptables 1.2.8,安装到系统中。

示例:
1 限制连往本机的telnet单个IP并发连接为2个,超过的连接被拒绝:

iptables -I INPUT -p tcp --dport 23 -m iplimit --iplimit-above 2 -j REJECT  

2 限制连往本机的web服务,1个C段的IP的并发连接不超过100个,超过的被拒绝:

iptables -I INPUT -p tcp --dport 80 -m iplimit --iplimit-above 100 \ --iplimit-mask 24 -j REJECT

iptables应用 不指定

jed , 2011-4-2 00:22 , 服务器技术 , 评论(0) , 阅读(3825) , Via 本站原创

iptables -L -n --line-numbers 查看iptables规则
iptables -D INPUT 5 删除INPUT链上的第5条规则
一。例如:iptables -A INPUT -p icmp -j DROP
所有进来的icmp协议类型的数据包被拒绝。
1.-A 增加一条规则 -D 删除一条规则 -I 插入一条规则 -R 替换一条规则 -F 清空一条规则
2.-p 协议类型 -s 源 -d 目标 -i 进入的接口 -o 出去的接口 -j 跳转(后面跟动作)-m 匹配条件
二。例如:iptables -A INPUT -p tcp -d 10.0.0.1 --dprot 21 -j DROP
协议类型是tcp,目标地址是10.0.0.1且端口为21的数据包被拒绝进入主机。
三。我们做规则要现在INPUT OUTPUT链路上拒绝所有数据包的访问,然后在允许部分安全的数据包进入主机,如下。
author: xy7#80sec.com
from:http://www.80vul.com/pch/

一 描叙

intval函数有个特性:”直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时(\0)结束转换”,在某些应用程序里由于对intval函数这个特性认识不够,错误的使用导致绕过一些安全判断导致安全漏洞.

Vim使用的小技巧 不指定

jed , 2011-4-1 11:17 , 服务器技术 , 评论(0) , 阅读(3728) , Via 本站原创
1. 全局替换
(1) v + G + $ 选定全部,然后输入 :s/原始字符串/目标字符串/
(2) :%s/原始字符串/目标字符串/

2. 清除页面中所有行尾的空白符:
apache方面:

1.编译源代码,修改默认的banner

2.修改默认的http状态响应码404,503等默认页面

3.访问特殊目录需要密码.htaccess

4.关闭索引目录options -Indexes

5.关闭CGI执行程序options -ExecCGI

6.apache限制目录php_admin_value open_basedir /var/www
Tags: , ,

linux shell小技巧 不指定

jed , 2011-4-1 06:55 , 服务器技术 , 评论(0) , 阅读(4511) , Via 本站原创
1.删除0字节文件
find -type f -size 0 -exec rm -rf {} \;

2.查看进程
按内存从大到小排列
ps -e   -o “%C   : %p : %z : %a”|sort -k5 -nr

3.按cpu利用率从大到小排列
ps -e   -o “%C   : %p : %z : %a”|sort   -nr

4.打印说cache里的URL
grep -r -a   jpg /data/cache/* | strings | grep “http:” | awk -F’http:’ ‘{print “http:”$2;}’

5.查看http的并发请求数及其TCP连接状态:
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

6. sed -i ‘/Root/s/no/yes/’ /etc/ssh/sshd_config   sed在这个文里Root的一行,匹配Root一行,将no替换成yes.

7.1.如何杀掉mysql进程:
ps aux|grep mysql|grep -v grep|awk ‘{print $2}’|xargs kill -9 (从中了解到awk的用途)

killall -TERM mysqld

kill -9 `cat /usr/local/apache2/logs/httpd.pid`   试试查杀进程PID

8.显示运行3级别开启的服务:
ls /etc/rc3.d/S* |cut -c 15-   (从中了解到cut的用途,截取数据)

9.如何在编写SHELL显示多个信息,用EOF
cat << EOF
+————————————————————–+
|       === Welcome to Tunoff services ===                |
+————————————————————–+
EOF

10. for 的巧用(如给mysql建软链接)
cd /usr/local/mysql/bin
for i in *
do ln /usr/local/mysql/bin/$i /usr/bin/$i
done

11. 取IP地址:
ifconfig eth0 |grep “inet addr:” |awk ‘{print $2}’|cut -c 6-   或者

ifconfig   | grep ‘inet addr:’| grep -v ’127.0.0.1′ | cut -d: -f2 | awk ‘{ print $1}’

12.内存的大小:
free -m |grep “Mem” | awk ‘{print $2}’

13.
netstat -an -t | grep “:80〃 | grep ESTABLISHED | awk ‘{printf “%s %s\n”,$5,$6}’ | sort

14.查看Apache的并发请求数及其TCP连接状态:
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

15.因为同事要统计一下服务器下面所有的jpg的文件的大小,写了个shell给他来统计.原来用xargs实现,但他一次处理一部分,搞的有多个总和….,下面的命令就能解决啦.
find / -name *.jpg -exec wc -c {} \;|awk ‘{print $1}’|awk ‘{a+=$1}END{print a}’

CPU的数量(多核算多个CPU,cat /proc/cpuinfo |grep -c processor)越多,系统负载越低,每秒能处理的请求数也越多。

——————————————————————————————————————–
16   CPU负载   # cat /proc/loadavg
检查前三个输出值是否超过了系统逻辑CPU的4倍。

18   CPU负载   #mpstat 1 1
检查%idle是否过低(比如小于5%)

19   内存空间   # free
检查free值是否过低   也可以用 # cat /proc/meminfo

20   swap空间   # free
检查swap used值是否过高   如果swap used值过高,进一步检查swap动作是否频繁:
# vmstat 1 5
观察si和so值是否较大

21   磁盘空间   # df -h
检查是否有分区使用率(Use%)过高(比如超过90%)   如发现某个分区空间接近用尽,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录:
# du -cks * | sort -rn | head -n 10

22   磁盘I/O负载   # iostat -x 1 2
检查I/O使用率(%util)是否超过100%

23   网络负载   # sar -n DEV
检查网络流量(rxbyt/s, txbyt/s)是否过高

24   网络错误   # netstat -i
检查是否有网络错误(drop fifo colls carrier)   也可以用命令:# cat /proc/net/dev

25 网络连接数目   # netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n

26   进程总数   # ps aux | wc -l
检查进程个数是否正常 (比如超过250)

27   可运行进程数目   # vmwtat 1 5
列给出的是可运行进程的数目,检查其是否超过系统逻辑CPU的4倍

28   进程   # top -id 1
观察是否有异常进程出现

29   网络状态   检查DNS, 网关等是否可以正常连通

30   用户   # who | wc -l
检查登录用户是否过多 (比如超过50个)   也可以用命令:# uptime

31   系统日志   # cat /var/log/rflogview/*errors
检查是否有异常错误记录   也可以搜寻一些异常关键字,例如:
# grep -i error /var/log/messages
# grep -i fail /var/log/messages

32   核心日志   # dmesg
检查是否有异常错误记录

33   系统时间   # date
检查系统时间是否正确

34   打开文件数目   # lsof | wc -l
检查打开文件总数是否过多

35   日志   # logwatch –print   配置/etc/log.d/logwatch.conf,将 Mailto 设置为自己的email 地址,启动mail服务 (sendmail或者postfix),这样就可以每天收到日志报告了。
缺省logwatch只报告昨天的日志,可以用# logwatch –print –range all 获得所有的日志分析结果。
可以用# logwatch –print –detail high 获得更具体的日志分析结果(而不仅仅是出错日志)。

36.杀掉80端口相关的进程
lsof -i :80|grep -v “PID”|awk ‘{print “kill -9〃,$2}’|sh

37.清除僵死进程。
ps -eal | awk ‘{ if ($2 == “Z”) {print $4}}’ | kill -9

38.tcpdump 抓包 ,用来防止80端口被人攻击时可以分析数据
# tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts

39.然后检查IP的重复数 并从小到大排序 注意 “-t\ +0〃   中间是两个空格
# less pkts | awk {‘printf $3〃\n”‘} | cut -d. -f 1-4 | sort | uniq -c | awk {‘printf $1〃 “$2〃\n”‘} | sort -n -t\ +0

40.查看有多少个活动的php-cgi进程
netstat -anp | grep php-cgi | grep ^tcp | wc -l

chkconfig –list | awk ‘{if ($5==”3:on”) print $1}’
41.kudzu查看网卡型号
kudzu –probe –class=network


<?php
/***********************************
*威盾PHP加密专家解密算法 By:Neeao
*http://Neeao.com
*2009-09-10
***********************************/

$filename="install.php";//要解密的文件
$lines = file($filename);//0,1,2行  
//第一次base64解密
$content=""; if(preg_match("/O0O0000O0\('.*'\)/",$lines[1],$y))
{

$content=str_replace("O0O0000O0('","",$y[0]);    
$content=str_replace("')","",$content);    
$content=base64_decode($content);
}
//第一次base64解密后的内容中查找密钥
$decode_key="";
if(preg_match("/\),'.*',/",$content,$k))
{  
$decode_key=str_replace("),'","",$k[0]);    
$decode_key=str_replace("',","",$decode_key);
}
//截取文件加密后的密文
$Secret=substr($lines[2],380);
//echo $Secret;  

//直接还原密文输出
echo "<?php\n".base64_decode(strtr($Secret, $decode_key, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'))."?>";

?>

google搜索参数详解 不指定

jed , 2011-3-29 00:06 , 搜索优化 , 评论(0) , 阅读(5478) , Via 本站原创
一、认识Google搜索
Google搜索,全球最大搜索引擎,2004年8月在美国纳斯达克上市交易.Google从2000年开始提供中文搜索服务,目前是国内用户使用率仅次于百度的搜索引擎,提供网页、新闻、图片、论坛、本地等各种搜索
1、Google网页搜索的查询参数
服务器上的一些统计数据:

1)统计80端口连接数


netstat -nat|grep -i "80"|wc -l

1

2)统计httpd协议连接数


ps -ef|grep httpd|wc -l

1

3)、统计已连接上的,状态为“established'


netstat -na|grep ESTABLISHED|wc -l

2

4)、查出哪个IP地址连接最多,将其封了.



netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r +0n

netstat -na|grep SYN|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r +0n



最直接的方法如下:



netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'



LAST_ACK 14
SYN_RECV 348
ESTABLISHED 70  (活动连接数,实际正在处理的请求数量,最有意义的一个字段)
FIN_WAIT1 229
FIN_WAIT2 30
CLOSING 33
TIME_WAIT 18122

状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉

也就是说,这条命令可以把当前系统的网络连接状态分类汇总。
Tags: , ,
分页: 29/81 第一页 上页 24 25 26 27 28 29 30 31 32 33 下页 最后页 [ 显示模式: 摘要 | 列表 ]