Such a fruitful discussion! Hopefully the Purism team will find this thread and take it under consideration for the next PureOS spin.
@kieran Hostname randomization is a brilliant idea! Can we just set a boot script to edit /etc/hosts everytime? I think that just getting the browser to take up the new hostname on each boot would be good progress. Is there anywhere else to modify, apart from /etc/hosts? How would it be modified – with sed or awk, cat with truncate, or custom code?
You’re right that a router could be programmed to block all destinations apart from one’s VPN servers, although as you pointed out, that’s not a portable solution. (Pocket VPNs are available, but I don’t know how practical they are or whether or not they require one to install untrusted apps.) If it’s not obvious, we should all assume that VPNs are compromised and export everything to who-knows-where, but they’re quite good at hiding one’s IP from targets. (Tor is better in this regard but has other serious drawbacks.) That said, if one’s hostname is sent to the target, then they would at least know that username X is associated with the same person as username Y even if the IP changes, absent hostname reassignment in between.
I’m not sure that (null) is a wise hostname to use. On the plus side, you might find a 0day in your IoT device by trying that. On the minus side, obviously only one device can use it at a time, and it’s probably rare (i.e.identifying) in the wild. And just in case some noob finds this thread and thinks that anonymity comes down to just IP and hostname… I suppose I should also mention that stylometry and clicking/tapping behavior are major sources of deanonymization, for starters.
“Or their open tabs.” – You don’t need to know anything about cybersecurity to see how stupid some people are.
@reC Thanks for the warning about hostname importation from EFI. That’s horrid.
@Dwaff Unique is sometimes good, sometimes bad. If all you do is visit one website, then reboot and get a new hostname, then no useful information will be conveyed by it. (You can’t say that I’m the same guy who visited the site, or some other site, yesterday. Of course this might all be compromised by some ass of a process which goes out and sends my hostname to an update server.) Your link to that list of popular hostnames is a great resource. Unfortunately, I was unable to load it, but I found it cached elsewhere. Adding to what kieran and reC mentioned, it seems to say that the most popular hostnames are, in order: “www”, “host”, “mail”, “dummy”, “ns”, and “ftp”. “www” is about 6X “host”, and on down from there. Take all this with a grain of salt because it also says that “host5” is extremely popular, so it sounds like a very biased sample. Still, those are good choices.
@vmedea If you actually need different hostnames for different devices, then random ones might work (unless you have a long uptime and reuse the same one for too many Web transactions) or otherwise “host1”, “host2”, etc., based on Dwaff’s list. More importantly, how can we set “assigned-mac-address” to “random” for wifi and/or Ethernet?
Based on that “tips” page you sent, I found that there are also “ipv4.dhcp-send-hostname” and “ipv6.dhcp-send-hostname”. Seems like one can set these to “no” and get it to just not send a hostname, but whether this covers HTTP referers as well is unclear to me, as is the overall scope of such a constraint. What do you people think?