Advice on blocking Facebook

This commit is contained in:
Bob Mottram 2017-09-22 13:11:00 +01:00
parent 0061deff3f
commit 8eb564d265
2 changed files with 169 additions and 34 deletions

View File

@ -24,24 +24,29 @@ Mobile phones are insecure devices, but they're regarded as being so essential t
<tr> <tr>
<td><center><b><h3>Open</h3></b><br>Use a free and open source operating system. Open means more trustworthy</center></td> <td><center><b><h3>Open</h3></b><br>Use a free and open source operating system. Open means more trustworthy</center></td>
<td><center><b><h3>Remove</h3></b><br>If there are any proprietary apps then remove or deactivete them</center></td> <td><center><b><h3>Remove</h3></b><br>If there are any proprietary apps then remove or deactivete them</center></td>
<td><center><b><h3>Encrypt</h3></b><br>Make sure your phone is encrypted with a password which isn't easy to guess</center></td>
</tr> </tr>
<tr> <tr>
<td><center><b><h3>Encrypt</h3></b><br>Make sure your phone is encrypted with a password which isn't easy to guess</center></td>
<td><center><b><h3>Apps</h3></b><br>Use F-droid to install new apps</center></td> <td><center><b><h3>Apps</h3></b><br>Use F-droid to install new apps</center></td>
</tr>
<tr>
<td><center><b><h3>Lock</h3></b><br>Enable a lock screen with a maximum number of password guesses</center></td> <td><center><b><h3>Lock</h3></b><br>Enable a lock screen with a maximum number of password guesses</center></td>
<td><center><b><h3>Onion</h3></b><br>Onion route your connections to avoid bulk metadata collection</center></td> <td><center><b><h3>Onion</h3></b><br>Onion route your connections to avoid bulk metadata collection</center></td>
</tr> </tr>
<tr> <tr>
<td><center><b><h3>Email</h3></b><br>Access webmail in a browser</center></td> <td><center><b><h3>Email</h3></b><br>Access webmail in a browser</center></td>
<td><center><b><h3>Services</h3></b><br>Connect to the Freedombone services</center></td> <td><center><b><h3>Services</h3></b><br>Connect to the Freedombone services</center></td>
</tr>
<tr>
<td><center><b><h3>Battery</h3></b><br>Avoid battery-eating apps</center></td> <td><center><b><h3>Battery</h3></b><br>Avoid battery-eating apps</center></td>
<td><center><b><h3>Block</h3></b><br>Prevent access to know bad domains</center></td>
</tr> </tr>
</table> </table>
</center> </center>
#+END_EXPORT #+END_EXPORT
* Open * Open
Use a Linux based phone operating system. Typically this will mean Android, but could also mean Cyanogenmod or Replicant. Cyanogen is the most preferable, because you can usually get an up to date image with a recent kernel which will give you better security against exploits. If you're buying a phone then look for a model which is supported by Cyanogenmod. Replicant is the most free (as in freedom) but only runs on a small number of phone models. If you have a phone which runs a full GNU/Linux system then that's fantastic, and you can probably use it in much the same way as a desktop system and the rest of the advice on this page won't apply. If you don't have a phone capable of running a Linux based operating system then consider selling, giving away or bartering your existing one. Use a Linux based phone operating system. Typically this will mean Android, but could also mean LineageOS or Replicant. LineageOS is the most preferable, because you can usually get an up to date image with a recent kernel which will give you better security against exploits. If you're buying a phone then look for a model which is supported by LineageOS. Replicant is the most free (as in freedom) but only runs on a small number of phone models. If you have a phone which runs a full GNU/Linux system then that's fantastic, and you can probably use it in much the same way as a desktop system and the rest of the advice on this page won't apply. If you don't have a phone capable of running a Linux based operating system then consider selling, giving away or bartering your existing one.
Why is it so important to run Linux on a phone? Aren't /iThings/ supposed to be highly secure? Isn't the CEO of Apple a good guy, fighting for freedom against the evil Feds? In the end it comes down to the fact that /if the source code for the device cannot be independently audited to check for backdoors, bugs and so on, then it can't actually be trusted/. No matter how well-meaning or brave people running companies may be, local laws may force them to add backdoors into their systems or to give away the encryption keys (Lavabit) or they may also do that purely for business reasons such as being able to sell you to their advertising customers and so on. Why is it so important to run Linux on a phone? Aren't /iThings/ supposed to be highly secure? Isn't the CEO of Apple a good guy, fighting for freedom against the evil Feds? In the end it comes down to the fact that /if the source code for the device cannot be independently audited to check for backdoors, bugs and so on, then it can't actually be trusted/. No matter how well-meaning or brave people running companies may be, local laws may force them to add backdoors into their systems or to give away the encryption keys (Lavabit) or they may also do that purely for business reasons such as being able to sell you to their advertising customers and so on.
@ -82,3 +87,53 @@ If you have Syncthing installed then change the settings so that it only syncs w
Return to the <a href="index.html">home page</a> Return to the <a href="index.html">home page</a>
</center> </center>
#+END_EXPORT #+END_EXPORT
* Blocking bad domains
You can block known bad domains by editing the */system/etc/hosts* file on your device. It is possible to use extensive ad-blocking hosts files used by other ad-blocking systems such as pi-hole, but merely blocking Facebook and Google Analytics will defend you against much of the corporate surveillance which goes on. Even if you don't have a Facebook account this may still be useful since they will still try to create a "ghost profile" of you, so the less data they have the better.
On the device enable *Developer Options* by going to *Settings* then *About* then pressing on *Build number* a few times.
Go to *Settings* then *Developer Options* then set *Root access* to *ADB only* and enable *Android debugging*.
On your system (not the device) install the *android-tools* package. For example, on Arch/Parabola:
#+begin_src bash
sudo pacman -S android-tools
#+end_src
Connect the device to your system via a USB cable, then:
#+begin_src bash
adb root
adb remount
adb pull /system/etc/hosts
#+end_src
Now edit the hosts file which was pulled and append:
#+begin_src bash
127.0.0.1 www.facebook.com
127.0.0.1 facebook.com
127.0.0.1 static.ak.fbcdn.net
127.0.0.1 www.static.ak.fbcdn.net
127.0.0.1 login.facebook.com
127.0.0.1 www.login.facebook.com
127.0.0.1 fbcdn.net
127.0.0.1 www.fbcdn.net
127.0.0.1 fbcdn.com
127.0.0.1 www.fbcdn.com
127.0.0.1 static.ak.connect.facebook.com
127.0.0.1 www.static.ak.connect.facebook.com
127.0.0.1 www.google-analytics.com
127.0.0.1 google-analytics.com
127.0.0.1 ssl.google-analytics.com
#+end_src
Then upload the hosts file back again with:
#+begin_src bash
adb push hosts /system/etc/hosts
#+end_src
Once that's done you may want to set *Root access* on the device back to *Disabled* and turn *Android debugging* off.

