惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
T
Threatpost
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园 - Franky
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
M
MIT News - Artificial intelligence
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
云风的 BLOG
云风的 BLOG
S
Security Affairs
P
Proofpoint News Feed
L
LINUX DO - 最新话题
宝玉的分享
宝玉的分享
S
Security @ Cisco Blogs
H
Hacker News: Front Page
Security Archives - TechRepublic
Security Archives - TechRepublic
Vercel News
Vercel News
Engineering at Meta
Engineering at Meta
Know Your Adversary
Know Your Adversary
Y
Y Combinator Blog
美团技术团队
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
月光博客
月光博客
量子位
博客园_首页
The Last Watchdog
The Last Watchdog
D
DataBreaches.Net
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed
The Register - Security
The Register - Security
Schneier on Security
Schneier on Security
H
Help Net Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
F
Full Disclosure
C
Cyber Attacks, Cyber Crime and Cyber Security
MyScale Blog
MyScale Blog
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
L
Lohrmann on Cybersecurity
S
Secure Thoughts
Stack Overflow Blog
Stack Overflow Blog
Cloudbric
Cloudbric
Microsoft Security Blog
Microsoft Security Blog

顾宇的博客

用 AI 重启生活 初始化 MacOS 关于我 再次见面,期待相遇 演讲和分享 如何通过政策红利获利?——海南发展(SZ.002163)交易复盘 2025年的总结 2024年的总结 2023年的总结 2022年的总结 《敏捷测试价值观、方法与实践》序 【翻译】函数式编程中的领域驱动设计 【翻译】通过跟踪技术债来改进你的开发实践 【翻译】不要把测试用例自动化 【翻译】持续部署 vs 持续交付 【翻译】测试替身 【翻译】做多少测试才足够 【翻译】蓝绿部署的起源 【翻译】持续部署 【翻译】作为演进式架构的微服务架构 【翻译】gRPC 的动机和设计原则 【翻译】分布式计算谬误 【翻译】微服务和分布式对象第一法则 采用 Multipass 管理本机虚拟 K8S 集群 博客主题升级到 Congo 2.0 【翻译】Terraform 最佳实践:模块组合 【翻译】Kubernetes 部署语言(Kubernetes Deployment Language) 通过 Vagrant 一键初始化 K8S 集群 2021年的总结 通过 Github Actions 部署 Mkdocs 文档 博客迁移到了新的 Hugo 主题 2020年的总结 2019年的总结 千人规模组织级 DevOps 演进的 9 个实践技巧 从技术雷达看 DevOps 的十年——容器技术与微服务 DevOps 模式 - 引入 DevOps 顾问 DevOps 模式 - 索引 DevOps 模式 - 定义你的DevOps 从技术雷达看 DevOps 的十年——基础设施即代码与云计算 DevOps 模式 - 采用模式语言讨论 DevOps 从星巴克店面运营学习 DevOps 从技术雷达看 DevOps 的十年——DevOps与持续交付 云原生下的 DevSecOps 实践 【翻译】软件定义交付宣言 微服务演进中的经验和反思 迟到的 2018 年终总结 成功微服务实施的组织演进 从第19期技术雷达看 DevOps 的发展趋势 成功微服务实施的技术演进 我们如何衡量微服务的成功? 关于四周四 AWS 架构工作坊的设计和实践 讨论微服务之前,你知道微服务的 4 个定义吗? 公有云(AWS)上的生产环境架构优化案例和迁移套路总结 公有云(AWS)上的生产环境性能分析案例 一怒之下,我又写了一个开源流量测试工具 采用 DevOps 故事落地 DevOps 测试驱动开发 Nginx 配置 云原生 DevOps 翻译-混沌工程的原则 Serverless 风格的微服务的持续交付 从最新一期技术雷达看 DevOps 的发展 关于 DevOps ,咱们聊的可能不是一回事 Serverless 风格的微服务的架构案例 提升微服务实施效率的 7 个步骤 微服务实施常被忽视的 5 个难点 你的 CI 在挖矿吗? DevOps前世今生 - 4. DevOps 的文化 DevOps发展的九个趋势 不要让你的持续集成服务器成为安全隐患 DevOps 前世今生 - 3. DevOps 的目标和核心 DevOps 前世今生 - 2. DevOps 矛盾从何而来 DevOps 前世今生 - 1. DevOps 编年史
【翻译】微服务安全:所有应该被问到的问题
顾宇 · 2019-03-22 · via 顾宇的博客
  1. 顾宇的博客/
  2. Blogs/
  3. 【翻译】微服务安全:所有应该被问到的问题/

本文节选自 Graham Lea 的博客:Microservices Security: All The Questions You Should Be Asking

GitHub(含中文翻译)地址:https://github.com/wombat-bros-sisters/answers-to-microservices-security-questions

