Oct18

【原创】百度云加速使用分享

Author: leeon  Click: 325   Comments: 0 Category: 网络  Tag: 百度云加速,百度安全

使用百度云加速一年多,有优点也有不少缺点。依据本人真实使用经验分享,不是软文,根据你网站自身情况来选择是否使用百度云加速。

先说说优点:

1. 机房分布确实很广泛,抗ddos和cc攻击效果有效。

2. 静态缓存cdn效果不错,可控制粒度尚可。

3. 常规的7层攻击基本能检测到,同时可拦截,当然也有很多没有被拦截到,你问我是怎么知道的,因为我后面还有阿里云的WAF安全监测。

4. 大型CC攻击时会自动开启超强防护模式提供验证码拦截方案,对于防护后端程序有效果,但是也有很多时候出现验证码输入正确后还是无法正常访问的问题。

再说说缺点:

1. 2017年10月份开始不管收费还是免费都按照日流量限制,没有以前那么高的性价比。

2. 对于流量较大的网站会偷偷植入第三方有米移动广告平台的推广广告js,不过这个行为百度云加速官方会偷偷的做,一般很难发现,大家如果使用免费的云加速要注意了。如下是曾经发现被百度云加速故意嵌入的js脚本:

3. 百度云加速有可能在不通知你的情况下故意停掉你的接入解析,同时清理掉你的所有相关配置项,相当于把你的账号清零。当然前提是他们所认为的可能违背网络安全管理法相关的问题。所以如果你的服务要保证高可用,不管买最贵的企业版还是最便宜的专业版,我还是不推荐你使用百度云加速的服务了。

4. 百度云加速虽然是分布式集群方案,但是我们也遇到了他们服务器故障的情况,当他们集群故障后,他们的DNS解析到新IP的时间有可能超过15分钟。

5. 即是你是收费的版本也有可能存在访问接入故障的问题,我们有检测百度站长平台的爬虫统计,有一定概率的爬虫请求失败,爬虫获取的HTTP状态码是524(524是CloudFlare的状态码,大家都知道云加速和CloudFlare之间的关系),但是我们根据爬虫失败的时间查看我们网站原始的nginx日志,却发现返回的状态码是正常的200。如果你的网站需要对爬虫非常友好,那么云加速的收费版本也不一定能帮你多少。

6. 对于收费版本的云加速提供的HTTPS服务,建议大家还是不要用的好,毕竟证书不是那么的可靠和安全,当然专业版目前看是不让你指定你自己的证书的。

Sep15

【原创】关于百度统计被武汉电信劫持的问题

Author: leeon  Click: 307   Comments: 0 Category: 网络  Tag: 百度统计

最近使用武汉电信老是会在wap的页面上弹出“”“曝光APP”的底部广告,这APP指向的网址是www.chudianyun.com,

抓包分析是hm.baidu.com这个网页统计接口被HTTP劫持。


这个劫持够狠的,那么多使用百度统计的,直接修改百度统计js,指向到广告js地址然后插入到wap页面中去,提醒广大使用百度统计的站长将http的统计更换为https。百度的统计代码默认给的是"//"这样的地址,它会随你网页是http还是https自适应,如果你只使用了http协议,那么就强制百度的统计代码引用为https吧,避免被武汉电信的HTTP流量劫持给插入广告.

May19

【原创】阿里云VPC网络下频繁TCP Retransmission故障排查

Author: leeon  Click: 1006   Comments: 0 Category: 网络  Tag: aliyun,tcp,retransmission,vpc

最近将一个业务迁移到阿里云VPC虚拟专网下,但是迁移后发现从公司网络下访问阿里云的80端口业务频繁出现连接不通的问题,抓包发现存在大量从公司IP到阿里云虚拟专网IP的TCP Retransmission出现。


从图中可以看到从我们办公网络访问80端口大量SYN重传,这也就是说在三次握手的第一步中就被重传了。换言之在主动发起SYN后如果没有收到服务器放的ACK确认,就会导致重传的发生,因为客户端机器认为远程机器没有收到包,而发生重新发送SYN包的事件。

既然在服务器上抓包能捕获SYN的请求,那就说明服务器端接收到了请求但是没有回应ACK包,于是想起了以前nat环境下tw_recyle的坑,当多个客户端使用同一个外网IP通过NAT访问内网服务器的时候,服务器如果在内核参数中打开了net.ipv4.tcp_tw_recycle = 1

