使用Tor创建.onion域名网站(创建暗网服务和暗网的网站)

使用Tor 的.onion域名创建匿名服务器
Tor不仅可以提供客户端的匿名访问,Tor还可以提供服务器的匿名。通过使用Tor网络,用户可以维护位置不可知的服务器。当然如果要访问这个隐蔽的服务,客户端也得安装Tor。
通过Tor指定的顶级域名(Top Level Domain,TLD).onion,可以访问其隐藏的服务。Tor网络可以识别自己的TLD,并自动路由到隐藏的服务。然后,隐藏的服务将请求交由标準的服务器软件进行处理,这个服务器软件应该预先进行配置,从而只侦听非公开的接口。如果这个服务还可以通过公共的因特网来访问,那也会受到相关连的攻击,这样就没有真正的隐藏起来。
#################华丽的分割线##########################
我们可以使用tor指定的.onion顶级域名来隐藏自己的服务。接下介绍如果创建一个.onion的网站。
注意:这是一件严肃的事情。为了保证完全的匿名,你必须配置你的web服务器让其足够安全,不会泄露任何信息。而且确保没有错误的网页或者其他泄露你真是IP及其他身份信息的可能。注意安全(额,不是说nsa在监控tor吗?)
一些基本安全提示:
* 不要在这台服务器上运行或做其它事情。
* 在新服务器或 VPS 上进行全新安装。
* 不要保留或运行来自 VPS 提供商那儿的任何服务。
* 用 Paypal 支付你的 VPS 服务,不过最好使用 Bitcoin。
* 不要向 VPS 提供关于你的任何身份信息。
* 不要在这台服务器上运行 Tor 中继,因为 Tor 中继在真实世界的公开 IP 是公开的。
* 不要从这台服务器发送电子邮件。
* 不要运行讨厌的或卑鄙的 web 软件。如果你的 web 软件有管理员登陆或管理员账号,把密码改成复杂的 26 个字符组成的密码。很多 Tor 网站被攻破只是某人猜到了管理员登陆密码。
* 避免使用任何 JavaScript 之类脚本的 web 软件。
* 确保你的 web 应用不会泄露任何错误信息或身份信息,比如在错误信息中的真实公开 IP。
* 审查 web 前端代码,确保它不会从 jquery.com、Google Fonts 或任何外部服务拉取资源。
* 及时做好 VPS 的安全更新。
当然,如果你不是很关心匿名的问题,那么至少保证你的web服务器的安全措施做得好,因为尽管Tor是个好的东西,但是用Tor搭建的网站可能会频繁遭到那些脚本小子的攻击(指那些只会利用别人开发的工具进行攻击的人,这是牛逼的黑客对他们的蔑称)
使用这个教程的前提是你有一个web服务器,可以是apache,nginx或者其他的。
本教程在以下环境进行:
- 一个已经安装了nginx的web服务器
- web服务器端口是8080
- 系统版本Debian Wheezy
第一步:安装nginx(实在不会,就用别人的军哥的lnmp一件安装包吧)
sudo apt-get install nginx
第二步:配置nginx去监听8080端口
sudo vi /etc/nginx/sites-available/default //用vi编辑nginx配置文件
在server段内将listen 后面的数字改成8080 ,和下面一样:
server {
listen 127.0.0.1:8080;
…

然后重启nginx:
sudo service nginx restart
然后在本机试着用 curl 访问 http://localhost:8080 ,一般都装了。没装的自己装下。如果能访问,说明nginx设置完成了
——————————————————————————————————————————
更新下,添加apache和lighthttpd的配置说明:
Apache:
listen 127.0.0.1:8080;
lighthttpd:
listen 127.0.0.1:8080;
server.bind = “127.0.0.1”
记得他们修改配置后也要重启
————————————————————————————————————————————————
第三步:安装Tor
官方对于其他版本的教程地址:https://www.torproject.org/docs/debian.html.en
方法如下:
先修改debian的源的配置文件,然后就可以直接apt-get方式安装tor,省时省力
sudo vi /etc/apt/sources.list //用vi编辑源的配置文件
添加下面一行:
deb http://deb.torproject.org/torproject.org main
然后添加key文件签名,用下面的两行命令:
sudo gpg –keyserver keys.gnupg.net –recv 886DDD89
sudo gpg –export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add –
Tor的官方提供了一个debian的软件包,帮助我们时刻保持签名key的更新同步,用下面命令安装:
sudo apt-get install deb.torproject.org-keyring
配置好后,就可以直接用下面命令安装Tor了
sudo apt-get install tor
默认的dns名称是deb.torproject.org,如果连不上,可尝试下面三个:
- deb-master.torproject.org
- mirror.netcologne.de
- tor.mirror.youam.de
(如果不熟悉debian的源的配置,请自行查阅相关文档)
第四步:修改Tor的配置文件
假设你已经安装好了Tor,下面进项相关的配置
vi /etc/tor/torrc
添加下面两行:
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080

然后保存文件,启动tor
sudo service tor start
当tor启动后,会创建一个私钥在你的hidden_service目录,同时创建你的独一无二的.onion 主机名。
下面是这些文件的呈现的样子。当然,你不应该让任何人看到你的私钥,下面的只是为了展示的目的:
root@starbuck:~# cd /var/lib/tor/hidden_service/
root@starbuck:/var/lib/tor/hidden_service# ls
hostname private_key
root@starbuck:/var/lib/tor/hidden_service# cat private_key
—–BEGIN RSA PRIVATE KEY—–
MIICXAIBAAKBgQC9ymfMgQk12AFT4PXWV+XfmZ1tVDaGajya/jIuwnwtjFdMWe7m
VDWMjs8Z02GGJhH6tIIpoDUrWLi+YchNHlQBi2AnBFzAoSlfRcvobeBAaWuQn+aH
Uzr+xVXOADSIcfgtT5Yd13RKmUEKFV8AO9u652zYP1ss0l+S2mY/J/t/3wIDAQAB
AoGAMjQwcPBRN2UENOP1I9XsgNFpy1nTcor3rShArg3UO1g8X34Kq/Lql1vPfM1l
ps67Qs4tAEXYyraVaAcFrSCwp6MyeKYwxZtT7ki7q3rbMycvbYquxquh0uGy4aed
K8XWjPrUv3yzQSYslOehVWMTH7xTzaOvp5uhpAlHFRqN5MECQQDmpFkXmtfEGwqT
bRbKegRs9siNY6McWBCGrYc/BrpXEiK0j2QcrjC/dMJ4P9O4A94aG4NSI/005fII
vxrOmD9VAkEA0qhBVWeZD7amfvPYChQo0B4ACZZdJlcUd/x1JSOYbVKvRCvJLxjT
5LMwg93jj2m386jXWx8n40Zcus6BTDr6YwJBAKH8E0ZszdVBWLAqEbOq9qjAuiHz
NH+XqiOshCxTwVOdvRorCxjJjhspGdvyl/PJY5facuShuhgI13AlJ+KpMvECQHDJ
l1lzw1bPc2uLgUM8MfHj7h8z+6G4hAQODmaZHVaDK8XzL59gyqqrajFgTyOM9emm
n89w6flcxe9a+41mEoMCQBaM91yvrfp7N9BeDMCHlSDfAzX7sDqQn44ftHvZZI9V
4IouuRuLlqN0iaw4V73v3MUeqXoasmdeZ89bVGhVrC8=
—–END RSA PRIVATE KEY—–
root@starbuck:/var/lib/tor/hidden_service# cat hostname
juyy62wplbkk7gzy.onion
root@starbuck:/var/lib/tor/hidden_service#
第五步:用浏览器访问的.onion的域名,看是否成功

介绍:请勿用于非法用途,本文仅供技术交流学习探讨。本文部分资源来源于网络,如有侵权请联系版主删除。
使用Tor创建.onion域名网站(创建暗网服务和暗网的网站)的更多相关文章
- Tomcat配置及网站创建教程(IDEA)
Tomcat在本机的配置 解压 解压Tomcat压缩包后就算安装完成,解压完成生成文件夹 配置环境变量 1.配置JAVA_HOME 控制面板--系统--查看高级系统设置--环境变量--系统环境变量 新 ...
- github关联域名,创建个人站点教程终结篇
1.背景 近期心血来潮,买了一个域名,本来要买fuckgfw的,没想到被抢注了.就拿自己的英文名买了一个.叫做www.garvinli.com.由于知道会有非常多朋友不太清楚整个站点搭建的过程,所以在 ...
- Oracle创建表空间、创建用户以及授权
Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库. 为了避免麻烦,可以用’Database Configuration Assistant’向导来创建数 ...
- Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理
摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■ 详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...
- Oracle数据库,用户的创建及表的创建
安装完成之后,打开浏览器,输入https://127.0.0.1:1158/em 链接至登录数据库界面 用户名:sys 口令为安装时设置的密码(一定牢记) 链接身份为:SYSDBA(以系统管理 ...
- [转]C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe
写在前面 原文地址:C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe 这篇文章躺在我的收藏夹中有很长一段时间了,今天闲着没事,就自己动手实践了一下.感觉 ...
- WCF调用时提示错误 "已尝试创建到达不支持 .Net 框架的服务的通道。可能遇到 HTTP 终结点"
一个以前运行的很正常的项目,某天突然无法连接WCF构建的后台.使用WCFTestClient连接到服务是正常的,但是调用服务中的方式时就报出了以下错误: 已尝试创建到达不支持 .Net 框架的服务的通 ...
- Oracle11g 创建表空间、创建用户、角色授权、导入导出表以及中文字符乱码问题
前提:本机已经安装了Oracle11g数据库. 需求:使用PL SQL数据库连接工具操作Oracle数据库 一.创建表空间和用户 想要操作数据库,首先需要创建用户并给用户授予权限:在创建用户 ...
- Oracle11g创建表空间、创建用户、角色授权、导入导出表以及中文字符乱码问题
[转载]原文地址:https://www.cnblogs.com/bjh1117/p/6605037.html 前提:本机已经安装了Oracle11g数据库. 需求:使用PL SQL数据库连接工具操作 ...
随机推荐
- 迫不及待地体验了一把 C#8.0 中的可空引用类型(Nullable Reference)
在我之前的一篇博客 NullReferenceException,就不应该存在! 中,我吐槽了 C# 中 null 的弊端以及避免 null 的方法:事实上这本都是现代高级语言中极力推崇的做法.Kot ...
- 20165222 实验三 敏捷开发与XP实践
实验内容: 1.XP基础 2.XP核心实践 3.相关工具 二.具体实验内容 (一)代码规范格式化 总结:感觉就那个Code->Reformate Code代码重新格式化最好用,其他的我都点了下, ...
- flask第十八篇——模板【2】
请关注公众号:自动化测试实战 上一节我们介绍了模板的基本使用方法,现在我们想一个问题,如果把index.html放到template文件夹下面的文件夹该怎么办呢?其实很容易,当文件夹结构如下图所示时: ...
- 洛谷 P3802 小魔女帕琪
传送门 题目大意:7个东西,每个有ai个,只有选7次 把7个东西都选到了才行. 题解:7!排列数*每次选择的概率 代码: #include<iostream> #include<cs ...
- oracle之 oracle database vault(数据库保险库)
在12c建库中 Database Vault 与 Label Security 选项,之前没有留意过,特意记录一下 12.1 中: 12.2 中: 转载:http://www.linuxidc.co ...
- requireJS多页面应用实例
本文是requireJS的一些知识点的总结,配上多页面应用中的实例分析. 本案例的目录结构如下: requireJS API的三个主要函数:define(创建模块),require(加载模块),con ...
- if的用法
if用法举例:求分数的等级 # include <stdio.h> int main(void) { float score; //score分数 printf("请输入您的考试 ...
- 贴几个erlang文档站点
国外三方的文档,比较全, http://erldocs.com/ 这个貌似是国内的版本,不是很新 http://erldoc.com/ 国内dhq大神的,也不是很新 http://dhq.me/erl ...
- Linux Shell read命令
linux read 用法 1.基本读取 read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说).得到输入后,read命令将数据放入一个标准变量中.下面是 read命令 的最简单形 ...
- appium+python自动化28-name定位
前言 appium1.5以下老的版本是可以通过name定位的,新版本从1.5以后都不支持name定位了 name定位报错 1.最新版appium V1.7用name定位,报错: selenium.co ...