以下是我的问题列表, 您和您的团队应该向自己询问有关微服务安全性的问题。它旨在用作评估您自己的系统和流程的清单。希望你会发现你已经涵盖了这些问题中的大多数, 但总是有更多的东西需要学习。每个问题之后都有一个相关内容的链接。

核心服务(Core Services) #

(我指的是组成您的系统的服务, 不与互联网或其他外部系统接口)

  1. 您是否只是在互联网边界保护您的系统?(纵深防御)
  2. 如果入侵者进入您的核心网络, 您有哪些保护措施?(纵深防御)
  3. 网络中的某个人在多大程度上可以轻松地访问您的服务之间的流量?(安全通信)
  4. 您的服务之间是不是过于相互信任?或者,你的服务是不是无条件相信高频调用者(您确定只有您自己的服务可以调用您自己的服务吗?)(勉强信任)
  5. 当您的服务被调用时, 它是否要求调用方对进行身份验证, 或者它是否允许任何连接请求?(服务认证)
  6. 您的服务是让调用者访问服务提供的所有 API, 还是只允许他们访问履行其功能所需的 API?(服务授权)
  7. 在客户端发起每个调用请求的人的身份是否会传递到您的内部服务中, 还是在网关中丢失?(当事人传播)
  8. 您的服务是否可以相互请求任何数据, 或仅请求授予其权限的用户的数据?(当事人授权)
  9. 如果攻击者拥有某个服务, 他们是否可以很容易地从其下游服务中请求任何内容?(当事人授权)
  10. 您有什么保证措施从经过身份验证的用户收到的请求没有被篡改?(防篡改)
  11. 您如何确保第二次发送的授权请求被检测和拒绝?(重播保护)
  12. 是不是每个人都理解 SQL 注入?您有哪些措施来确保没有人编写容易受到 SQL 注入的代码?(SQL 注入)
  13. 您是否熟悉所有其他类型的注入, 以及如何预防?(SQL 之外的注入)
  14. 您是否掌握了密码存储的最新状态?(密码存储)
  15. 您是否意识到, 如果您的密码数据库被盗, 如今简单的撒盐加密是完全无用的?(密码存储)
  16. 如果您需要升级密码存储算法, 如何在不对用户造成大规模干扰的情况下进行升级?(密码存储)
  17. 如何积极识别数据库中的私有和敏感数据?(私隐提升)
  18. 如果您的数据被盗, 您有哪些保护措施来防止最敏感的部分被读取?(私人和敏感数据)
  19. 如果您的服务使用的是私钥, 如何保护这些密钥不被入侵者使用?(密钥管理, 千万不要以为您的秘密是安全的)
  20. 您知道什么是硬件安全模块 (Hardware Security Module,HSM), 以及何时以及如何使用硬件安全模块吗?(密钥管理)
  21. 您有哪些日志记录可用于检测和分析安全漏洞?(安全日志记录/安全信息和事件管理 (Security Information and Event Management ,SIEM))

中间件(Middleware) #