就有可能导致服务器收到SYN但是不会向客户端发送SYN+ACK包。因为打开recyle参数后会识别这些包的时间戳(net.ipv4.tcp_timestamps = 1),但是nat过来的数据包又因为时间戳有可能不是顺序的,导致服务器认为包不可信而丢弃。

故当我们在使用阿里云的VPC虚拟专网的时候,使用弹性IP接入,一定要注意NAT的问题,在服务器参数上关闭net.ipv4.tcp_tw_recycle。 否则从一个ip来的不同客户端请求很有可能导致大量请求失败

Feb4

【原创】在树莓派3上给Nginx部署免费HTTPS证书

Author: leeon  Click: 1111   Comments: 0 Category: 网络  Tag: https,nginx,certbot,ssl

    自从家里的电信ADSL好几年前封锁80端口后,http服务已经不能用来作为公网服务直接访问了,但是电信对443端口并没有屏蔽,我们可以通过配置https服务来提供公网服务。最近炒的火热的Let's Encrypt免费CA服务提供商,刚好趁着苹果强制ATS的东风横空出世,得益于Mozilla的支持将免费SSL证书全民普及的概念广而告之,自从去年沃通的免费证书关停等等一系列免费的ssl证书被停止服务,这证书刚好拿来耍耍,体验一下。

   使用Let's Encrypt的免费ssl需要安装官方提供的certbot脚本,这个脚本需要安装树莓派的backports源,我们需要增加对backports源的支持。

修改/et/apt/sources.list文件,在末尾添加

deb http://ftp.debian.org/debian/ jessie-backports main contrib non-free

然后还需要安装debian-keyring,debian-archive-keyring 两个包才能正常,否则在添加backports源后会提示

W: GPG error: http://ftp.debian.org jessie-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010


执行如上步骤后,最后执行一次apt update来更新源。

接着我们就可以按照官方提供的文档进行操作了。

[code="bash"]
$ sudo apt-get install certbot -t jessie-backports
[/code]

安装certbot工具包成功后,如果想单独生成ssl证书,使用standalone模式即可。certbot也提供了几种不同的生成模式:

Plugin Auth Inst Notes Challenge types (and port)
apache Y Y
Automates obtaining and installing a cert with Apache 2.4 on
Debian-based distributions with libaugeas0 1.0+.
tls-sni-01 (443)
webroot Y N
Obtains a cert by writing to the webroot directory of an
already running webserver.
http-01 (80)
nginx Y Y
Automates obtaining and installing a cert with Nginx. Alpha
release shipped with Certbot 0.9.0.
tls-sni-01 (443)
standalone Y N
Uses a “standalone” webserver to obtain a cert. Requires
port 80 or 443 to be available. This is useful on systems
with no webserver, or when direct integration with the local
webserver is not supported or not desired.
http-01 (80) or tls-sni-01 (443)
manual Y N
Helps you obtain a cert by giving you instructions to perform
domain validation yourself.
http-01 (80) or dns-01 (53)
certbot生成的证书会存在在/etc/letsencrypt/live/(设置证书时绑定的域名目录)下。Let’s Encrypt CA证书仅提供90天有效期,故在此过期时间之前需要定期重新生成一次证书。

在执行certbot renew命令时候程序会自动判断是否过期,但我们可以通过添加--dry-run命令来模拟生成新证书。

如果需要强制重新生成证书则添加 --force-renewal参数执行,但请不要频繁的重新生成证书,这样会受到请求频率限制。

certbot成功生成的文件有四个:

cert.pem 主要针对Apache<2.4.8版本的证书文件

chain.pem 主要针对Apache<2.4.8版本的证书文件

fullchain.pem 证书文件,对应nginx中的ssl_certificate 参数配置,对应Apache >= 2.4.8配置中的SSLCertificateFile参数

privkey.pem 证书的私钥文件,对应nginx配置中的ssl_certificate_key 参数配置 ,对应apache配置中SSLCertificateKeyFile参数

分类

标签

归档

最新评论

leo在17:57:04评论了
shell中使用while循环ssh的注意事项
呵呵哒啦在15:06:33评论了
【原创】最佳PHP框架选择(phalcon,yaf,laravel,thinkphp,yii)
jayden在23:39:32评论了
shell中使用while循环ssh的注意事项
ligaofeng在11:55:22评论了
file_get_contents超时问题的解决方法
我也不知道叫个啥好在00:59:46评论了
shell中使用while循环ssh的注意事项

我看过的书

链接

其他

访问本站种子 本站平均热度:6343 c° 本站链接数:27 个 本站标签数:431 个 本站被评论次数:89 次