View File

@ -3,10 +3,10 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2016-12-02 Fri 22:24 --> <!-- 2017-09-22 Fri 13:09 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title></title> <title>&lrm;</title>
<meta name="generator" content="Org mode" /> <meta name="generator" content="Org mode" />
<meta name="author" content="Bob Mottram" /> <meta name="author" content="Bob Mottram" />
<meta name="description" content="Turn the Beaglebone Black into a personal communications server" <meta name="description" content="Turn the Beaglebone Black into a personal communications server"
@ -71,6 +71,7 @@
pre.src-fortran:before { content: 'Fortran'; } pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; } pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; } pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; } pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; } pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; } pre.src-latex:before { content: 'LaTeX'; }
@ -188,7 +189,7 @@
@licstart The following is the entire license notice for the @licstart The following is the entire license notice for the
JavaScript code in this tag. JavaScript code in this tag.
Copyright (C) 2012-2013 Free Software Foundation, Inc. Copyright (C) 2012-2017 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU redistribute it and/or modify it under the terms of the GNU
@ -256,26 +257,31 @@ Mobile phones are insecure devices, but they're regarded as being so essential t
<tr> <tr>
<td><center><b><h3>Open</h3></b><br>Use a free and open source operating system. Open means more trustworthy</center></td> <td><center><b><h3>Open</h3></b><br>Use a free and open source operating system. Open means more trustworthy</center></td>
<td><center><b><h3>Remove</h3></b><br>If there are any proprietary apps then remove or deactivete them</center></td> <td><center><b><h3>Remove</h3></b><br>If there are any proprietary apps then remove or deactivete them</center></td>
<td><center><b><h3>Encrypt</h3></b><br>Make sure your phone is encrypted with a password which isn't easy to guess</center></td>
</tr> </tr>
<tr> <tr>
<td><center><b><h3>Encrypt</h3></b><br>Make sure your phone is encrypted with a password which isn't easy to guess</center></td>
<td><center><b><h3>Apps</h3></b><br>Use F-droid to install new apps</center></td> <td><center><b><h3>Apps</h3></b><br>Use F-droid to install new apps</center></td>
</tr>
<tr>
<td><center><b><h3>Lock</h3></b><br>Enable a lock screen with a maximum number of password guesses</center></td> <td><center><b><h3>Lock</h3></b><br>Enable a lock screen with a maximum number of password guesses</center></td>
<td><center><b><h3>Onion</h3></b><br>Onion route your connections to avoid bulk metadata collection</center></td> <td><center><b><h3>Onion</h3></b><br>Onion route your connections to avoid bulk metadata collection</center></td>
</tr> </tr>
<tr> <tr>
<td><center><b><h3>Email</h3></b><br>Access webmail in a browser</center></td> <td><center><b><h3>Email</h3></b><br>Access webmail in a browser</center></td>
<td><center><b><h3>Services</h3></b><br>Connect to the Freedombone services</center></td> <td><center><b><h3>Services</h3></b><br>Connect to the Freedombone services</center></td>
</tr>
<tr>
<td><center><b><h3>Battery</h3></b><br>Avoid battery-eating apps</center></td> <td><center><b><h3>Battery</h3></b><br>Avoid battery-eating apps</center></td>
<td><center><b><h3>Block</h3></b><br>Prevent access to know bad domains</center></td>
</tr> </tr>
</table> </table>
</center> </center>
<div id="outline-container-org3265d12" class="outline-2"> <div id="outline-container-org5a4cf79" class="outline-2">
<h2 id="org3265d12">Open</h2> <h2 id="org5a4cf79">Open</h2>
<div class="outline-text-2" id="text-org3265d12"> <div class="outline-text-2" id="text-org5a4cf79">
<p> <p>
Use a Linux based phone operating system. Typically this will mean Android, but could also mean Cyanogenmod or Replicant. Cyanogen is the most preferable, because you can usually get an up to date image with a recent kernel which will give you better security against exploits. If you're buying a phone then look for a model which is supported by Cyanogenmod. Replicant is the most free (as in freedom) but only runs on a small number of phone models. If you have a phone which runs a full GNU/Linux system then that's fantastic, and you can probably use it in much the same way as a desktop system and the rest of the advice on this page won't apply. If you don't have a phone capable of running a Linux based operating system then consider selling, giving away or bartering your existing one. Use a Linux based phone operating system. Typically this will mean Android, but could also mean LineageOS or Replicant. LineageOS is the most preferable, because you can usually get an up to date image with a recent kernel which will give you better security against exploits. If you're buying a phone then look for a model which is supported by LineageOS. Replicant is the most free (as in freedom) but only runs on a small number of phone models. If you have a phone which runs a full GNU/Linux system then that's fantastic, and you can probably use it in much the same way as a desktop system and the rest of the advice on this page won't apply. If you don't have a phone capable of running a Linux based operating system then consider selling, giving away or bartering your existing one.
</p> </p>
<p> <p>
@ -284,45 +290,45 @@ Why is it so important to run Linux on a phone? Aren't <i>iThings</i> supposed t
</div> </div>
</div> </div>
<div id="outline-container-org891847d" class="outline-2"> <div id="outline-container-orgf078e81" class="outline-2">
<h2 id="org891847d">Remove</h2> <h2 id="orgf078e81">Remove</h2>
<div class="outline-text-2" id="text-org891847d"> <div class="outline-text-2" id="text-orgf078e81">
<p> <p>
So maybe you're running Android and the phone came with some apps already installed. Almost certainly they'll be proprietary. Go to Settings/Apps and then uninstall or deactivate any apps which you really don't need. Mostly preinstalled apps are intended to send your data to companies who will then sell it to advertisers or governments under the business model of <i>surveillance capital</i>. It's not a good idea to get caught up in that, and to avoid becoming addicted to apps which are surveilling you without consent or installing spyware in the background without your knowledge. So maybe you're running Android and the phone came with some apps already installed. Almost certainly they'll be proprietary. Go to Settings/Apps and then uninstall or deactivate any apps which you really don't need. Mostly preinstalled apps are intended to send your data to companies who will then sell it to advertisers or governments under the business model of <i>surveillance capital</i>. It's not a good idea to get caught up in that, and to avoid becoming addicted to apps which are surveilling you without consent or installing spyware in the background without your knowledge.
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org7e4c55a" class="outline-2"> <div id="outline-container-org2044f08" class="outline-2">
<h2 id="org7e4c55a">Encrypt</h2> <h2 id="org2044f08">Encrypt</h2>
<div class="outline-text-2" id="text-org7e4c55a"> <div class="outline-text-2" id="text-org2044f08">
<p> <p>
Encrypt your phone. This can usually be done via <b>Settings/Security</b> and you may need to fully charge the phone first. Encryption means that if you lose your phone or it gets stolen then there is less chance that anyone who picks it up will get access to your data, photos and so on. Encrypt your phone. This can usually be done via <b>Settings/Security</b> and you may need to fully charge the phone first. Encryption means that if you lose your phone or it gets stolen then there is less chance that anyone who picks it up will get access to your data, photos and so on.
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org4332e13" class="outline-2"> <div id="outline-container-orgcc694f6" class="outline-2">
<h2 id="org4332e13">Apps</h2> <h2 id="orgcc694f6">Apps</h2>
<div class="outline-text-2" id="text-org4332e13"> <div class="outline-text-2" id="text-orgcc694f6">
<p> <p>
Installing <b>F-droid</b> and only adding any new apps via F-droid will ensure that you are always using free and open source software. Open source is not a panacea, since bugs can and do still occur, but it will help you to avoid the worst security and privacy pitfalls. Installing <b>F-droid</b> and only adding any new apps via F-droid will ensure that you are always using free and open source software. Open source is not a panacea, since bugs can and do still occur, but it will help you to avoid the worst security and privacy pitfalls.
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org09c549d" class="outline-2"> <div id="outline-container-org0bcede3" class="outline-2">
<h2 id="org09c549d">Lock</h2> <h2 id="org0bcede3">Lock</h2>
<div class="outline-text-2" id="text-org09c549d"> <div class="outline-text-2" id="text-org0bcede3">
<p> <p>
Add a lock screen, preferably with a password which is not easy for other people to guess or for quicker access with a PIN number. Install an app called <b>Locker</b>, activate it and set the maximum number of password guesses to ten (or whatever you feel comfortable with). If bad people get hold of your phone then they may try to brute force your lock screen password or PIN (i.e. automatically trying millions of common word and number combinations) and the locker app will prevent them from succeeding by resetting the phone back to its factory default condition and wiping the data. Add a lock screen, preferably with a password which is not easy for other people to guess or for quicker access with a PIN number. Install an app called <b>Locker</b>, activate it and set the maximum number of password guesses to ten (or whatever you feel comfortable with). If bad people get hold of your phone then they may try to brute force your lock screen password or PIN (i.e. automatically trying millions of common word and number combinations) and the locker app will prevent them from succeeding by resetting the phone back to its factory default condition and wiping the data.
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org40ecb38" class="outline-2"> <div id="outline-container-org228b5ce" class="outline-2">
<h2 id="org40ecb38">Onion</h2> <h2 id="org228b5ce">Onion</h2>
<div class="outline-text-2" id="text-org40ecb38"> <div class="outline-text-2" id="text-org228b5ce">
<p> <p>
Both governments and corporations want to compile matadata dossiers about you. Who you communicated with, when and how often. They want this so that they can data mine, simulate, predict and then ultimately influence (sometimes also called "nudge") your actions and preferences in the directions they prefer. By routing your connections through a number of proxy servers (Tor routers) you can make it perhaps not <i>theoretically</i> impossible but at least <i>very hard</i> for them to have a complete and accurate list of who your friends are, your religion, politics, likely health issues, sexual orientation and what news sites or books you read. Both governments and corporations want to compile matadata dossiers about you. Who you communicated with, when and how often. They want this so that they can data mine, simulate, predict and then ultimately influence (sometimes also called "nudge") your actions and preferences in the directions they prefer. By routing your connections through a number of proxy servers (Tor routers) you can make it perhaps not <i>theoretically</i> impossible but at least <i>very hard</i> for them to have a complete and accurate list of who your friends are, your religion, politics, likely health issues, sexual orientation and what news sites or books you read.
</p> </p>
@ -333,26 +339,26 @@ In F-droid under the <b>repositories</b> menu you can enable the <b>guardian pro
</div> </div>
</div> </div>
<div id="outline-container-orgb19c9b5" class="outline-2"> <div id="outline-container-org97237d0" class="outline-2">
<h2 id="orgb19c9b5">Email</h2> <h2 id="org97237d0">Email</h2>
<div class="outline-text-2" id="text-orgb19c9b5"> <div class="outline-text-2" id="text-org97237d0">
<p> <p>
The easiest way to access email is by installing the <a href="./app_mailpile.html">Mailpile</a> app. This keeps your GPG keys off of possibly insecure mobile devices but still enables encrypted email communications in an easy way. You can use K9 mail if you prefer, but that will require installing OpenKeychain and having your GPG keys on the device, which is a lot more risky. The easiest way to access email is by installing the <a href="./app_mailpile.html">Mailpile</a> app. This keeps your GPG keys off of possibly insecure mobile devices but still enables encrypted email communications in an easy way. You can use K9 mail if you prefer, but that will require installing OpenKeychain and having your GPG keys on the device, which is a lot more risky.
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org3359ddc" class="outline-2"> <div id="outline-container-org2db3de7" class="outline-2">
<h2 id="org3359ddc">Services</h2> <h2 id="org2db3de7">Services</h2>
<div class="outline-text-2" id="text-org3359ddc"> <div class="outline-text-2" id="text-org2db3de7">
<p> <p>
For information on configuring various apps to work with Freedombone see the <a href="./usage.html">usage section</a>. Also see advice on chat apps in the <a href="./faq.html">FAQ</a>. For information on configuring various apps to work with Freedombone see the <a href="./usage.html">usage section</a>. Also see advice on chat apps in the <a href="./faq.html">FAQ</a>.
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-orgd1a021e" class="outline-2"> <div id="outline-container-orgafd1f2e" class="outline-2">
<h2 id="orgd1a021e">Battery preservation</h2> <h2 id="orgafd1f2e">Battery preservation</h2>
<div class="outline-text-2" id="text-orgd1a021e"> <div class="outline-text-2" id="text-orgafd1f2e">
<p> <p>
Even with free software apps it's not difficult to get into a situation where your battery doesn't last for long. To maximize battery life access RSS feeds via the onion-based mobile reader within a Tor-compatible browser and not from a locally installed RSS app. Even with free software apps it's not difficult to get into a situation where your battery doesn't last for long. To maximize battery life access RSS feeds via the onion-based mobile reader within a Tor-compatible browser and not from a locally installed RSS app.
</p> </p>
@ -366,6 +372,80 @@ Return to the <a href="index.html">home page</a>
</center> </center>
</div> </div>
</div> </div>
<div id="outline-container-org9e58167" class="outline-2">
<h2 id="org9e58167">Blocking bad domains</h2>
<div class="outline-text-2" id="text-org9e58167">
<p>
You can block known bad domains by editing the <b>/system/etc/hosts</b> file on your device. It is possible to use extensive ad-blocking hosts files used by other ad-blocking systems such as pi-hole, but merely blocking Facebook and Google Analytics will defend you against much of the corporate surveillance which goes on. Even if you don't have a Facebook account this may still be useful since they will still try to create a "ghost profile" of you, so the less data they have the better.
</p>
<p>
On the device enable <b>Developer Options</b> by going to <b>Settings</b> then <b>About</b> then pressing on <b>Build number</b> a few times.
</p>
<p>
Go to <b>Settings</b> then <b>Developer Options</b> then set <b>Root access</b> to <b>ADB only</b> and enable <b>Android debugging</b>.
</p>
<p>
On your system (not the device) install the <b>android-tools</b> package. For example, on Arch/Parabola:
</p>
<div class="org-src-container">
<pre class="src src-bash">sudo pacman -S android-tools
</pre>
</div>
<p>
Connect the device to your system via a USB cable, then:
</p>
<div class="org-src-container">
<pre class="src src-bash">adb root
adb remount
adb pull /system/etc/hosts
</pre>
</div>
<p>
Now edit the hosts file which was pulled and append:
</p>
<div class="org-src-container">
<pre class="src src-bash">127.0.0.1 www.facebook.com
127.0.0.1 facebook.com
127.0.0.1 static.ak.fbcdn.net
127.0.0.1 www.static.ak.fbcdn.net
127.0.0.1 login.facebook.com
127.0.0.1 www.login.facebook.com
127.0.0.1 fbcdn.net
127.0.0.1 www.fbcdn.net
127.0.0.1 fbcdn.com
127.0.0.1 www.fbcdn.com
127.0.0.1 static.ak.connect.facebook.com
127.0.0.1 www.static.ak.connect.facebook.com
127.0.0.1 www.google-analytics.com
127.0.0.1 google-analytics.com
127.0.0.1 ssl.google-analytics.com
</pre>
</div>
<p>
Then upload the hosts file back again with:
</p>
<div class="org-src-container">
<pre class="src src-bash">adb push hosts /system/etc/hosts
</pre>
</div>
<p>
Once that's done you may want to set <b>Root access</b> on the device back to <b>Disabled</b> and turn <b>Android debugging</b> off.
</p>
</div>
</div>
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">