(我指的是您在系统和界面中运行的任何第三方软件。在我的公司里, 目前这主要是我们的数据库和邮件系统, 但它可能包括其他系统, 例如 bpm 和 中间件。这些问题大多也适用于集成的外部软件。

  1. 您是否在所有服务中共享一个数据库登录权限?(最少特权)
  2. 您的服务可以访问多少数据?是所有的?还是只有他们必须的?(最少特权)
  3. 如果攻击者获得了一个服务的数据库凭据, 他们将获得多少数据?(最少特权)
  4. 您的数据库授权策略是否允许更新和删除应用程序仅插入到的表?(最少特权)
  5. 您是否在所有服务中共享单个消息传递中间件登录?(最少特权)
  6. 您的消息传递中间件是否也有登录凭据?(有些还没有!)(最少特权)
  7. 您的服务是否有权访问系统中的所有消息, 还是只能访问他们需要查看的邮件?(最少特权)
  8. 您的服务是否可以将消息发送到任何队列, 或仅将消息发送到所需的队列?(最少特权)
  9. 如果攻击者掌握了一个消息服务的凭据, 他们可以访问多少数据?(最少特权)
  10. 如果攻击者掌握了一个消息服务的凭据, 他们可以启动哪些操作?(最少特权)
  11. 如果您使用登录凭据保护数据库和消息, 如何保护凭据?(千万不要以为你的秘密是安全的)
  12. 架构中的遗留系统如何使其他服务处于危险之中?(保护最薄弱的环节)

边缘服务(Edge Services) #

(我指的是与互联网或其他外部管理的第三方系统接口的服务)

  1. 您是否已将 TLS 实现升级到最新版本?(安全通信)
  2. 您是否配置了 TLS 以消除降级和弱密码攻击?(安全通信)
  3. 您的员工中谁知道有关 TLS 的所有信息, 以及如何安全地配置 TLS?(安全通信)
  4. 如何确保您的内部网站和管理员网址不会意外地打开到互联网上?
  5. 我可以从网关服务的未经身份验证的 api 中获取哪些信息?(枚举)
  6. 我有一个破解密码和用户电子邮件的列表。我可以使用您的密码提醒 url 来测试您的系统中的哪些用户吗?(认证)
  7. 您的系统其他部分是否过于信任您的网关服务?(勉强信任)
  8. 如果您假设您的网关服务已被完全破坏, 您在其他地方会有什么不同的做法?(纵深防御)
  9. 如果网关服务被完全破坏, 可以从内存中收集哪些数据?(纵深防御)
  10. 如果网关服务被完全破坏, 可以从网络流量中捕获哪些数据?(纵深防御)

Web 和其他客户端(Web & Other Clients) #

(我指的是您可能会也可能不创作与服务器端系统接口的软件, 很可能是通过 internet)

  1. 您如何帮助您的用户选择更安全的密码?(密码复杂性)
  2. 当输入密码错误时, 您会给出什么反馈?它是否可以用来枚举用户帐户?(枚举)
  3. 在多次登录尝试失败后, 是否锁定帐户?(认证)
  4. 您给攻击者多少机会猜测每个帐户的密码?(账户安全)
  5. 当您锁定帐户时, 您会给出哪些反馈?它是否可以用来枚举用户帐户?(枚举)
  6. 您是否有密码提醒功能?是否可以使用它来枚举用户帐户?(枚举)
  7. 您是否有密码重置功能?是否可以使用它来枚举用户帐户?(枚举)
  8. 您是否考虑过您的系统或系统的某些部分是否需要多重身份验证?(枚举)
  9. 是否还有人注意到安全和良好的用户体验之间似乎有一场史诗般的战斗?(UX vs 安全)
  10. 您熟悉 owasp 十大网络漏洞吗?(网络安全缺陷)
  11. 您能说出所有 owasp 十大网络漏洞的名称吗?(网络安全缺陷)
  12. 你的团队中的每个人都能说出所有 owasp 前十名的名字吗?(网络安全缺陷)
  13. 你团队中的每个人都能解释如何防范所有的 owasp 前十名吗?(网络安全缺陷)
  14. 如何确保在用作输出时正确转义每一块用户数据?(xss/输出编码)
  15. 如何正确地在输出用户数据的各种不同上下文中获取用户数据?(xss/输出编码)
  16. 您如何帮助防止用户因使用 web 应用而受到攻击?
  17. 您的 web 应用设计是否将浏览器视为不安全的环境?(勉强信任)
  18. 您的原生移动应用设计是否将设备视为不安全的环境?(勉强信任)
  19. 您如何帮助防止用户因使用本机应用而受到攻击?
  20. 您在客户端上存储或缓存哪些数据?您如何保护它?如果有人窃取了这些数据, 会发生什么情况?它需要放在客户端吗?

人员和过程 #

(我指的是开发和操作您的系统的人员, 以及他们用来执行此操作的过程)

  1. 你在做什么来确保安全被嵌入到你的工程团队所做的一切中去?(安全内建)
  2. 你如何把共同的安全原则嵌入到每个人的大脑里?(安全原则)
  3. 开发过程中明确内置了哪些安全活动?(安全软件开发过程)
  4. 您为开发人员、测试人员和操作人员提供哪些安全培训?(安全培训)
  5. 技术人员是否只知道漏洞的名称, 还是真的知道如何利用和测试这些漏洞?(安全培训)
  6. 您放置了哪些控制, 谁可以访问系统的哪些部分?(访问控制)
  7. 您有什么计划定期审查这些控制措施和人们的访问权限的适当性?(访问控制审核)
  8. 您发现和修复第三方软件中的漏洞的过程是什么?(漏洞管理)
  9. 如何鼓励工程师将时间用于头脑风暴系统中的风险?(风险头脑风暴/“风险风暴”)
  10. 您是否有确保每项新服务都以极大的安全性启动的服务模板?(安全应用程序模板)
  11. 让内部员工定期测试系统的安全性的计划是什么?(安全测试)
  12. 你有什么计划, 你会多久引进一次外部安全专家, 你将如何选择他们关注的内容?(安全测试)
  13. 你在哪些活动中得到了专家的帮助?只是渗透测试?设计和架构评论如何?(安全测试)
  14. 您必须进行哪些自动测试来捕获编写漏洞的漏洞?(自动化安全测试)
  15. 为了确保安全控制始终到位, 您必须进行哪些自动测试?(自动化安全测试)
  16. 你们是否一直在问自己: “如果这个控制点失效了怎么办?下一个控制点是什么? “(纵深防御)

最后..

“ 假设您的网络受到威胁,你的系统的哪些部分会让你深夜加班?”