github

使用 GitHub 的几种方式——兼谈安全性和隐匿性的经验

来源:https://program-think.blogspot.com/2016/03/GitHub-Security-Tips.html文章目录★本文面向哪些读者?★本文的必要性及重要性★阅读本文的前提——需要先了解哪些知识?★使用 GitHub 的两种方式★Client 方式支持哪些协议?★上述几种客户端协议的优缺点对比★如何用 SSH 方式操作 GitHub 的项目?★使用代理的必要性/重要性★针对不同的 Git 使用方式,如何配置代理?★其它注意事项  先告诉大伙儿一个好消息:  前几天俺把《太子党关系网络》开源到 GitHub 之后,头两天就获得大量网友的关注,以至于俺这个项目至少连续两天排到了 GitHub 的“每日 Trending”(这个排名汇总的是:每一天全球关注程度最高的那几个项目)  非常感谢捧场的 GitHub 用户!!!★本文面向哪些读者?  俺在博客上不止一次提到过,GitHub 是可以【免翻墙】使用的,而且这个网站/公司的管理层,相对来说还是比较靠谱的,不会轻易向咱们朝廷妥协。  因此,GitHub 非常适合用来搞一些敏感的活动(比如:提供翻墙工具、对朝廷/权贵的爆料、等等)  比如俺就利用 GitHub 开源了《太子党关系网络》,并提供下载。  如果你想用 GitHub 这个平台开发翻墙工具,本文值得你参考。  亦或者你也想效仿俺,在 GitHub 上进行反党活动/反政府活动,那本文更加值得你参考。★本文的必要性及重要性  先举个反面教材,来说明本文的必要性及重要性。  前些年有一款很知名的翻墙工具叫做“Shadowsocks”。这个工具是开源在 GitHub 上的,用的人很多。  但是该项目的作者 clowwindy 非常缺乏安全意识,【没有】做好身份的隐匿。结果捏,大约半年前,项目作者 clowwindy 被六扇门叫去喝茶。期间估计受到相当程度威胁恐吓,以至于 clowwindy 后来把 GitHub 上的项目关闭了。★阅读本文的前提——需要先了解哪些知识?  俺假定本文的读者已经了解如下几个方面的知识:版本管理系统的基本概念Git 的基本概念GitHub 的基本使用(至少已经注册过帐号)Git 客户端的基本使用Linux 或 Mac OS 命令行的基本使用常见翻墙工具的基本使用(不懂的同学,可以看俺博客上的各种教程)TOR 的使用(本文会重点聊到 TOR,俺写的 FAQ 在“这里”)★使用 GitHub 的两种方式◇B/S 方式——基于浏览器  这是最基本的使用方式。只要你注册过 GitHub 帐号,自然就知道如何用浏览器访问它。  这种基于浏览器的方式,有时候也称之为“Web 方式”。◇C/S 方式——基于客户端软件  除了浏览器方式,你还可以通过 Git 客户端软件来操作 GitHub 上的代码仓库。这种方式称之为“客户端软件方式”(为了打字省力,以下简称“Client 方式”)◇这两种方式的对比  B/S 方式最大的好处是:无需安装额外的软件(通常而言,你的系统中已经有默认的浏览器可供使用)。  B/S 方式的另一个好处是:GitHub 几乎所有的功能,都可以在浏览器界面上搞定。  但是 B/S 方式也有如下一些缺点:  1. 安全性  如果你经常在某个系统的某个浏览器上操作你的 GitHub 帐号。一旦该系统被入侵,很可能导致你的 GitHub 帐号也被入侵。  2. 易用性  有些大批量的操作,在 Web 界面上不太好搞。比如俺前几天上线的项目“太子党关系网络”,里面涉及到上千个文件(包括文本文件,图片文件)。如果通过 Web 界面进行批量操作(添加、删除、改名),就会很麻烦。  相比之下,“Client 方式”正好可以弥补“Web 方式”的这几个缺点。至于如何弥补,下面会聊到。★Client 方式支持哪些协议?  当你通过“client 方式”访问 GitHub 的服务器,可以走几种不同的协议。下面俺简要聊聊。◇Git 协议  此种协议,顾名思义,是 Git 专有的协议。除了用于 Git 客户端与服务端之间的通讯,其它场合用不到它。  注意:Git 协议本身是明文的(无加密)。◇HTTP/HTTPS 协议  HTTP 协议,大伙儿应该都熟悉,俺就不浪费口水了。  HTTPS 协议,通俗地说就是:“加密的 HTTP”。如今很多网站都开始支持 HTTPS(包括俺博客所在的 Blogspot,从去年10月也开始支持 HTTPS)。大伙儿对它应该也不陌生。◇SSH 协议  这个协议,对技术菜鸟可能比较陌生。这玩意儿,早先是 Unix 系统管理员用来远程管理服务器的。  SSH 是“Secure Shell”的缩写。显然,这玩意儿是加密的。★上述几种客户端协议的优缺点对比◇Git 协议  前面说了,此协议【没有】加密。如果你关注安全性,不应该用它。  首先,明文传输的协议,很容易遭受“旁路嗅探”(sniffer)——导致你丧失数据的【保密性】;  其次,明文传输的协议,很容易在传输过程中被修改(恶意篡改)——导致你丧失数据的【完整性】。◇HTTP 协议  明文的 HTTP 协议,同样【不】应该使用。理由同上,不再罗嗦。◇HTTPS 协议  HTTPS 是加密协议,避免了前两个的弊端。  它还有如下几个优点:  1

阅读更多

奇客资讯|Google眼里的网络大炮

代码托管网站GitHub上个月底遭到了DDoS攻击,攻击者劫持百度脚本替换恶意代码利用访问中国网站的海外用户对GitHub发动大规模分布式拒绝服务攻击。这一切当然没有躲过Google的监视,Google安全博客发表文章指出,JS劫持攻击最早发生在三月初而不是我们以为三月中下旬。Google的Safe Browsing系统在虚拟机里扫描网站寻找恶意内容,它每天分析数百万网页。Google工程师分析了3月1日到4月15日之间的数据,发现Safe Browsing第一次探测到百度域名的内容劫持是发生在3月3日,最后一次是在4月7日。攻击的执行分为多个阶段,第一阶段是测试,时间是在3月3日到3月6日,测试目标IP 114.113.156.119:56789(北京电信通),请求次数被人为设限;3月4日到6日,请求限制被移除。第二阶段是在3月10日到13日,最早的目标IP 是203.90.242.126(香港),请求一开始是通过HTTP,之后升级到HTTPS。3月14日开始同时通过HTTP和HTTPS攻击d3rkfw22xppori.cloudfront.net(greatfire.org利用亚马逊cloudfront搭建的一个屏蔽网站镜像),3月17日攻击停止。3月18日,更多cloudfront镜像域名成为攻击目标。JS内容替换在3月20日完全停止,但HTTP注入在继续。JS内容替换会破坏原内容功能,但HTTP注入不会。对cloudfront主机的攻击在3月25日停止,Github成为新的攻击目标。3月26日,百度的明文脚本被拦截替换了一个恶意JS代码,攻击github.com/greatfire/和github.com/cn-nytimes/,4月7日攻击停止。Google称,有8个百度域名遭到劫持,被注入不同大小的JS代码。Google认为,全面启用HTTPS加密将能防御此类攻击。

阅读更多