
程序员以代码的形式征服安全基础架构系列:密码的明文存储
在自己的组织中以代码形式部署安全基础架构时,你的表现如何?这可能有点像学习曲线,但学习技巧将是提升技能、在同龄人中脱颖而出的绝佳机会, 和 确保更多最终用户数据的安全。
在我们开始最新的 Coders Conquer Security 系列的下一章之前,我想邀请你来玩一场敏感数据存储漏洞的游戏化挑战赛;立即玩游戏并从 Kubernetes、Terraform、Ansible、Docker 或 CloudFormation 中进行选择:
那怎么样?如果你的知识需要一些研究,请继续阅读:
如今,大多数计算机安全的关键都涉及密码。即使采用其他安全方法,例如双因素身份验证或生物识别,大多数组织仍将基于密码的安全性作为其保护要素之一。对于许多公司来说,密码是专门使用的。
我们经常使用密码,甚至有关于如何创建密码的规则。这本应使他们不那么容易受到暴力攻击甚至疯狂猜测。当然,有些人仍然使用弱密码,最近的一篇文章就证明了这一点 来自 NordPass 的报告。很难相信在2020年,人们仍在使用12345以及许多其他可以猜到的词语来保护他们最敏感的资产,例如巧克力、密码和上帝。
总会有人不在乎使用强密码,但是大多数专业组织会强制用户以某些方式制作访问单词或短语。我们现在都知道规则,密码必须至少为八个字符,由大写和小写字母组成,至少需要一个数字和一个特殊字符。
不好的是,即使用户遵守制作最强密码的规则,如果它们全部以明文形式存储,也可能没有任何好处。12345 的密码和 Nuts53 一样糟糕!如果黑客能够读取整个密码文件,请使用 Spike&dog12。
为什么以明文形式存储密码很危险?
以明文形式存储密码是不好的,因为它会给系统和用户带来风险。显然,让黑客能够找到并读取用于访问系统的每一个密码将是一场灾难。他们只需找到具有管理员凭据的用户并入侵整个系统或站点即可。而且,由于他们将使用正确的用户名和密码,因此内部安全部门可能无法捕捉到入侵或在损害造成很长时间后发现入侵。
让攻击者很容易窃取以明文形式存储的密码也会伤害用户,因为许多人会重复使用密码。由于我们使得创建密码变得非常困难,因此许多人不得不重复使用他们可以在多个站点上记住的密码。如果攻击者泄露密码文件,他们几乎肯定会尝试使用相同的名称和密码访问其他系统,这使用户面临二次犯罪的巨大风险。
意外将密码存储为纯文本或没有意识到这可能会在未来造成重大问题相对容易。例如,以下代码是使用 Terraform 模板定义 AWS 资源时用来存储密码的常用方法:
资源 “aws_db_instance” “默认” {
引擎 = “mysql”
分配的存储空间 = 10
instance_class = “db.t2.micro”
用户名 = “管理员”
密码 = “s3.cr3t.admin.p2ss”
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}
在该示例中,用于在 AWS 中管理 MySQL 数据库实例的密码以纯文本形式存储。这意味着任何有权访问源代码存储库的人都可以读取甚至复制它。
保护密码因框架而异,但每个平台都有保护方法。例如,MySQL 密码可以存储在 AWS 密钥管理器等安全存储器中:
资源 “aws_db_instance” “默认” {
引擎 = “mysql”
分配的存储空间 = 10
instance_class = “db.t2.micro”
用户名 = “管理员”
密码 = “$ {data.aws_secretsmanager_secret_version.password.secret_string}”
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}
在该示例中,Terraform 模板将从 AWS Secrets Manager 服务获取密码,并且永远不会以纯文本形式存储在模板文件中。
通过避免明文存储来保护密码
密码是通往王国的钥匙,切勿以纯文本形式存储。即使是组织内部的人也不应该访问大型的、不受保护的密码存储库,也不应将其作为公认的商业协议(现在有很多密码管理器允许加密凭据共享——没有任何借口!)。还存在恶意内部人员窥探文件并在不应该访问的地方获得访问权限的危险。
对于外部攻击,想象一下,如果通过 SQL 注入漏洞这样简单的东西找到了数据库的后门,他们还能访问存储密码的目录,那么可能会出现双重打击。认为这太多充满错误的步骤无法实现吗?可悲的是, 这种确切的情况发生在 索尼在2011年的违规行为。超过一百万个客户密码以纯文本形式存储,Lulzsec黑客组织通过常见的SQL注入攻击访问了这些密码以及更多密码。
所有密码都应受到支持框架内可用的任何防御措施的保护。对于 Terraform,不应将密码存储在模板文件中。建议使用安全存储,如 AWS 密钥管理器或 Azure 密钥保管库,具体取决于基础设施提供商。
强迫用户创建安全密码是个好主意,但随后你也需要在后端尽自己的一份力量。将密码保存在明文存储空间之外将大大保护您的用户和系统。明文密码存储的主要危险是访问控制不力;本质上,任何人都可以看到它们。必须对这些信息进行充分的哈希处理,只有那些绝对需要访问权限的人才能获得这些信息(尤其是在突然之间,越来越多的人可以访问敏感信息的 IaC 环境中)。
来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞和漏洞的破坏。你也可以 试试演示 iaC 挑战赛 在 Secure Code Warrior 培训平台中,让您的所有网络安全技能不断磨练并保持最新状态。


