freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

安全运维 | Perl oneline定位网站攻击源,通过iptables封禁
ijzmesec 2018-02-11 09:00:25 647855

*本文原创作者:ijzmesec,本文属FreeBuf原创奖励计划,未经许可禁止转载

Web网站日常运维运营时候怎么发现攻击,怎们即时阻断未遂的攻击呢?除了高大上的IDS,IPS,其实个人通过简单一些命令小工具通过分析流量,分析访问日志就能发现这种企图?本文举例说明笔者实际中遇到一例子说明利用单行命令实现从攻击发现到解决的思路和整个操作的过程。最后笔者推荐自己研发的一个简单基于访问日志的Waf模块,用来实现自动分析,按阈值来自动封禁攻击企图。

1、攻击发现

在查看网站每日流量信息信息,突然发现一个时间段流量徒增,猜测可能有攻击,记下当时的时间点,并截图:

1.png

这是百度免费cdn的免费统计信息,可见今天早上1点到2点有异常流量。平时对访问日志可以按天进行分割,时常关注日志大小,如果每天日志大小徒增就可以重点关注和分析了。

2、单行命令统计日志定位攻击

(1)分析网站access的日志,分析1点日志

perl -lne '/[16/Feb/2016:01/ and print' access_nginx.log

 2.png

从上图可见这个时间点确实有大量不同寻常的访问,可判断为针对WP xmlrpc.php的攻击。

(2)对来源ip进行定位并统计次数

perl -lne '/[16/Feb/2016:01/ and print'access_nginx.log|perl -lane 'print $F[0]'|sort|uniq -c|sort –n

 3.png

可以明确看到是这两个ip在攻击,根据ip查询来源地都是美国,为非正常访问。

(3)对两个ip单独分析,分析其行为

perl -lne '/141.101.75.65/ and print' access_nginx.log|head-n 10

 4.png

可见,这两个ip先通过搜索文章作者(访问/?author=x),找到用户名,然后通过xmlrpc.php对用户名和密码进行暴力破解。

3、处理和后续扩展

首先对两个ip进行封禁

iptables -I INPUT -s 141.101.75.65 -j DROP

iptables -I INPUT -s 162.158.90.40 -j DROP

由于xmlrpc.php并没有实际中用到,直接删除,或者改名。

当然可以写一个自动处理脚本根据日志判断攻击ip,然后自动封禁,作为一个可持续的方案不错。(见最后推荐的模块,当时就是基于这个思想,开发出的App-Waf这个模块)。

4、关于wp防护建议

平时要多关注官方漏洞信息,随时升级,尽可能的消除安全漏洞。

注意不用系统默认的用户,比如常见的root,admin等都可以改名,设置用户显示别称,这样可以防止用户名直接暴露。

用一些安全插件比如WPSecurty Scan,Better wpSecuriry 等。

可以用一些开源ids,比如snort等。

5、自研Waf推荐

笔者自研了一套Waf系统,可以对非法访问进行统计,结合cron计划任务,支持对synflood 泛洪攻击进行封禁,并自动通过iptables或者nginx进行封禁。欢迎大家试用,并给予反馈和需求。

Github源码地址:https://github.com/bollwarm/App-Waf

码云源码地址:https://gitee.com/ijz/app-waf

 QQ图片20180131092206.png
App-Waf攻击统计截图

*本文原创作者:ijzmesec,本文属FreeBuf原创奖励计划,未经许可禁止转载

# Perl oneline
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 ijzmesec 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
ijzmesec LV.3
这家伙太懒了,还未填写个人描述!
  • 49 文章数
  • 11 关注者
Scapy:用Python编写自己的网络抓包工具
2022-05-10
SSH安全最佳实践
2022-01-07
源代码木马Trojan Source漏洞影响所有语言编译器
2021-11-02
文章目录