-
Notifications
You must be signed in to change notification settings - Fork 171
Description
Default root passwords are a horribly bad security practice that leads to things like the Mirai botnet and a long history of similar malware that take advantage of default passwords (or no password on the root account at all!) on millions of internet-connected devices to perform devastating Distributed Denial of Services (DDoS) attacks. A survey by Jerry Gamblin found that Nearly 20% of the 1000 Most Popular Docker Containers Have No Root Password, which is just compounded by an OS that has a default root password. Unfortunately, there are too many examples of this poor practice in use -- all for the sake of having something so simple anyone can do it -- and not enough examples of how to do things more securely.
There is a better way that I would like to propose for you to consider. Arguably, this is easier than the kind of ssid: "YourSSID", password: "YourSecretPreSharedKey type of manual-editing-required examples in the sample directory (which, if you accidentally commit and push the edited values is yet another Bad Practice(TM) that leads to secrets leakage.)
I have a tool I wrote to make it really easy to pre-configure something like HypriotOS (or any other RaspberryPi OS distribution - hint, hint, Raspbian!). It is called python_secrets. We recently spoke about the problem and this program at Toorcon XX. In that talk, I demonstrated how to use psec -- using HypriotOS and flash for the use case, no less! -- with this asciicast. The steps in the goSecure prototype repository are documented here.
Before I start spending a lot of time trying to update the blog and flash repos in order to make a pull request, I'd like to get your input on whether you would like to work with me on integrating psec into the flash process to get a more secure result without much extra effort for users?