如今,大多数计算机安全的关键都涉及密码。即使采用其他安全方法,例如双因素身份验证或生物识别,大多数组织仍将基于密码的安全性作为其保护要素之一。
Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

Secure Code Warrior peut aider votre organisation à sécuriser le code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, directeur de la sécurité de l'information ou tout autre professionnel concerné par la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez réserver une démonstration.Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.
Matias est un chercheur et un développeur qui possède plus de 15 ans d'expérience pratique dans le domaine de la sécurité des logiciels. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre entreprise Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont débouché sur des produits commerciaux et peut se targuer d'avoir déposé plus de 10 brevets. Lorsqu'il n'est pas à son bureau, Matias a été instructeur pour des formations avancées en matière de sécurité des applications ( courses ) et intervient régulièrement lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.
Matias est titulaire d'un doctorat en ingénierie informatique de l'Université de Gand, où il a étudié la sécurité des applications par le biais de l'obscurcissement des programmes afin de dissimuler le fonctionnement interne d'une application.


在自己的组织中以代码形式部署安全基础架构时,你的表现如何?这可能有点像学习曲线,但学习技巧将是提升技能、在同龄人中脱颖而出的绝佳机会, 和 确保更多最终用户数据的安全。
在我们开始最新的 Coders Conquer Security 系列的下一章之前,我想邀请你来玩一场敏感数据存储漏洞的游戏化挑战赛;立即玩游戏并从 Kubernetes、Terraform、Ansible、Docker 或 CloudFormation 中进行选择:
那怎么样?如果你的知识需要一些研究,请继续阅读:
如今,大多数计算机安全的关键都涉及密码。即使采用其他安全方法,例如双因素身份验证或生物识别,大多数组织仍将基于密码的安全性作为其保护要素之一。对于许多公司来说,密码是专门使用的。
我们经常使用密码,甚至有关于如何创建密码的规则。这本应使他们不那么容易受到暴力攻击甚至疯狂猜测。当然,有些人仍然使用弱密码,最近的一篇文章就证明了这一点 来自 NordPass 的报告。很难相信在2020年,人们仍在使用12345以及许多其他可以猜到的词语来保护他们最敏感的资产,例如巧克力、密码和上帝。
总会有人不在乎使用强密码,但是大多数专业组织会强制用户以某些方式制作访问单词或短语。我们现在都知道规则,密码必须至少为八个字符,由大写和小写字母组成,至少需要一个数字和一个特殊字符。
不好的是,即使用户遵守制作最强密码的规则,如果它们全部以明文形式存储,也可能没有任何好处。12345 的密码和 Nuts53 一样糟糕!如果黑客能够读取整个密码文件,请使用 Spike&dog12。
为什么以明文形式存储密码很危险?
以明文形式存储密码是不好的,因为它会给系统和用户带来风险。显然,让黑客能够找到并读取用于访问系统的每一个密码将是一场灾难。他们只需找到具有管理员凭据的用户并入侵整个系统或站点即可。而且,由于他们将使用正确的用户名和密码,因此内部安全部门可能无法捕捉到入侵或在损害造成很长时间后发现入侵。
让攻击者很容易窃取以明文形式存储的密码也会伤害用户,因为许多人会重复使用密码。由于我们使得创建密码变得非常困难,因此许多人不得不重复使用他们可以在多个站点上记住的密码。如果攻击者泄露密码文件,他们几乎肯定会尝试使用相同的名称和密码访问其他系统,这使用户面临二次犯罪的巨大风险。
意外将密码存储为纯文本或没有意识到这可能会在未来造成重大问题相对容易。例如,以下代码是使用 Terraform 模板定义 AWS 资源时用来存储密码的常用方法:
资源 “aws_db_instance” “默认” {
引擎 = “mysql”
分配的存储空间 = 10
instance_class = “db.t2.micro”
用户名 = “管理员”
密码 = “s3.cr3t.admin.p2ss”
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}
在该示例中,用于在 AWS 中管理 MySQL 数据库实例的密码以纯文本形式存储。这意味着任何有权访问源代码存储库的人都可以读取甚至复制它。
保护密码因框架而异,但每个平台都有保护方法。例如,MySQL 密码可以存储在 AWS 密钥管理器等安全存储器中:
资源 “aws_db_instance” “默认” {
引擎 = “mysql”
分配的存储空间 = 10
instance_class = “db.t2.micro”
用户名 = “管理员”
密码 = “$ {data.aws_secretsmanager_secret_version.password.secret_string}”
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}
在该示例中,Terraform 模板将从 AWS Secrets Manager 服务获取密码,并且永远不会以纯文本形式存储在模板文件中。
通过避免明文存储来保护密码
密码是通往王国的钥匙,切勿以纯文本形式存储。即使是组织内部的人也不应该访问大型的、不受保护的密码存储库,也不应将其作为公认的商业协议(现在有很多密码管理器允许加密凭据共享——没有任何借口!)。还存在恶意内部人员窥探文件并在不应该访问的地方获得访问权限的危险。
对于外部攻击,想象一下,如果通过 SQL 注入漏洞这样简单的东西找到了数据库的后门,他们还能访问存储密码的目录,那么可能会出现双重打击。认为这太多充满错误的步骤无法实现吗?可悲的是, 这种确切的情况发生在 索尼在2011年的违规行为。超过一百万个客户密码以纯文本形式存储,Lulzsec黑客组织通过常见的SQL注入攻击访问了这些密码以及更多密码。
所有密码都应受到支持框架内可用的任何防御措施的保护。对于 Terraform,不应将密码存储在模板文件中。建议使用安全存储,如 AWS 密钥管理器或 Azure 密钥保管库,具体取决于基础设施提供商。
强迫用户创建安全密码是个好主意,但随后你也需要在后端尽自己的一份力量。将密码保存在明文存储空间之外将大大保护您的用户和系统。明文密码存储的主要危险是访问控制不力;本质上,任何人都可以看到它们。必须对这些信息进行充分的哈希处理,只有那些绝对需要访问权限的人才能获得这些信息(尤其是在突然之间,越来越多的人可以访问敏感信息的 IaC 环境中)。
来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞和漏洞的破坏。你也可以 试试演示 iaC 挑战赛 在 Secure Code Warrior 培训平台中,让您的所有网络安全技能不断磨练并保持最新状态。

