土豆不好吃

为了你的隐私考虑,别用马克飞象了

文章目录[显示]
这篇文章在 2017年07月11日17:50:23 更新了哦~

是的,你没看错,我标题写的是"别用马克飞象"了。似乎我的博客里从来没有出现过说不要用某个产品的说辞,但是这一次,我觉得必须要说一下了。如果你在意你的隐私,那就别用马克飞象了

那么为啥不要用呢?

太长不看版

HTTP传输。全站HTTPS的行动刻不容缓为 HTTPS 打一场人民战争

起因

今天白天勤快给小蜗牛童鞋的服务器部署了防盗链,用Nginx大概是下面这样的语法:

valid_referers none blocked www.mingyueli.com *.google.com *.baidu.com *.so.com;
if ($invalid_referer) {
rewrite ^/ https://okwbu9s8e.qnssl.com/moon-hotlink2.png;
}

大家可以看到,如果referer不是www.mingyueli.com *.google.com *.baidu.com *.so.com这几个,那么就会被302重定向到一个图片上,实际上这个图片也就是盗链提示的图。

晚上的时候,小蜗牛突然给我发图,问我这个防盗链的图是怎么回事。其实我是没想到这么快发现的好吧。想着新站大概也不会有多少流量、有多少盗链,深感此中必有蹊跷,我就分析了下Nginx的日志打算寻找下原因。

首先过滤下302,大概就是这样的命令吧

cat www.mingyueli.com.log|grep –a '302'

然后我就发现了这么奇怪的一行日志

(出于隐私保护,我把小蜗牛童鞋的IP、UA给打上马赛克了)

果真是有个referer,被Nginx撵走了。但是这个referer这么奇葩,竟然是个IP,是哪的呢?

ip.cn查了下,青岛阿里云,本着好奇的想法就贴到了地址栏,我这么一回车啊……

哎我去?我就想,难道这是小蜗牛童鞋自己搭建了一个markdown服务器?不可能啊超级麻烦的,而且闲的没事干啊?

于是我就nslookup一下马克飞象的官网

当当当!

然而这丫的官网却是带https的,敢情这IP是default_server啊……

进一步调查

我开始觉得马克飞象这玩意不太靠谱,于是果断去官网,下个客户端,安装-wireshark抓包。当然啦,俺平时是开着VPN的,如果这个时候抓包,直接被路由表搞走了,肯定是没啥效果的,所以我暂时关了VPN

反正抓包的过程也简单的,既然咱都知道要过滤的目标IP是115.29.201.173,所以咱就选择网卡,抓,打开马克飞象,随意做点操作,上传个图啊什么的。

之后停止抓包,过滤条件里输入这么个条件一回车:

ip.dst==115.29.201.173

好多TCP,有点干扰,为了过滤掉多余的TCP,再这么一弄过滤条件

ip.dst==115.29.201.173 and http

我擦别逗我,全都是HTTP的,擦,那我写的东西传输过程中指不定变成啥样、指不定被谁看个遍啊……

太没良心了吧我说!default server(也就是http://115.29.201.173/client_zh.html)存在的cookies泄露、中间人啥的我就不说了,这客户端直接明文传,是几个意思啊?明文传也就罢了,host还是default server

HTTPS的通信抓包之后应该是咋样的

拿本博做例子,是酱紫的:

咱能明显的看到有Client Hello、密钥交换过程,在这个交换过程中、交换之后,到底做了啥、主机名是啥,咱是真不知道。只有DNS查询过程中能看见我请求了一个解析。这第三者(包括抓包,本质上也算是"窃听者")想要解密,就没那么容易了。

隐隐约约想起了avast以前会装个自己的根证书,声称是用来解密HTTPS通信、防止一些网页挂马什么的。至于安全性,我是不咋看好。

后续

后来手欠看了下马克飞象的安装包,图标大概是这样的

哎我这不是WinRAR的自解压文件吗?那你要个毛管理员权限啊!在一个test.bat中我发现了这么一句话

为了关联Evernote中的笔记,马克飞象需要向注册表写入配置……

莫非是临时工做的?

总结

所以啊,这玩意快扔垃圾桶吧,http是最不能忍的,一丝一毫都不能忍……全站HTTPS是必须的!全世界最大的黄网pornhub都上https了,咱还有啥理由不拥抱全站https啊?

当然了,有些人大可以说,我不在乎我的隐私,嗯这就好似有些人说"政治与我无关"一样。

然而我个人是非常在乎我的、以及我的访客的隐私,这也是我没有开启评论UA、更别提把地理位置信息啥的暴露给大众的原因。

所以在我为小蜗牛童鞋二次开发的主题中,UA选项选项默认是关闭的(那俺为啥要开发这个功能呢?没事闲的、写点程序练练手、满足一下内心那可怕的心理需求、刷刷存在感呗)的确,我可以通过日志、通过访问统计工具来获得访客的UA等信息,如果我想,我可以分析出来一个人都看了什么(很显然我啥时候闲的有这个功夫了)。但是这只有我才能做到,这也就意味着我需要对访客的隐私负责—— 我需要做好服务器的安全工作,保护日志不外泄,尽管访客可能毫不在意这点。

好吧,说实话,其实我是装有Random User-Agent的……

其他markdown替代品

有人可能会问了,有没有啥markdown替代品啊?嗯,在Windows下我使用markdown pad2,在Linux下我使用Remarkable(这家伙也要出Windows版本的,只是一直是Under development)。

The view has crashed?
如果你使用的是Windows 8及更新版本,markdown pad2可能会有这么一条警告导致无法预览。解决方案很简单,下载awesomium并安装就好啦

更狠一步的解决方案

对于这么嚣张的玩意,我一直是深恶痛绝的,那怎么再以身作则玩一玩呢?

屏蔽马克飞象UA

咦,是不是日志中记录了这么一串UA

Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Marxico/1.0.0 Chrome/47.0.2526.110 Electron/0.36.10 Safari/537.36

那好办了,找到自己的nginx配置文件,server段里加这么一句

if ($http_user_agent ~* (Marxico)) {
return 403;
}

然后重启Nginx

/etc/init.d/nginx reload

就好了,假如要禁止掉多个UA,那就用管道隔开,形如python-requests|Python-urllib|Marxico就可以了。

Nginx屏蔽马克飞象IP

呐,这个很简单,直接来一句deny 115.29.201.173;然后重启Nginx即可。
当然了我这人超级爱黑名单,所以都是新建一个名为blackip.conf,里面写满了那些我讨厌的IP,然后nginx.conf里直接include blackip.conf

UFW/iptables屏蔽马克飞象IP

这个就更暴力了,直接来一句

ufw insert 1 deny from 115.29.201.173 to any

世界清净了

最后的致歉

如果原先的防盗链的图给小蜗牛童鞋造成了困扰,那么深表歉意……我是故意的,有一些事情,大概就是它原本的样子,也许只是内心深处最后的挣扎与冲突吧——如果,没有如果。


文章版权归原作者所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明原作者和本文原始地址:
https://dmesg.app/no-more-maxiang.html
退出移动版