-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tessel Security Post #53
base: master
Are you sure you want to change the base?
Changes from 1 commit
940ae96
d0bff37
98f0abd
3d24eaa
bebda2a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# Secure Out-of-the-Box | ||
|
||
How Tessel covers the [5 Easy Ways to Secure Your IoT Devices](https://www.sparkfun.com/news/2264) from the start. | ||
|
||
1. Unplug It | ||
2. Power Cycle | ||
3. Change The Default Password | ||
4. Update Firmware | ||
5. Disable Universal Plug and Play (UPnP) | ||
6. (Bonus) Disable Telnet and SSH | ||
|
||
## Unplug It | ||
|
||
> The best possible safeguard against hackers is to simply not have the device available for them. | ||
|
||
You control where to power Tessel and even how to power it. Battery, wall socket, or personal computer, you can unplug Tessel anytime. | ||
|
||
## Power Cycle | ||
|
||
> Another interesting aspect of some malware like Mirai is that it only lives in volatile memory (e.g., RAM). That means simply turning off the device and turning it back on again will rid it of the malware | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Mirai needs introduction if you are going to mention it– e.g. I was out-of-country/offline at that time and missed the whole thing |
||
|
||
There is a handy `t2-cli` command for doing this: `t2 reboot` | ||
|
||
## Change the Default | ||
|
||
> Seriously, if you do only one thing to secure your device, do this. | ||
|
||
We did! Our [provisioning system](https://tessel.gitbooks.io/t2-docs/content/API/CLI.html#lan) is the only way to access the root system of Tessel over a network and requires a physical connection, like USB, to setup. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. s/setup/set up |
||
|
||
## Update Firmware | ||
|
||
> it won’t be long before we start seeing attacks that target IoT services and open ports as potential means for intrusion | ||
|
||
Tessel runs an open-source, embedded Linux distribution called [OpenWRT](https://openwrt.org), an actively maintained projects with frequent updates. We watch for security patches and keep our [version](https://github.com/tessel/openwrt-tessel) updated as needed. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Someone should probably do that... There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. lol |
||
|
||
## Disable UPnP | ||
|
||
> The biggest security flaw in UPnP is that programs inside your network can automatically request port forwarding from the router. | ||
|
||
We ship Tessel without any support for UPnP, as evidence by the [config files in our `openwrt-tessel` repo](https://github.com/tessel/openwrt-tessel/tree/master/files/etc/config). OpenWRT requires the [miniupnpd package and corresponding config file](https://wiki.openwrt.org/doc/howto/upnp) to enable UPnP. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. s/evidence/evidenced |
||
|
||
## (Bonus) Disable Telnet and SSH | ||
|
||
> Mirai actually did its dirty work by trying to access a device through Telnet or SSH using default credentials. | ||
|
||
We literally have a commit to our `openwrt-tessel` repo to [disable telnet](https://github.com/tessel/openwrt-tessel/blob/master/files/etc/init.d/telnet). As mentioned before, `ssh` is not disabled but it is only allowed by devices [provisioned with a shared key](https://tessel.gitbooks.io/t2-docs/content/API/CLI.html#lan). That process can only happen using `t2-cli` over a physical, USB connection, meaning no root access for rouge, third-party bots scavenging the Internet. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To be clear, OpenWrt only runs telnet on initial setup to let you set a root password. Tessel uses the USB connection through the coprocessor instead, so doesn't need telnetd for that. |
||
|
||
Thanks to the folks at Sparkfun for sharing that awesome post. The Tessel team is always working on improving the out-of-the-box experience for anyone getting started with hardware and Internet-connected devices, so we're happy to say that when you get a Tessel you're secure from the start! | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Needs a header of its own or it falls into the Disable Telnet section |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This list needs more introduction. Is this Sparkfun's list? It doesn't have an obvious connection to how Tessel ships.
Part of the clarification needed is because you mention "from the start", as in built into the Tessel when it arrives, but this list is more of a set of user-maintenance tips.