在自己的组织中以代码形式部署安全基础架构时,你的表现如何?这可能有点像学习曲线,但学习技巧将是提升技能、在同龄人中脱颖而出的绝佳机会, 和 确保更多最终用户数据的安全。
在我们开始最新的 Coders Conquer Security 系列的下一章之前,我想邀请你来玩一场敏感数据存储漏洞的游戏化挑战赛;立即玩游戏并从 Kubernetes、Terraform、Ansible、Docker 或 CloudFormation 中进行选择:
那怎么样?如果你的知识需要一些研究,请继续阅读:
如今,大多数计算机安全的关键都涉及密码。即使采用其他安全方法,例如双因素身份验证或生物识别,大多数组织仍将基于密码的安全性作为其保护要素之一。对于许多公司来说,密码是专门使用的。
我们经常使用密码,甚至有关于如何创建密码的规则。这本应使他们不那么容易受到暴力攻击甚至疯狂猜测。当然,有些人仍然使用弱密码,最近的一篇文章就证明了这一点 来自 NordPass 的报告。很难相信在2020年,人们仍在使用12345以及许多其他可以猜到的词语来保护他们最敏感的资产,例如巧克力、密码和上帝。
总会有人不在乎使用强密码,但是大多数专业组织会强制用户以某些方式制作访问单词或短语。我们现在都知道规则,密码必须至少为八个字符,由大写和小写字母组成,至少需要一个数字和一个特殊字符。
不好的是,即使用户遵守制作最强密码的规则,如果它们全部以明文形式存储,也可能没有任何好处。12345 的密码和 Nuts53 一样糟糕!如果黑客能够读取整个密码文件,请使用 Spike&dog12。
为什么以明文形式存储密码很危险?
以明文形式存储密码是不好的,因为它会给系统和用户带来风险。显然,让黑客能够找到并读取用于访问系统的每一个密码将是一场灾难。他们只需找到具有管理员凭据的用户并入侵整个系统或站点即可。而且,由于他们将使用正确的用户名和密码,因此内部安全部门可能无法捕捉到入侵或在损害造成很长时间后发现入侵。
让攻击者很容易窃取以明文形式存储的密码也会伤害用户,因为许多人会重复使用密码。由于我们使得创建密码变得非常困难,因此许多人不得不重复使用他们可以在多个站点上记住的密码。如果攻击者泄露密码文件,他们几乎肯定会尝试使用相同的名称和密码访问其他系统,这使用户面临二次犯罪的巨大风险。
意外将密码存储为纯文本或没有意识到这可能会在未来造成重大问题相对容易。例如,以下代码是使用 Terraform 模板定义 AWS 资源时用来存储密码的常用方法:
资源 “aws_db_instance” “默认” {
引擎 = “mysql”
分配的存储空间 = 10
instance_class = “db.t2.micro”
用户名 = “管理员”
密码 = “s3.cr3t.admin.p2ss”
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}
在该示例中,用于在 AWS 中管理 MySQL 数据库实例的密码以纯文本形式存储。这意味着任何有权访问源代码存储库的人都可以读取甚至复制它。
保护密码因框架而异,但每个平台都有保护方法。例如,MySQL 密码可以存储在 AWS 密钥管理器等安全存储器中:
资源 “aws_db_instance” “默认” {
引擎 = “mysql”
分配的存储空间 = 10
instance_class = “db.t2.micro”
用户名 = “管理员”
密码 = “$ {data.aws_secretsmanager_secret_version.password.secret_string}”
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}
在该示例中,Terraform 模板将从 AWS Secrets Manager 服务获取密码,并且永远不会以纯文本形式存储在模板文件中。
通过避免明文存储来保护密码
密码是通往王国的钥匙,切勿以纯文本形式存储。即使是组织内部的人也不应该访问大型的、不受保护的密码存储库,也不应将其作为公认的商业协议(现在有很多密码管理器允许加密凭据共享——没有任何借口!)。还存在恶意内部人员窥探文件并在不应该访问的地方获得访问权限的危险。
对于外部攻击,想象一下,如果通过 SQL 注入漏洞这样简单的东西找到了数据库的后门,他们还能访问存储密码的目录,那么可能会出现双重打击。认为这太多充满错误的步骤无法实现吗?可悲的是, 这种确切的情况发生在 索尼在2011年的违规行为。超过一百万个客户密码以纯文本形式存储,Lulzsec黑客组织通过常见的SQL注入攻击访问了这些密码以及更多密码。
所有密码都应受到支持框架内可用的任何防御措施的保护。对于 Terraform,不应将密码存储在模板文件中。建议使用安全存储,如 AWS 密钥管理器或 Azure 密钥保管库,具体取决于基础设施提供商。
强迫用户创建安全密码是个好主意,但随后你也需要在后端尽自己的一份力量。将密码保存在明文存储空间之外将大大保护您的用户和系统。明文密码存储的主要危险是访问控制不力;本质上,任何人都可以看到它们。必须对这些信息进行充分的哈希处理,只有那些绝对需要访问权限的人才能获得这些信息(尤其是在突然之间,越来越多的人可以访问敏感信息的 IaC 环境中)。
来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞和漏洞的破坏。你也可以 试试演示 iaC 挑战赛 在 Secure Code Warrior 培训平台中,让您的所有网络安全技能不断磨练并保持最新状态。

