raspberry pi_如何保护您的Raspberry Pi

raspberry pi

Raspberry Pi和诸如此类的许多其他廉价计算机板已成为“物联网”或物联网革命的一部分。 互联网连接的计算设备已经超越了传统的服务器,台式机,笔记本电脑和移动设备。 现在,您的电视,DVR(数字录像机),恒温器,冰箱,互联网广播,Raspberry Pi和其他设备也都在网络上。

物联网对于实验和创新来说是巨大的。 但是,随着项目匆忙完成,忽视安全性将产生严重后果。 这适用于商业产品和业余项目。 在本文中,我将专门讨论Raspberry Pi,因此,本文主要针对“自己动手”项目。

Raspberry Pi的安全性

因为您的Raspberry Pi是Linux系统,所以有关大型系统安全性的大多数建议也适用于您的项目。 如果您在线搜索IoT安全性,则大多数结果是针对生产产品的商业开发人员的。 有些还适合必须处理网络中出现的预期和意外设备的IT员工。 这些文章可能有一长串看起来令人生畏的要求。 但是请记住,在商业舞台上,它们正在处理各种违反安全性的法规后果。 他们也有培训预算和薪水,以激励员工努力完成一长串的要求。

坦率地说,对于您和您在Raspberry Pi上的爱好项目,我不想阻止您进行试验。 让我们保持洞察力-我希望就考虑安全性的需要开阔眼界。 例如,让您的设备对攻击者开放,使他们可以使用它来攻击您网络中的其他人。 或者您的设备可能包含您希望保密的数据。 本文将为您提供一些用于工具箱的工具以及一些解决问题的方法。

不幸的是,风险是互联网生活的现实。 它是那里的丛林,有时更像是战区。 但是,您可以采取明智的措施合理保护Raspberry Pi和其他IoT设备。 所以不要让它吓到你。

Raspberry Pi注意事项

首先,必须先提一个技巧。 更改设备上的密码-请勿将其保留为默认设置。 默认密码易于查找。 因此,攻击者通常会尝试这样做。

您的设备是什么样的目标?

考虑设备的安全性时,重要的是设备的功能和设备上的内容。 您将要考虑将其作为目标的原因。 这些攻击可能来自各种不同的来源,例如操作系统的某人安装的病毒蠕虫会自动从网络中入侵,或者是个人手动进行攻击。 考虑到这一点,让我们看一下使您的系统成为目标的原因。

设备上有什么数据? 密码可能可以重用于攻击其他系统。 设备是否具有攻击者可以分析以找到更多攻击方法的Web界面? DIY IoT设备不应具有财务或医疗数据,但是会出现坏主意。

您的设备控制什么硬件? 相机是您在陌生人的控制下不想要的东西。 家庭自动化和家电是您想要正确运行的东西-攻击者可以控制或禁用什么? 我之前看过一些有关Raspberry Pi或Arduino项目的文章,这些项目通过电话或NFC(近场通信)标签的信号自动解锁前门。 如果有人闯入该系统,他们可以打开门。

设备与什么通信? 如果您的项目是网络路由器,攻击者可以使用它来监视您的网络流量吗? 在这些地方可以安装加密的MiTM(“中间人”)攻击以窃听加密的数据。

设备显示什么信息? 攻击者可以禁用或破坏显示吗? 例如,如果您有一台Raspberry Pi在办公室的显示器上显示工作人员日程表或软件构建状态,则您不希望它突然显示广告或更糟。

仅在网络上就可以使其成为目标。 即使您在设备上没有其他任何价值,但将其连接到Internet的事实对于攻击者也很有价值。 不安全的设备容易受到蠕虫的自动捕获。 它可能成为僵尸网络的一部分,或者可以用作匿名中继来攻击其他站点。 这使得攻击者更加难以跟踪,直到进行调查以要求您提供信息为止。 您可能不想处理。 因此,请勿让您的设备处于打开状态。

识别攻击面

在计算机安全中,术语“攻击面”是系统遭受潜在攻击的所有方式的集合。 这些不一定是漏洞,而是寻找它们的地方。 在这一步中,我将考虑所有可能的外部访问风险。 它包括网络,物理接口,数据库,Web API,甚至包括操作它的人员。 一种有用的资源是OWASP(开放式Web应用程序安全项目)的《 攻击面分析速查表》

正如备忘单所述,列表很快变得不知所措。 您需要一些方法来考虑如何确定实际重要的潜在攻击路径的优先级。 您想要避免浪费时间。

