服务稳定性及应用防攻击方案

一、 服务稳定性

1. 基本监控

基本监控推荐使用Zabbix,开源分布式企业级监控系统,能满足目前我们监控的需求

a.  系统监控,包括CPU、内存、磁盘、网络等,能够对系统级别的风险进行报警,目前已经实现并线上运行
b.  服务进程及端口监控,能够监控服务异常退出,目前已经实现并线上运行
c.  自定义脚本程序模拟接口登陆访问结合Zabbix监控日志文件功能,能够对自定义的错误进行报警,目前已经实现并线上运行
d.  以上默认系统监控会自动添加,服务进程端口及自定义监控有需要时添加

2. 日志收集

日志收集推荐使用Elastic Stack协议栈,可以满足收集海量日志需求,而且便于后续分析、报表、报警操作

a.  日志包括服务正常访问日志及错误日志
b.  访问日志可以收集客户端IP、响应时间、HTTP状态码、发送字节、Referer、Agent等,也可以自定义字段
c.  错误日志可以收集自定义字段错误字段,例如登陆失败、连接超时、后端无响应等
d.  以上需要提前准备好日志及定义好日志字段

3. 指标分析

a.  访问日志指标,例如HTTP状态码统计、响应时间分布、其他字段统计
b.  错误日志指标,例如一段时间内某某错误出现的次数、一段时间内各项错误比例分布、错误出现趋势、错误出现时间、错误出现区域等
c.  以上都可以通过Elasticsearch支持的Lucene语言或者Kibana Dev Tools编辑DSL语言进行精确或模糊匹配来分析

4. 报表制作

a.  Kibana通过visualize及dashboard来实现饼图、趋势图、表格、直方图、地图、Metric、热力图、Markdown等形式的报表
b.  Grafana结合Data Sources及Plugins来实现饼图、趋势图、直方图、Html等形式的报表

5. 异常报警

a.  Elastalert通过Elasticsearch Python API编辑报警策略实现报警,例如一段时间内匹配某项DSL语法结果出现的次数大于或小于某值报警、两段对比时间段内匹配结果的值对比后大于或者小于某一基数、一段时间内匹配的值进行聚合运算后大于或小于某值报警、其他自定义语法获得结果异常报警
b.  Grafana可以对趋势设置Alert阈值并通过邮件报警
c.  以上工程量都比较大而且难度系数也不小但都能实现

二、应用防攻击

1.主要是基于Nginx与Iptables实现(目前CLB不支持这些配置)

a.  限速
利用ngx_http_limit_conn_module及ngx_http_limit_req_module模块,首先在http区域里定义好限速限制连接数策略,再在具体的域名上使用,具体限速及限制连接数需要根据实际情况评估,超过的连接会默认直接返回503不转发到袁征
b.  屏蔽IP
方法一使用ngx_http_access_module模块allow、deny控制,缺点是通过remote_addr来屏蔽IP的,支持CIDR等格式地址
方法二使用自定义客户端IP变量$clientRealIp来屏蔽,IP需要写成正则形式的,支持IP穿透,所以通过CDN的域名这种方法也能生效
方法三自定义屏蔽IP,结合Elasticsearch查询异常IP可自动化屏蔽IP,前两种方法易于实现但是只能手动屏蔽
c.  屏蔽reffer
例如屏蔽某些流氓网站友情链接
d.  屏蔽agent
例如屏蔽爬虫agent
e.  屏蔽url
例如屏蔽有漏洞url禁止外部访问
f.  其他自定义
设置故障域,怎样都防不住可以通过error_page功能,转发流量到备用源站

2.第三方腾讯云产品通过网站管家WAF与大禹BGP高防包实现

a.  网站管家WAF高级版放在CLB前面
b.  大禹BGP高防放在WAF前面

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

负载恶意软件HawkEye的VB Inject样本分析

恶意软件HawkEye的利用大多都是通过钓鱼邮件分发,利用office直接启动HawkEye主体或者一些经过加密的程序,本文中的VB Inject属于后者,也把...

861
来自专栏用户2442861的专栏

使用ThinkPHP框架快速开发网站(多图)

http://blog.csdn.net/ruby97/article/details/7574851/

2.5K2
来自专栏北京马哥教育

在Python中使用Elasticsearch

在这篇文章中,我将讨论Elasticsearch以及如何将其整合到不同的Python应用程序中。

3740
来自专栏运维

服务稳定性及应用防护方案

日志收集推荐使用Elastic Stack协议栈,可以满足收集海量日志需求,而且便于后续分析、报表、报警操作

1291
来自专栏公有云大数据平台弹性 MapReduce

EMR上Zeppelin入门

简而言之,就是一个大数据分析平台。用户可以利用提供好的WEB UI,在线编写分析逻辑代码,输出结果,并且能够利用可视化工具,形象生动的在线展示结果。

1871
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用wrk对HTTP延迟进行基准测试

本文重点介绍称为开源HTTP基准测试工具WRK,它可以在高负荷下测量HTTP服务的延迟。

4570
来自专栏Web项目聚集地

Javascript中的异步

832
来自专栏漫漫前端路

写个 vue-loading-template 组件

源码(star ? start : start):github.com/jkchao/vue-…

4382
来自专栏Sorrower的专栏

内核必须懂(一): 用系统调用打印Hello, world!

1755
来自专栏owent

理解Raft算法

之前已经有Paxos算法,用于解决分布式系统最终一致性问题,而且已经有了zookeeper这个成熟的开源实现。那么这个Raft算法有啥用呢?按照Raft官网的说...

5233

扫码关注云+社区

领取腾讯云代金券