WEB站点攻防指南(一):wordpress应对基于404攻击的CC攻击

最近几个月,爬虫索引量和网站访问量都有所增加,随之而来的服务器压力也与日剧增。经常出现第二天一早,收到阿里云停服的通知。

目前使用的阿里云的虚拟空间(万网被阿里收购的那部分业务),所说访问量增加,但也不至于一个月被停站4次的强度。

根据发生的时间点(凌晨1点到5点左右),起初,我认为是爬虫爬取频率太高。便更新了rebots.txt的规则,除了几个知名的爬虫(谷歌、百度等),其他全部禁止。——当然,如果遇到流氓爬虫,他们是根本不在乎rebots.txt规则的。

后来,网站还是时不时的被停服,便安装并配置了“All In One WP Security”插件,随后通过这个插件发现了网站被大量注册新账号,造成数据库暴增。幸好“All In One WP Security”有套比较完善的防机器注册的防护功能,被大量注册账号的攻击算是拦截住了。也通过这个插件的防火墙和黑名单机制,尝试阻止恶意IP的攻击,但起效甚微,每天都会有大量404的访问。——起初以为404只是消耗流量,并没有十分关注,只是定期的给黑名单里添加一些IP。

好景不长,没几天,网站还是被攻停了。几次联系阿里云技术人员,排查了些恶意IP(当时发现了大量阿里云的IP,要么是安全检测的IP,要么是肉鸡),也没起到理想效果。在又一次停服后,我不得不降低了百度的抓取频次,起了几天左右,最后还是被停服了。——致此,阿里云一个月四的启动次数被用完了。距离下个月还有十几天~😭

继续阅读WEB站点攻防指南(一):wordpress应对基于404攻击的CC攻击

网站杂病诊疗

预防第一

  1. 启用缓存+静态化,减少重复计算的开销;
  2. 配置CDN加速,把静态资源的压力分摊;
  3. 隔离敏感资源(管理后台、备份文件、日志文件、安装入口等)的访问,防止DOS攻击;
  4. 全站静态化+DNS智能解析,把不同线路的流量分摊到不同服务器上;

预警第二

  1. 设置阀门预警,关注DDOS攻击;
  2. 定期分析日志(流量、404等),及时发现恶意UA和IP;
  3. 及时更新UA黑名单和IP黑名单,阻断后续的攻击;

急诊第三

  1. 闭站保护(这点阿里云做得很好,一天给关了两次😂);
  2. 及时止损(七牛的融合CDN不会自动停止服务,需要在收到预警后,人工干预——把异常IP加入黑名单或者停用服务);
  3. 以恶制恶,在被攻击的现场,把域名解析到127.0.0.1或者192.168.1.1或者网警的IP;

基于webrtc的一对一视频聊天(apprtc)

一、前言

项目作者:https://github.com/webrtc

成品项目:https://github.com/webrtc/apprtc

samples项目:https://github.com/webrtc/samples

搭建过程参考文章:http://www.cnblogs.com/hujihon/p/4991137.html

https://www.jianshu.com/p/c55ecf5a3fcf

说明

此项目为谷歌项目组的官方项目。apprtc为成品项目,可以编译后部署使用。samples项目为webrtc技术点的单独测试。

本文主要介绍apprtc项目的环境搭建与部署。其中“Collider”为服务端,使用GO语言编写;前端项目使用grunt(Nodejs)构建与编译;前端使用Python语言实现( Google App Engine SDK for Python); Google App Engine SDK for Python的环境搭建,需要服务器能够翻墙链接谷歌云服务器(参考文章【ssh+proxychains实现linux服务器的代理翻墙】)。

文章案例使用的服务器为阿里云linux服务,操作系统为ubuntu server 16。

二、获取项目源代码

1.登录服务器并进入指定目录:

通过ssh登录服务器

1.1.更新系统软件包:

sudo apt update
sudo apt dist-upgrade
sudo apt autoremove

1.2.进入当前用户的目录下:

cd (此案例为阿里云的ubuntu server 16,用户目录的绝对路径为"/root/")
2.从github上获取项目源代码:
sudo apt install git
git clone https://github.com/webrtc/apprtc.git

继续阅读基于webrtc的一对一视频聊天(apprtc)

Google App Engine SDK for Python的本地化安装

一、前言

官方文档:https://cloud.google.com/appengine/docs/standard/python/download

由于有些项目依赖于谷歌云服务,项目需要部署在谷歌云上或者把谷歌云环境部署到本地服务器上。

二、本地化安装

1.安装python 2.7

sudo apt install python-2.7 (谷歌SDK暂时不支持python 3)

2.初始化谷歌云SDK

参考原文:https://cloud.google.com/sdk/docs/#linux

2.1.查看python2的版本

python2 --version

2.2.下载谷歌云SDK

cd 
wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-188.0.1-linux-x86_64.tar.gz (需要翻墙,或者本地下载后自行上传)

2.3.解压谷歌云SDK

tar -xzvf google-cloud-sdk-188.0.1-linux-x86_64.tar.gz

2.4.执行谷歌云SDK安装脚本

./google-cloud-sdk/install.sh

2.5.初始化谷歌云SDK

./google-cloud-sdk/bin/gcloud init
3.安装app引擎的python模块
gcloud components install app-engine-python
4.安装git客户端
sudo apt install git
5.安装app引擎python模块扩展
gcloud components install app-engine-python-extras