Veuillez cliquer sur le lien ci-dessous pour télécharger le PDF de cette ressource.
Secure Code Warrior peut aider votre organisation à sécuriser le code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, directeur de la sécurité de l'information ou tout autre professionnel concerné par la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez consulter le rapport.Veuillez réserver une démonstration.Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.
Matias est un chercheur et un développeur qui possède plus de 15 ans d'expérience pratique dans le domaine de la sécurité des logiciels. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre entreprise Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont débouché sur des produits commerciaux et peut se targuer d'avoir déposé plus de 10 brevets. Lorsqu'il n'est pas à son bureau, Matias a été instructeur pour des formations avancées en matière de sécurité des applications ( courses ) et intervient régulièrement lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.
Matias est titulaire d'un doctorat en ingénierie informatique de l'Université de Gand, où il a étudié la sécurité des applications par le biais de l'obscurcissement des programmes afin de dissimuler le fonctionnement interne d'une application.
在自己的组织中以代码形式部署安全基础架构时,你的表现如何?这可能有点像学习曲线,但学习技巧将是提升技能、在同龄人中脱颖而出的绝佳机会, 和 确保更多最终用户数据的安全。
在我们开始最新的 Coders Conquer Security 系列的下一章之前,我想邀请你来玩一场敏感数据存储漏洞的游戏化挑战赛;立即玩游戏并从 Kubernetes、Terraform、Ansible、Docker 或 CloudFormation 中进行选择:
那怎么样?如果你的知识需要一些研究,请继续阅读:
如今,大多数计算机安全的关键都涉及密码。即使采用其他安全方法,例如双因素身份验证或生物识别,大多数组织仍将基于密码的安全性作为其保护要素之一。对于许多公司来说,密码是专门使用的。
我们经常使用密码,甚至有关于如何创建密码的规则。这本应使他们不那么容易受到暴力攻击甚至疯狂猜测。当然,有些人仍然使用弱密码,最近的一篇文章就证明了这一点 来自 NordPass 的报告。很难相信在2020年,人们仍在使用12345以及许多其他可以猜到的词语来保护他们最敏感的资产,例如巧克力、密码和上帝。
总会有人不在乎使用强密码,但是大多数专业组织会强制用户以某些方式制作访问单词或短语。我们现在都知道规则,密码必须至少为八个字符,由大写和小写字母组成,至少需要一个数字和一个特殊字符。
不好的是,即使用户遵守制作最强密码的规则,如果它们全部以明文形式存储,也可能没有任何好处。12345 的密码和 Nuts53 一样糟糕!如果黑客能够读取整个密码文件,请使用 Spike&dog12。
为什么以明文形式存储密码很危险?
以明文形式存储密码是不好的,因为它会给系统和用户带来风险。显然,让黑客能够找到并读取用于访问系统的每一个密码将是一场灾难。他们只需找到具有管理员凭据的用户并入侵整个系统或站点即可。而且,由于他们将使用正确的用户名和密码,因此内部安全部门可能无法捕捉到入侵或在损害造成很长时间后发现入侵。
让攻击者很容易窃取以明文形式存储的密码也会伤害用户,因为许多人会重复使用密码。由于我们使得创建密码变得非常困难,因此许多人不得不重复使用他们可以在多个站点上记住的密码。如果攻击者泄露密码文件,他们几乎肯定会尝试使用相同的名称和密码访问其他系统,这使用户面临二次犯罪的巨大风险。
意外将密码存储为纯文本或没有意识到这可能会在未来造成重大问题相对容易。例如,以下代码是使用 Terraform 模板定义 AWS 资源时用来存储密码的常用方法:
资源 “aws_db_instance” “默认” {
引擎 = “mysql”
分配的存储空间 = 10
instance_class = “db.t2.micro”
用户名 = “管理员”
密码 = “s3.cr3t.admin.p2ss”
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}
在该示例中,用于在 AWS 中管理 MySQL 数据库实例的密码以纯文本形式存储。这意味着任何有权访问源代码存储库的人都可以读取甚至复制它。
保护密码因框架而异,但每个平台都有保护方法。例如,MySQL 密码可以存储在 AWS 密钥管理器等安全存储器中:
资源 “aws_db_instance” “默认” {
引擎 = “mysql”
分配的存储空间 = 10
instance_class = “db.t2.micro”
用户名 = “管理员”
密码 = “$ {data.aws_secretsmanager_secret_version.password.secret_string}”
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}
在该示例中,Terraform 模板将从 AWS Secrets Manager 服务获取密码,并且永远不会以纯文本形式存储在模板文件中。
通过避免明文存储来保护密码
密码是通往王国的钥匙,切勿以纯文本形式存储。即使是组织内部的人也不应该访问大型的、不受保护的密码存储库,也不应将其作为公认的商业协议(现在有很多密码管理器允许加密凭据共享——没有任何借口!)。还存在恶意内部人员窥探文件并在不应该访问的地方获得访问权限的危险。
对于外部攻击,想象一下,如果通过 SQL 注入漏洞这样简单的东西找到了数据库的后门,他们还能访问存储密码的目录,那么可能会出现双重打击。认为这太多充满错误的步骤无法实现吗?可悲的是, 这种确切的情况发生在 索尼在2011年的违规行为。超过一百万个客户密码以纯文本形式存储,Lulzsec黑客组织通过常见的SQL注入攻击访问了这些密码以及更多密码。
所有密码都应受到支持框架内可用的任何防御措施的保护。对于 Terraform,不应将密码存储在模板文件中。建议使用安全存储,如 AWS 密钥管理器或 Azure 密钥保管库,具体取决于基础设施提供商。
强迫用户创建安全密码是个好主意,但随后你也需要在后端尽自己的一份力量。将密码保存在明文存储空间之外将大大保护您的用户和系统。明文密码存储的主要危险是访问控制不力;本质上,任何人都可以看到它们。必须对这些信息进行充分的哈希处理,只有那些绝对需要访问权限的人才能获得这些信息(尤其是在突然之间,越来越多的人可以访问敏感信息的 IaC 环境中)。
来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞和漏洞的破坏。你也可以 试试演示 iaC 挑战赛 在 Secure Code Warrior 培训平台中,让您的所有网络安全技能不断磨练并保持最新状态。
Table des matières
Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

