Mike Guthrie 最近在 Linux 基金会的网络研讨会上回答了一些安全相关的问题。这个系列的第一篇和第二篇文章覆盖了 5 个让你的 Linux 远离黑客的最简单方法，并且知道他们是否已经进入。这一次，我将回答一些我最近在 Linux 基金会网络研讨会上收到的很好的安全性问题。如果系统自动使用私钥认证，如何存储密钥密码？这个很难。这是我们一直在斗争的事情，特别是我们在做 “Red Team” 的时候，因为我们有些需要自动调用的东西。我使用 Expect，但我倾向于在这上面使用老方法。你需要编写脚本，是的，将密码存储在系统上不是那么简单的一件事，当你这么做时你需要加密它。我的 Expect 脚本加密了存储的密码，然后解密，发送密码，并在完成后重新加密。我知道到这有一些缺陷，但它比使用无密码的密钥更好。如果你有一个无密码的密钥，并且你确实需要使用它。我建议你尽量限制需要用它的用户。例如，如果你正在进行一些自动日志传输或自动化软件安装，则只给那些需要执行这些功能的程序权限。你可以通过 SSH 运行命令，所以不要给它们一个 shell，使它只能运行那个命令就行，这样就能防止某人窃取了这个密钥并做其他事情。你对密码管理器如 KeePass2 怎么看？对我而言，密码管理器是一个非常好的目标。随着 GPU 破解的出现和 EC2 的一些破解能力，这些东西很容易就变成过去时。我一直在窃取这些密码库。现在，我们在破解这些库的成功率是另外一件事。我们差不多有 10% 左右的破解成功率。如果人们不能为他们的密码库用一个安全的密码，那么我们就会进入并会获得丰硕成果。比不用要强，但是你仍需要保护好这些资产。如你保护其他密码一样保护好密码库。你认为从安全的角度来看，除了创建具有更高密钥长度的主机密钥之外，创建一个新的 “Diffie-Hellman” 模数并限制 2048 位或更高值得么？值得的。以前在 SSH 产品中存在弱点，你可以做到解密数据包流。有了它，你可以传递各种数据。作为一种加密机制，人们不假思索使用这种方式来传输文件和密码。使用健壮的加密并且改变你的密钥是很重要的。 我会轮换我的 SSH 密钥 - 这不像我的密码那么频繁，但是我每年会轮换一次。是的，这是一个麻烦，但它让我安心。我建议尽可能地使你的加密技术健壮。使用完全随机的英语单词（大概 10 万个）作为密码合适么？当然。我的密码实际上是一个完整的短语。它是带标点符号和大小写一句话。除此以外，我不再使用其他任何东西。我是一个“你可以记住而不用写下来或者放在密码库的密码”的大大的支持者。一个你可以记住不必写下来的密码比你需要写下来的密码更安全。使用短语或使用你可以记住的四个随机单词比那些需要经过几次转换的一串数字和字符的字符串更安全。我目前的密码长度大约是 200 个字符。这是我可以快速打出来并且记住的。在物联网情景下对保护基于 Linux 的嵌入式系统有什么建议么？物联网是一个新的领域，它是系统和安全的前沿，日新月异。现在，我尽量都保持离线。我不喜欢人们把我的灯光和冰箱搞乱。我故意不去购买支持联网的冰箱，因为我有朋友是黑客，我可不想我每天早上醒来都会看到那些不雅图片。封住它，锁住它，隔离它。目前物联网设备的恶意软件取决于默认密码和后门，所以只需要对你所使用的设备进行一些研究，并确保没有其他人可以默认访问。然后确保这些设备的管理接口受到防火墙或其他此类设备的良好保护。你可以提一个可以在 SMB 和大型环境中使用的防火墙/UTM（OS 或应用程序）么？我使用 pfSense，它是 BSD 的衍生产品。我很喜欢它。它有很多模块，实际上现在它有商业支持，这对于小企业来说这是非常棒的。对于更大的设备、更大的环境，这取决于你有哪些管理员。我一直都是 CheckPoint 管理员，但是 Palo Alto 也越来越受欢迎了。这些设备与小型企业或家庭使用很不同。我在各种小型网络中都使用 pfSense。云服务有什么内在问题么？并没有云，那只不过是其他人的电脑而已。云服务存在内在的问题。只知道谁访问了你的数据，你在上面放了什么。要知道当你向 Amazon 或 Google 或 Microsoft 上传某些东西时，你将不再完全控制它，并且该数据的隐私是有问题的。要获得 OSCP 你建议需要准备些什么？我现在准备通过这个认证。我的整个团队是这样。阅读他们的材料。记住， OSCP 将成为令人反感的安全基准。你一切都要使用 Kali。如果不这样做 - 如果你决定不使用 Kali，请确保仿照 Kali 实例安装所有的工具。这将是一个基于工具的重要认证。这是一个很好的方式。看看一些名为“渗透测试框架”的内容，因为这将为你提供一个很好的测试流程，他们的实验室似乎是很棒的。这与我家里的实验室非常相似。随时免费观看完整的网络研讨会。查看这个系列的第一篇和第二篇文章获得 5 个简单的贴士来让你的 Linux 机器安全。Mike Guthrie 为能源部工作，负责 “Red Team” 的工作和渗透测试。via: https://www.linux.com/news/webinar/2017/how-keep-hackers-out-your-linux-machine-part-3-your-questions-answered作者：MIKE GUTHRIE 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
在这个系列中， 我们会讨论一些阻止黑客入侵你的系统的重要信息。观看这个免费的网络点播研讨会获取更多的信息。在这个系列的第一部分中，我分享过两种简单的方法来阻止黑客黑掉你的 Linux 主机。这里是另外三条来自于我最近在 Linux 基金会的网络研讨会上的建议，在这次研讨会中，我分享了更多的黑客用来入侵你的主机的策略、工具和方法。完整的网络点播研讨会视频可以在网上免费观看。简单的 Linux 安全提示 #3Sudo。Sudo 非常、非常的重要。我认为这只是很基本的东西，但就是这些基本的东西会让我的黑客生涯会变得更困难一些。如果你没有配置 sudo，还请配置好它。还有，你主机上所有的用户必须使用他们自己的密码。不要都免密码使用 sudo 执行所有命令。当我有一个可以无需密码而可以 sudo 任何命令的用户，只会让我的黑客活动变得更容易。如果我可以无需验证就可以 sudo ，同时当我获得你的没有密码的 SSH 密钥后，我就能十分容易的开始任何黑客活动。这样，我就拥有了你机器的 root 权限。保持较低的超时时间。我们喜欢劫持用户的会话，如果你的某个用户能够使用 sudo，并且设置的超时时间是 3 小时，当我劫持了你的会话，那么你就再次给了我一个自由的通道，哪怕你需要一个密码。我推荐的超时时间大约为 10 分钟，甚至是 5 分钟。用户们将需要反复地输入他们的密码，但是，如果你设置了较低的超时时间，你将减少你的受攻击面。还要限制可以访问的命令，并禁止通过 sudo 来访问 shell。大多数 Linux 发行版目前默认允许你使用 sudo bash 来获取一个 root 身份的 shell，当你需要做大量的系统管理的任务时，这种机制是非常好的。然而，应该对大多数用户实际需要运行的命令有一个限制。你对他们限制越多，你主机的受攻击面就越小。如果你允许我 shell 访问，我将能够做任何类型的事情。简单的 Linux 安全提示 #4限制正在运行的服务。防火墙很好，你的边界防火墙非常的强大。当流量流经你的外部网络时，有几家防火墙产品可以帮你很好的保护好自己。但是防火墙内的人呢？你正在使用基于主机的防火墙或者基于主机的入侵检测系统吗？如果是，请正确配置好它。怎样可以知道你的正在受到保护的东西是否出了问题呢？答案是限制当前正在运行的服务。不要在不需要提供 MySQL 服务的机器上运行它。如果你有一个默认会安装完整的 LAMP 套件的 Linux 发行版，而你不会在它上面运行任何东西，那么卸载它。禁止那些服务，不要开启它们。同时确保用户不要使用默认的身份凭证，确保那些内容已被安全地配置。如何你正在运行 Tomcat，你不应该可以上传你自己的小程序（applets）。确保它们不会以 root 的身份运行。如果我能够运行一个小程序，我不会想着以管理员的身份来运行它，我能访问就行。你对人们能够做的事情限制越多，你的机器就将越安全。简单的 Linux 安全提示 #5小心你的日志记录。看看它们，认真地，小心你的日志记录。六个月前，我们遇到一个问题。我们的一个顾客从来不去看日志记录，尽管他们已经拥有了很久、很久的日志记录。假如他们曾经看过日志记录，他们就会发现他们的机器早就已经被入侵了，并且他们的整个网络都是对外开放的。我在家里处理的这个问题。每天早上起来，我都有一个习惯，我会检查我的 email，我会浏览我的日志记录。这仅会花费我 15 分钟，但是它却能告诉我很多关于什么正在发生的信息。就在这个早上，机房里的三台电脑死机了，我不得不去重启它们。我不知道为什么会出现这样的情况，但是我可以从日志记录里面查出什么出了问题。它们是实验室的机器，我并不在意它们，但是有人会在意。通过 Syslog、Splunk 或者任何其他日志整合工具将你的日志进行集中是极佳的选择。这比将日志保存在本地要好。我最喜欢做是事情就是修改你的日志记录让你不知道我曾经入侵过你的电脑。如果我能这么做，你将不会有任何线索。对我来说，修改集中的日志记录比修改本地的日志更难。它们就像你的很重要的人，送给它们鲜花——磁盘空间。确保你有足够的磁盘空间用来记录日志。由于磁盘满而变成只读的文件系统并不是一件愉快的事情。还需要知道什么是不正常的。这是一件非常困难的事情，但是从长远来看，这将使你日后受益匪浅。你应该知道什么正在进行和什么时候出现了一些异常。确保你知道那。在第三篇也是最后的一篇文章里，我将就这次研讨会中问到的一些比较好的安全问题进行回答。现在开始看这个完整的免费的网络点播研讨会吧。Mike Guthrie 就职于能源部，主要做红队交战和渗透测试。via: https://www.linux.com/news/webinar/2017/how-keep-hackers-out-your-linux-machine-part-2-three-more-easy-security-tips作者：MIKE GUTHRIE 译者：zhousiyu325 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
在本系列中，我们将介绍五种将黑客拒之门外的最简单的方法。在互联网上没有什么比诱人的 Linux 机器让黑客更喜欢的了。在最近的 Linux 基金会网络研讨会中，我分享了黑客用来侵入的战术、工具和方法。在这个系列的博文中，我们将介绍五种将黑客拒之门外的最简单的方法，并知道他们是否已经侵入。想要了解更多信息？请观看免费的网络研讨会点播。简单的 Linux 安全提示 #1如果你没有在使用安全 shell，你应该取使用它。这是一个有非常非常长时间的提示了。Telnet 是不安全的。 rLogin 是不安全的。仍然有服务需要这些，但它们不应该暴露在互联网上。如果你没有 SSH ，那就关闭互联网连接。我们总是说：使用 SSH 密钥。SSH 规则 1：不要使用密码认证。SSH 规则 2：不要使用密码认证。SSH 规则 3：不要使用密码认证。重要的事情重复三遍。如果你有一台 Linux 机器在互联网上，不管时间长短，你总是面临暴力破解。肯定会这样的。暴力破解用的是脚本。扫描器只要看到对互联网开放的端口 22，它们就会攻击它。你可以做的另一件事是修改 SSH 的标准端口，我们许多人都这么做。这可以防止少量的暴力攻击，但是，一般来说，不使用密码认证，你会更安全。SSH 的第四条规则：所有密钥都要设置密码。无密码密钥根本就不是真正的密钥。我知道如果你想要自动登录或自动化一些事情，这会使得难以处理，但所有的密钥应该有密码！我最喜欢做的就是入侵一台主机，并找到主目录与私钥。一旦我拥有了私钥，那你就玩完了。我可以闯入使用该公钥的任何地方。如果你有口令短语，哪怕只是一个密码，它不用是你的密钥环的长密码，但是它会使我的行为更加、更加困难。简单的 Linux 安全提示 #2安装 Fail2ban我说的那些暴力攻击？fail2ban 将大大有助于你。它将自动激活 iptables 规则以阻止 SSH 到你的机器的重复尝试。把它配置好，让它不会把你关在门外或者占用太多的资源。要使用它、爱它、看着它。它有自己的日志，所以一定要查看它们，并检查它是否在实际运行。这是一件非常重要的事情。在本系列的第 2 部分，我会给你三个更容易的安全提示，以让黑客远离你的 Linux 机器。你也可以现在观看完整的免费网络研讨会。via: https://www.linux.com/news/webinar/2017/how-keep-hackers-out-your-linux-machine-part-1-top-two-security-tips作者：Mike Guthrie 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出