Note about https everywhere

This commit is contained in:
Bob Mottram 2016-01-15 10:07:24 +00:00
parent 7bc0e8db17
commit 1f484f408c
2 changed files with 79 additions and 65 deletions

View File

@ -19,6 +19,7 @@
#+BEGIN_CENTER
#+ATTR_HTML: :border -1
| [[I don't have a static IP address. Can I still install this system?]] |
| [[Why can't I access my .onion site with a Tor browser?]] |
| [[What is the best hardware to run this system on?]] |
| [[Can I add more users to the system?]] |
| [[How do I remove a user from the system?]] |
@ -40,6 +41,8 @@
Yes. The minimum requirements are to have some hardware that you can install Debian onto and also that you have administrator access to your internet router so that you can forward ports to the system which has Freedombone installed.
The lack of a static IP address can be worked around by using a dynamic DNS service. Freedombone uses [[http://troglobit.com/inadyn.html][inadyn]], which supports a variety of dynamic DNS providers.
* Why can't I access my .onion site with a Tor browser?
By default the Tor browser has [[https://www.eff.org/HTTPS-everywhere][https everywhere]] enabled and this can clash with onion addresses. Really this is a browser bug, which ought to be fixed. If you notice that "https" has been automatically prepended to your onion address then go to the https everywhere settings and disable it. https isn't needed for ontion sites since onion services already have their own public key encryption (the onion address is the public key).
* What is the best hardware to run this system on?
It was originally designed to run on the Beaglebone Black, but that should be regarded as the most minimal system, because it's single core and has by today's standards a small amount of memory. Obviously the more powerful the hardware is the faster things like web pages (blog, social networking, etc) will be served but the more electricity such a system will require if you're running it 24/7. A good compromise between performance and energy consumption is something like an old netbook. The battery of an old netbook or laptop even gives you [[https://en.wikipedia.org/wiki/Uninterruptible_power_supply][UPS capability]] to keep the system going during brief power outages or cable re-arrangements, and that means using full disk encryption on the server also becomes more practical.

View File

@ -3,15 +3,15 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title></title>
<!-- 2016-01-07 Thu 19:23 -->
<!-- 2016-01-15 Fri 10:06 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title></title>
<meta name="generator" content="Org-mode" />
<meta name="author" content="Bob Mottram" />
<meta name="description" content="Turn the Beaglebone Black into a personal communications server"
/>
<meta name="keywords" content="freedombox, debian, beaglebone, hubzilla, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center;
@ -75,8 +75,7 @@
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara:nth-child(2) { display: inline; }
.footpara { display: block; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
@ -151,7 +150,7 @@ for the JavaScript code in this tag.
<a name="top" id="top"></a>
</div>
<div id="content">
<div class="center">
<div class="org-center">
<div class="figure">
<p><img src="images/logo.png" alt="logo.png" />
@ -163,7 +162,7 @@ for the JavaScript code in this tag.
<h1>Frequently Asked Questions</h1>
</center>
<div class="center">
<div class="org-center">
<table border="-1" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -176,63 +175,67 @@ for the JavaScript code in this tag.
</tr>
<tr>
<td class="org-left"><a href="#orgheadline2">What is the best hardware to run this system on?</a></td>
<td class="org-left"><a href="#orgheadline2">Why can't I access my .onion site with a Tor browser?</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline3">Can I add more users to the system?</a></td>
<td class="org-left"><a href="#orgheadline3">What is the best hardware to run this system on?</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline4">How do I remove a user from the system?</a></td>
<td class="org-left"><a href="#orgheadline4">Can I add more users to the system?</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline5">How do I reset the tripwire?</a></td>
<td class="org-left"><a href="#orgheadline5">How do I remove a user from the system?</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline6">Is metadata protected?</a></td>
<td class="org-left"><a href="#orgheadline6">How do I reset the tripwire?</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline7">How do I create email processing rules?</a></td>
<td class="org-left"><a href="#orgheadline7">Is metadata protected?</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline8">Why isn't dynamic DNS working?</a></td>
<td class="org-left"><a href="#orgheadline8">How do I create email processing rules?</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline9">How do I change my encryption settings?</a></td>
<td class="org-left"><a href="#orgheadline9">Why isn't dynamic DNS working?</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline10">How do I get a domain name?</a></td>
<td class="org-left"><a href="#orgheadline10">How do I change my encryption settings?</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline11">How do I get a "real" SSL/TLS/HTTPS certificate?</a></td>
<td class="org-left"><a href="#orgheadline11">How do I get a domain name?</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline12">How do I renew a Let's Encrypt certificate?</a></td>
<td class="org-left"><a href="#orgheadline12">How do I get a "real" SSL/TLS/HTTPS certificate?</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline13">I tried to renew a Let's Encrypt certificate and it failed. What should I do?</a></td>
<td class="org-left"><a href="#orgheadline13">How do I renew a Let's Encrypt certificate?</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline14">Why use self-signed certificates?</a></td>
<td class="org-left"><a href="#orgheadline14">I tried to renew a Let's Encrypt certificate and it failed. What should I do?</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline15">Why not use the services of $company instead? They took the Seppuku pledge</a></td>
<td class="org-left"><a href="#orgheadline15">Why use self-signed certificates?</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline16">Why does my email keep getting rejected as spam by Gmail/etc?</a></td>
<td class="org-left"><a href="#orgheadline16">Why not use the services of $company instead? They took the Seppuku pledge</a></td>
</tr>
<tr>
<td class="org-left"><a href="#orgheadline17">Why does my email keep getting rejected as spam by Gmail/etc?</a></td>
</tr>
</tbody>
</table>
@ -251,9 +254,17 @@ The lack of a static IP address can be worked around by using a dynamic DNS serv
</div>
</div>
<div id="outline-container-orgheadline2" class="outline-2">
<h2 id="orgheadline2">What is the best hardware to run this system on?</h2>
<h2 id="orgheadline2">Why can't I access my .onion site with a Tor browser?</h2>
<div class="outline-text-2" id="text-orgheadline2">
<p>
By default the Tor browser has <a href="https://www.eff.org/HTTPS-everywhere">https everywhere</a> enabled and this can clash with onion addresses. Really this is a browser bug, which ought to be fixed. If you notice that "https" has been automatically prepended to your onion address then go to the https everywhere settings and disable it. https isn't needed for ontion sites since onion services already have their own public key encryption (the onion address is the public key).
</p>
</div>
</div>
<div id="outline-container-orgheadline3" class="outline-2">
<h2 id="orgheadline3">What is the best hardware to run this system on?</h2>
<div class="outline-text-2" id="text-orgheadline3">
<p>
It was originally designed to run on the Beaglebone Black, but that should be regarded as the most minimal system, because it's single core and has by today's standards a small amount of memory. Obviously the more powerful the hardware is the faster things like web pages (blog, social networking, etc) will be served but the more electricity such a system will require if you're running it 24/7. A good compromise between performance and energy consumption is something like an old netbook. The battery of an old netbook or laptop even gives you <a href="https://en.wikipedia.org/wiki/Uninterruptible_power_supply">UPS capability</a> to keep the system going during brief power outages or cable re-arrangements, and that means using full disk encryption on the server also becomes more practical.
</p>
@ -262,9 +273,9 @@ It was originally designed to run on the Beaglebone Black, but that should be re
</p>
</div>
</div>
<div id="outline-container-orgheadline3" class="outline-2">
<h2 id="orgheadline3">Can I add more users to the system?</h2>
<div class="outline-text-2" id="text-orgheadline3">
<div id="outline-container-orgheadline4" class="outline-2">
<h2 id="orgheadline4">Can I add more users to the system?</h2>
<div class="outline-text-2" id="text-orgheadline4">
<p>
Yes. Freedombone can support a small number of users, for a "<i>friends and family</i>" type of home installation. This gives them access to an email account, XMPP, SIP phone and the blog (depending on whether the variant which you installed includes those).
</p>
@ -289,9 +300,9 @@ Another point is that Freedombone installations are not intended to support many
</p>
</div>
</div>
<div id="outline-container-orgheadline4" class="outline-2">
<h2 id="orgheadline4">How do I remove a user from the system?</h2>
<div class="outline-text-2" id="text-orgheadline4">
<div id="outline-container-orgheadline5" class="outline-2">
<h2 id="orgheadline5">How do I remove a user from the system?</h2>
<div class="outline-text-2" id="text-orgheadline5">
<p>
To remove a user:
</p>
@ -308,9 +319,9 @@ Select <i>Manage Users</i> and then <i>Delete a user</i>. Note that this will de
</p>
</div>
</div>
<div id="outline-container-orgheadline5" class="outline-2">
<h2 id="orgheadline5">How do I reset the tripwire?</h2>
<div class="outline-text-2" id="text-orgheadline5">
<div id="outline-container-orgheadline6" class="outline-2">
<h2 id="orgheadline6">How do I reset the tripwire?</h2>
<div class="outline-text-2" id="text-orgheadline6">
<p>
The tripwire will be automatically reset once per week. If you want to reset it earlier then do the following:
</p>
@ -327,17 +338,17 @@ Select "reset tripwire" using cursors and space bar then enter.
</p>
</div>
</div>
<div id="outline-container-orgheadline6" class="outline-2">
<h2 id="orgheadline6">Is metadata protected?</h2>
<div class="outline-text-2" id="text-orgheadline6">
<div id="outline-container-orgheadline7" class="outline-2">
<h2 id="orgheadline7">Is metadata protected?</h2>
<div class="outline-text-2" id="text-orgheadline7">
<p>
Even when using Freedombone metadata analysis by third parties is still possible. This can be mitigated by accessing your blog, or other web services, via their <i>onion addresses</i>, rather than via more conventional domain names. In that case your ISP and any government which they might be compelled to report back to will know when your system is being accessed, but not necessarily <i>which</i> services are being accessed <i>or by whom</i>. So for instance using a Tor browser and the onion address people may be able to safely read your blog or wiki and be reasonably confident that metadata isn't being gathered about what they read (or more concisely the metadata which can be gathered by a third party may just not be very useful or personally identifiable). On the other hand if you access the system via conventional domain names and dynamic DNS then it's safe to assume that metadata can and will be collected by third parties.
</p>
</div>
</div>
<div id="outline-container-orgheadline7" class="outline-2">
<h2 id="orgheadline7">How do I create email processing rules?</h2>
<div class="outline-text-2" id="text-orgheadline7">
<div id="outline-container-orgheadline8" class="outline-2">
<h2 id="orgheadline8">How do I create email processing rules?</h2>
<div class="outline-text-2" id="text-orgheadline8">
<div class="org-src-container">
<pre class="src src-bash">ssh username@domainname -p 2222
@ -395,9 +406,9 @@ Spamassassin is also available and within Mutt you can use the S (shift+s) key t
</p>
</div>
</div>
<div id="outline-container-orgheadline8" class="outline-2">
<h2 id="orgheadline8">Why isn't dynamic DNS working?</h2>
<div class="outline-text-2" id="text-orgheadline8">
<div id="outline-container-orgheadline9" class="outline-2">
<h2 id="orgheadline9">Why isn't dynamic DNS working?</h2>
<div class="outline-text-2" id="text-orgheadline9">
<p>
If you run the command:
</p>
@ -465,9 +476,9 @@ http://httpbin.org/ip
</div>
</div>
<div id="outline-container-orgheadline9" class="outline-2">
<h2 id="orgheadline9">How do I change my encryption settings?</h2>
<div class="outline-text-2" id="text-orgheadline9">
<div id="outline-container-orgheadline10" class="outline-2">
<h2 id="orgheadline10">How do I change my encryption settings?</h2>
<div class="outline-text-2" id="text-orgheadline10">
<p>
Suppose that some new encryption vulnerability has been announced and that you need to change your encryption settings. Maybe an algorithm thought to be secure is now no longer so and you need to remove it. You can change your settings by doing the following:
</p>
@ -484,9 +495,9 @@ Then select <i>Security Settings</i>. You will then be able to edit the crypto s
</p>
</div>
</div>
<div id="outline-container-orgheadline10" class="outline-2">
<h2 id="orgheadline10">How do I get a domain name?</h2>
<div class="outline-text-2" id="text-orgheadline10">
<div id="outline-container-orgheadline11" class="outline-2">
<h2 id="orgheadline11">How do I get a domain name?</h2>
<div class="outline-text-2" id="text-orgheadline11">
<p>
Suppose that you have bought a domain name (rather than using a free subdomain on freedns) and you want to use that instead.
</p>
@ -554,9 +565,9 @@ You should now be able to send an email from <i>postmaster@mynewdomainname</i> a
</div>
</div>
<div id="outline-container-orgheadline11" class="outline-2">
<h2 id="orgheadline11">How do I get a "real" SSL/TLS/HTTPS certificate?</h2>
<div class="outline-text-2" id="text-orgheadline11">
<div id="outline-container-orgheadline12" class="outline-2">
<h2 id="orgheadline12">How do I get a "real" SSL/TLS/HTTPS certificate?</h2>
<div class="outline-text-2" id="text-orgheadline12">
<p>
If you did the full install or selected the social variant then the system will have tried to obtain a Let's Encrypt certificate automatically during the install process. If this failed for any reason, or if you have created a new site which you need a certificate for then do the following:
</p>
@ -577,9 +588,9 @@ One thing to be aware of is that Let's Encrypt doesn't support many dynamic DNS
</p>
</div>
</div>
<div id="outline-container-orgheadline12" class="outline-2">
<h2 id="orgheadline12">How do I renew a Let's Encrypt certificate?</h2>
<div class="outline-text-2" id="text-orgheadline12">
<div id="outline-container-orgheadline13" class="outline-2">
<h2 id="orgheadline13">How do I renew a Let's Encrypt certificate?</h2>
<div class="outline-text-2" id="text-orgheadline13">
<p>
Normally certificates will be automatically renewed once per month, so you don't need to be concerned about it. If anything goes wrong with the automatic renewal then you should receive a warning email.
</p>
@ -600,9 +611,9 @@ Select <b>Security settings</b> then <b>Renew Let's Encrypt certificate</b>.
</p>
</div>
</div>
<div id="outline-container-orgheadline13" class="outline-2">
<h2 id="orgheadline13">I tried to renew a Let's Encrypt certificate and it failed. What should I do?</h2>
<div class="outline-text-2" id="text-orgheadline13">
<div id="outline-container-orgheadline14" class="outline-2">
<h2 id="orgheadline14">I tried to renew a Let's Encrypt certificate and it failed. What should I do?</h2>
<div class="outline-text-2" id="text-orgheadline14">
<p>
Most likely it's because Let's Encrypt doesn't support your particular domain or subdomain. Currently free subdomains tend not to work. You'll need to buy a domain name, link it to your dynamic DNS account and then do:
</p>
@ -619,9 +630,9 @@ Select <b>Security settings</b> then <b>Create a new Let's Encrypt certificate</
</p>
</div>
</div>
<div id="outline-container-orgheadline14" class="outline-2">
<h2 id="orgheadline14">Why use self-signed certificates?</h2>
<div class="outline-text-2" id="text-orgheadline14">
<div id="outline-container-orgheadline15" class="outline-2">
<h2 id="orgheadline15">Why use self-signed certificates?</h2>
<div class="outline-text-2" id="text-orgheadline15">
<p>
Almost everywhere on the web you will read that self-signed certificates are worthless. They bring up <i>scary-scary looking</i> browser warnings and gurus will advise you not to use them. Self-signed certificates are quite useful though. What the scary warnings mean - and it would be good if they explained this more clearly - is that you have an encrypted connection established but there is <i>no certainty about who that connection is with</i>.
</p>
@ -643,17 +654,17 @@ For now a self-signed certificate will probably in most cases protect your commu
</p>
</div>
</div>
<div id="outline-container-orgheadline15" class="outline-2">
<h2 id="orgheadline15">Why not use the services of $company instead? They took the Seppuku pledge</h2>
<div class="outline-text-2" id="text-orgheadline15">
<div id="outline-container-orgheadline16" class="outline-2">
<h2 id="orgheadline16">Why not use the services of $company instead? They took the Seppuku pledge</h2>
<div class="outline-text-2" id="text-orgheadline16">
<p>
<a href="http://seppuku.cryptostorm.org/">That pledge</a> is utterly worthless. Years ago people trusted Google in the same sort of way, because they promised not be be evil and because a lot of the engineers working for them seemed like honest types who were "<i>on our side</i>". Post-<a href="https://en.wikipedia.org/wiki/Nymwars">nymwars</a> and post-<a href="https://en.wikipedia.org/wiki/PRISM_(surveillance_program)">PRISM</a> we know exactly how much Google cared about the privacy and security of its users. But Google is only one particular example. In general don't trust pledges made by companies, even if the people running them seem really sincere.
</p>
</div>
</div>
<div id="outline-container-orgheadline16" class="outline-2">
<h2 id="orgheadline16">Why does my email keep getting rejected as spam by Gmail/etc?</h2>
<div class="outline-text-2" id="text-orgheadline16">
<div id="outline-container-orgheadline17" class="outline-2">
<h2 id="orgheadline17">Why does my email keep getting rejected as spam by Gmail/etc?</h2>
<div class="outline-text-2" id="text-orgheadline17">
<p>
Welcome to the world of email. Email is really the archetypal decentralized service, developed during the early days of the internet. In principle anyone can run an email server, and that's exactly what you're doing with Freedombone. Email is very useful, but it has a big problem, and that's that the protocols are totally insecure. That made it easy for spammers to do their thing, and in response highly elaborate spam filtering and blocking systems were developed. Chances are that your emails are being blocked in this way. Sometimes the blocking is so indisciminate that entire countries are excluded. What can you do about it? Unless you control the block list at the receiving end probably you can't do anything. There is zero accountability for such blocking, and you can't just contact someone and say "hey, I'm not a spammer". This system works well for the big internet companies because it effectively centralises email to a few well-known brand names and keeps any independent servers out.
</p>