Risk matrix

表1:风险矩阵示例。

表1显示了风险矩阵的示例。 它将事件的可能性与影响的程度进行比较。 您可以确定问题的严重程度以及如何针对竞争问题确定优先级。 尽管这很简单,但是做出这样的决定会影响到生活中的其他领域。 例如,业务经理通常必须根据人员,资源,金钱和时间的潜在用途做出决策,而这些潜在需求超出了现有能力。 在航空领域,FAA制作了一个外观类似的表格,以培训飞行员进行航空决策。 例如,如果在飞行中发生紧急情况(机械,医疗,天气等),则使用此思路来决定是继续前往目的地,转移到另一个机场还是返回飞行的起点。

同样,当您分析Raspberry Pi项目的攻击面时,某些事情比其他事情重要得多。 可以打开前门或控制安全摄像机的Raspberry Pi也是家庭人身安全的一部分。 这至关重要。 但是,显示游戏但未连接到网络的Raspberry Pi可能不是紧急的安全问题。 这是您缩小范围的方法。

让我们看看是什么导致了项目的攻击面。

如果它在网络上,即使在防火墙后面,那也是暴露的机会。 所有侦听网络套接字的程序都成为攻击面的一部分。 以root身份运行netstat -ap可以显示哪些程序正在侦听套接字。 关闭并卸载不需要监听网络的任何软件。 这样可以减少系统的攻击面。

在需要运行的程序中,请查看服务器程序和Web API。 确保您拥有最新的安全更新,并且知道在哪里可以找到新的更新。 确保已针对其安全建议正确配置了该软件。 在基于Debian Linux的Linux发行版(例如Raspbian和Ubuntu)上,使用此命令来更新系统上安装的所有软件包。


sudo apt-get update && sudo apt-get upgrade

在基于RPM的Linux发行版(例如Fedora)上,此命令将更新系统的软件包。


sudo dnf update 

物理接口也需要考虑。 键盘和鼠标很明显。 即使删除它们,攻击者是否也可以使用USB端口连接它们自己的端口? USB记忆棒能够在系统上运行程序吗?

Raspberry Pi的启动SD卡或整个板被盗怎么办? 如果您的项目是Science Fair项目或会议展台的展示,它将向公众开放。 竞争对手或小孩可能会带着不安全的设备走开。 在这种情况下,适当锁定的外壳将减少项目的受攻击面。

如果考虑其他所有因素,周围的人员可能成为攻击面的一部分。 “社会工程学”是一种技巧,其中有人说服授权用户做某事或披露不应做的信息。 例如,如果您的团队可以查询客户数据,当某人声称自己是客户但实际上是竞争对手或小偷时会发生什么? 您能否充分识别您的客户并抓住这种窍门?

一个友好的发声人问您的家庭安全系统怎么样? 这可能是入室盗窃的准备。 因此,请确保家庭中的每个人都知道不讨论安全系统。 如果不慎泄露信息,请更改系统。

物联网注意事项

目前有关计算机安全性的建议是将设计阶段的安全性包括在内。 但是,如果您只是将Raspberry Pi作为DIY项目进行试验,该怎么办? 您可能会在学习过程中添加一些东西。 因此,没有设计阶段。 尽力而为。 请记住本文和其他资源。

代码审查

在专业或开源软件开发中,强烈建议使用“代码审查”来帮助发现错误。 这是处理不可避免的人为错误的好习惯。 仅仅让另一只眼睛阅读任何代码通常会发现作者忽略的错误。 对于您自己的DIY项目,您可以通过在朋友的帮助下互相检查彼此的项目是否存在错误和安全问题来利用这种经验。

加密

对于网络连接,请使用加密。 即使是原始的Raspberry Pi 1也足够强大以进行加密。 配置Web服务器以将HTTPS与SSL / TLS结合使用。 将SSH与远程登录一起使用。 在几乎任何情况下,您都可以使用软件包。 因此,您不必学习成为密码专家即可使用密码。 让我们快速了解一下加密类型。

密钥加密使用相同的密钥字符串进行加密和解密。 因此也称为“对称”。 危险在于如何存储密钥并将其分发给授权用户。 一旦暴露,攻击者就可以使用它来解密使用它加密的所有内容。 之所以称为“秘密密钥”,是因为您必须将密钥保密。

