为您的暗网洋葱onion域名配置TLS证书

很长一段时间,我(kushaldas.in)想为我的博客的onion域名创建一个HTTPS认证证书。Digicert是长期以来唯一提供暗网onion域名认证的CA,但是成本很高,只适合大的公司或者组织使用,但是我个人不适合,尤其是由于成本原因。

为您的暗网洋葱onion域名配置TLS证书插图

几天前,在IRC上,我发现 Harica为暗网洋葱站点提供Domain验证证书,费用约为每年30欧元。我就抢着去办了一个,同时, ahf也在弄他的证书,他帮助我进行了Nginx的配置。

如何获得自己的证书?

  • 确保您的网站以Tor v3洋葱服务运行
  • https://cm.harica.gr/上创建一个帐户
  • 进入左侧栏的服务器证书,对你的域名进行新的申请,按照表格中的要求提供洋葱地址。
  • 它将为你提供上传CSR证书签名请求的选项。你可以通过openssl req -newkey rsa:4096 -keyout kushaldas.in.onion.key -out csr.csr生成一个。对于通用名,请提供相同的onion地址。
  • 单击网站后,它将要求您下载文件并将其放在目录内的Web根目录.well-known/pki-validation/中,请确保可以通过Tor浏览器访问文件。
  • 当您单击最终提交按钮时,系统将花费一些时间来验证域。付款后,您应该可以完整下载证书(以.p7b结尾的文件)。网页上有3个选项,因此请记住下载正确的文件:)
  • 您将不得不将其转换为PEM格式,我使用了ahf提供给我的命令: openssl pkcs7 -inform pem -in kushaldas.in.p7b -print_certs -out kushaldas.in.onion.chain.pem -outform pem

设置nginx

这一部分和其他标准的nginx配置一样。以下是我使用的配置。请在确定一切正常后,取消对Strict-Transport-Security头行的注释。

server {
	listen unix:/var/run/tor-hs-kushal.sock;
    server_name kushal76uaid62oup5774umh654scnu5dwzh4u2534qxhcbi4wbab3ad.onion;
    access_log /var/log/nginx/kushal_onion-access.log;
    location / {
	return 301 https://$host$request_uri;
    }

}

server {
    listen unix:/var/run/tor-hs-kushal-https.sock ssl http2;
    server_name kushal76uaid62oup5774umh654scnu5dwzh4u2534qxhcbi4wbab3ad.onion;
    access_log /var/log/nginx/kushal_onion-access.log;
    ssl_certificate /etc/pki/kushaldas.in.onion.chain.pem;
	ssl_certificate_key /etc/pki/kushaldas.in.onion.open.key;
    #add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
	add_header X-Frame-Options DENY;
	add_header X-Content-Type-Options nosniff;
    # Turn on OCSP stapling as recommended at
    # https://community.letsencrypt.org/t/integration-guide/13123
    # requires nginx version >= 1.3.7
    ssl_stapling on;
    ssl_stapling_verify on;

    # modern configuration. tweak to your needs.
    ssl_protocols TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_prefer_server_ciphers on;
	index index.html;
	root /var/www/kushaldas.in;
	location / {
		try_files $uri $uri/ =404;
	}
}

我在/etc/tor/torrc文件中还具有以下配置以使用这些unix socket文件。

HiddenServiceDir /var/lib/tor/hs-kushal/
HiddenServiceVersion 3
HiddenServicePort 80 unix:/var/run/tor-hs-kushal-me.sock
HiddenServicePort 443 unix:/var/run/tor-hs-kushal-https.sock

如果您想进一步了解为什么需要为onion洋葱域名配置证书,Tor Project会有一个很好的解释

https://kushaldas.in/posts/get-a-tls-certificate-for-your-onion-service.html
https://www.anwangli.com/710.html

作者: admin

Leave a Reply

Your email address will not be published. Required fields are marked *

联系我们

联系我们

邮箱: [email protected]

返回顶部