Secure Code Warrior peut aider votre organisation à sécuriser le code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, directeur de la sécurité de l'information ou tout autre professionnel concerné par la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez réserver une démonstration.TéléchargerRessources pour vous aider à démarrer
Formation sur les codes de sécurité : thèmes et contenu
Notre contenu de pointe évolue constamment pour s'adapter au paysage changeant du développement logiciel, tout en tenant compte de votre rôle. Les sujets abordés couvrent tout, de l'IA à l'injection XQuery, et s'adressent à divers postes, des architectes et ingénieurs aux chefs de produit et responsables de l'assurance qualité. Découvrez un aperçu par thème et par rôle de ce que notre catalogue de contenu a à offrir.
La Chambre de commerce établit la norme en matière de sécurité à grande échelle axée sur les développeurs
La Chambre de commerce néerlandaise explique comment elle a intégré le codage sécurisé dans le développement quotidien grâce à des certifications basées sur les rôles, à l'évaluation comparative du Trust Score et à une culture de responsabilité partagée en matière de sécurité.
Modélisation des menaces avec l'IA : transformer chaque développeur en modélisateur de menaces
Vous repartirez mieux équipé pour aider les développeurs à combiner les idées et les techniques de modélisation des menaces avec les outils d'IA qu'ils utilisent déjà pour renforcer la sécurité, améliorer la collaboration et créer des logiciels plus résilients dès le départ.
Ressources pour vous aider à démarrer
Cybermon est de retour : la mission AI pour vaincre le boss est désormais disponible sur demande.
Cybermon 2025 : la campagne « Vaincre le boss » est désormais disponible toute l'année dans SCW. La guerre de sécurité avancée de l'IA/LLM tribale, le renforcement de l'IA de sécurité à grande échelle.
Interprétation de la loi sur la résilience des réseaux : que signifie la sécurité par le biais de la conception et du développement de logiciels ?
Comprenez les exigences de la loi européenne sur la résilience des réseaux (CRA), à qui elle s'applique et comment les équipes d'ingénierie peuvent s'y préparer grâce à des pratiques de conception, à la prévention des vulnérabilités et au renforcement des capacités des développeurs.
Facteur déterminant 1 : des critères de réussite clairs et mesurables
Le catalyseur n° 1 constitue le premier volet de notre série en dix parties consacrée aux facteurs de réussite. Il démontre comment relier la sécurité du code aux résultats opérationnels, tels que la réduction des risques et l'accélération de la maturité des programmes à long terme.




%20(1).avif)
.avif)