还有公共密钥密码术 ,它具有单独的数学相关密钥,每个密钥都可以解密其他密钥加密的内容。 由于它使用不同的密钥,因此也称为“非对称”加密。 通常的用法是一个密钥是专用密钥,该密钥是保密的。 另一个密钥可以公开发布,称为公共密钥。 公共密钥可用于解密使用私有密钥加密的任何内容,并证明它来自您。 公钥/私钥对可以代表单个用户或服务器计算机。 这就是SSL / TLS用于保护HTTPS Web请求的安全。

加密的另一种形式是单向哈希 。 任何哈希算法都会将字符串转换为固定大小的简短值。 我强烈建议将密码存储为哈希,而不是纯文本。 这样,用户知道他或她的密码,然后软件通过哈希算法运行该密码,以验证它是否与存储的哈希匹配。 攻击者无法轻易撤消存储的哈希。 即使这样,我们仍然需要告诉用户不要使用词典中的单词作为密码。 因为掌握了密码哈希的攻击者可以尝试对字典中的所有单词进行哈希处理,以查看是否存在匹配项。 这就是字典攻击

未经加密,决不能“明文”存储或传输密码。

现有软件包

在构建项目时,请尽可能使用现有的软件包 。 原因是,通常情况下,重新发明轮子会无意间造成更多漏洞。 现有系统更可能已经过审核并修复了漏洞。

连接到互联网

如果您的Raspberry Pi项目不需要连接到Internet,则可以通过断开网络连接来消除很多攻击面。 如果您在网络上需要它,除了关闭不必要的服务器程序之外,还考虑使用多层防御,例如iptables防火墙。

确保在连接的客户端和服务器端都考虑网络安全性。 Raspberry Pi可以是客户端或服务器。

如果可能,请尝试将SELinux(安全性增强的Linux)打开为强制模式。 它会自动捕获很多虐待行为。 不幸的是,这需要一些学习手册,当它拒绝您打算执行的操作时,请记住只允许执行该操作。 如果您养成了简单地允许SELinux抱怨的事情的习惯,那么最终,您将为攻击者打开大门。

如果您的项目具有Web界面,请考虑并避免OWASP十大 Web应用程序安全性错误。

安全警报

随时注意您在Raspberry Pi项目中使用的软件的安全警报和补丁。 查找通知的第一个地方是您所安装软件的开发人员。 检查其网站上的邮件列表,RSS提要,社交媒体,或者他们分发警报。

这是软件安全警报的一些更有用的来源。

玩得开心! 考虑安全性

在短短的历史中,物联网在安全性问题上已经享有当之无愧的声誉。 最近的一个重要新闻是2016年10月对Dyn Networks的DDoS(分布式拒绝服务)攻击。Dyn的Internet名称服务器原来是一个单点故障,一旦禁用,它就会破坏Twitter,Netflix,CNN,卫报以及北美和欧洲的许多其他主要网站。 这是怎么发生的? 攻击者接管了数以千计的物联网设备,并变成了一支机器人大军或“僵尸网络”,这使Dyn的服务器无法承受网络流量。 在沉重的负担下,他们无法为合法用户提供服务。 攻击者甚至不必进入那些网站。 他们只是禁用了网络,因此用户无法访问它们。

因此,您的第一份工作不是成为该问题的一部分。 不要创建可能成为僵尸网络一部分的不安全设备。

您可能已经猜到保护设备安全涉及保护设备不受Internet的影响。 但是事实证明,您还需要考虑保护互联网免受设备侵害。 您不想受到攻击-甚至无意中也不想助长对他人的攻击。

但是,还有其他更直接的后果。 根据您设备的功能,它可能包含有关您的数据。 如果设备在您家中或家中有安全摄像头,那么隐含的隐私是显而易见的。 但是许多其他数据也可能很敏感。 如果拥有它不是别人的事,那就很敏感了。

计算机和网络安全领域还有很多,最近称为网络安全。 但是我在这篇文章中没有空间。 希望我能使您考虑到Raspberry Pi和IoT项目的适当级别的安全性,而又不会使您远离游戏,试验和创新。 这是要取得平衡。 不要让挑战阻止您尝试。 请注意保护项目的全局。 随着情况的变化,我们所有人始终需要学习更多的知识。

我可以在Twitter上@ KO6YQ找到 。 我要感谢Tony Vargas对本文的初审有所帮助。

翻译自: https://opensource.com/article/17/3/iot-security-raspberry-pi

raspberry pi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值