MENU

网站nginx访问日志分析

起因

(正在复习三门考试的我又来摸鱼写文章了而且还不是基础文章的更新,哦~这该死的地心引力)

复习的时候带电脑真的容易摸鱼。。正在摸鱼浏览我的为之笔记保存的文章时

看到了一篇保存了很久的写的很好的日志分析文章:shell在手分析服务器日志不愁?

今天根据这篇文章简单地分析下网站访问日志和服务器访问日志,看看网站安全防护有哪些做得不够的地方

分析

下载日志

由于我用MobaXterm连接服务器的shell时,发现一会不操作就直接掉线了,干脆把日志下载回来用Ubuntu分析

在这里顺便推荐下MobaXterm这个Windows全能终端神器,我的入坑文章:Windows全能终端神器—MobaXterm

本来想在工具分享目录写一篇关于这个的文章,但是自己也没那么多的服务,大家看看上面的入坑文章就好

当然像我这种小白使用的就是吾爱破解的“汉化版”,现在用的版本是hx77890大佬汉化的v11.1 Bulid 3860

点我去原帖下载,有能力的话还是支持一下正版,汉化版长这个亚子:

网站的访问日志一般在/www/wwwlogs目录下,打开目录:

可以看到一个以网站名字命名的log和一个access.log,前者是网站的日志,后者是访问日志

网站日志大概长这样:

分析

(命令行分析的参数的解释后面会补上)

日志下载好放到ubuntu中:

开始分析网站的日志

查看有多少个ip访问:

awk '{print $1}' soapffz.com.log|sort|uniq|wc -l

将每个IP访问的页面数进行从小到大排序并查看访问最多的30个ip:

awk '{++S[$1]} END {for (a in S) print S[a],a}' soapffz.com.log | sort -n | tail -n 30

使用我上一篇文章:Python--批量查询ip地址中的脚本,查询如下:

当然看访问量最大的ip不止这一种方法:

awk '{print $1}' soapffz.com.log |sort -n -r |uniq -c | sort -n -r | head -20

查看某一个ip访问了哪些页面,这里就选除了腾讯云等企业之外访问最多的ip

grep ^140.207.120.100 soapffz.com.log| awk '{print $1,$7}'

可以看到这位来自上海的大兄弟尝试访问了/wp-login.php/store/wp-includes/wlwmanifest.xml

等常见wordpress的敏感页面,而且只访问了这两个,看起来不像扫描器扫描的

查看访问次数最多的20个文件或页面:

cat soapffz.com.log|awk '{print $11}'|sort|uniq -c|sort -nr | head -20

soapffz.com.log看得差不多了,来看看access.log

查看访问最高的ip

查看ip的地址:

查看访问次数第一的ip访问了哪些端口:

幸好我打开日志看了一眼,前面说的访问的页面只包括网址:端口后面的内容,这个59.36.132.140

来自广东省东莞市 电信的大兄弟一直在爆破我的888端口啊,soapffz.com.log重新看了一下没发现这个问题

888端口是phpmyadmin端口,可能是前面我自己po出端口来被盯上了吧

既然这位大兄弟喜欢爆破,那我就(大gif预警):

::quyin:1huaji::

加油,大兄弟!

总结

简单总结一下,只开自己需要的端口

如果是常见必须开的端口,那也要用安全措施,以下为我做的措施:

  • 安装完博客框架后,删除install文件夹及其他配置文件
  • 关闭或删除不需要的端口
  • SSH使用私钥连接
  • 宝塔等面板使用安全入口登录,修改登录路径
  • 使用腾讯云等的web安全防护工具
  • 检测网站异常访问ip并自动封禁

本文完。

最后编辑于: 2019 年 07 月 13 日