网络与安全面试:VPC、安全组、IAM、Direct Connect

在AWS高阶面试中,网络与安全是必考模块,考察候选人设计多账户隔离、混合云互联、最小权限策略的能力。本节聚焦VPC设计、安全组/NACL分层防护、IAM零信任模型三大核心场景。

理解需求 设计VPC 分层防护 最小权限 审计合规 回答框架:从业务需求驱动网络设计,逐层叠加安全控制 ✅ 加分点:提及VPC端点、安全组状态检测、IAM条件键、CloudTrail审计

问答卡片一:VPC设计与多账户架构

面试问题:请描述一个多账户环境下的VPC设计方案,如何实现网络隔离与互联?
    面试官考察点:
  • 是否理解VPC对等连接、Transit Gateway、VPN的适用场景
  • 能否平衡隔离粒度与运维复杂度
  • 是否考虑跨账户VPC共享(通过RAM)

回答框架: 1. 按环境(dev/staging/prod)创建独立VPC,每个VPC至少2个AZ。2. 使用Transit Gateway实现中央路由枢纽,通过路由表隔离不同环境。3. 核心服务通过VPC端点(Gateway/Interface)私有访问。4. 跨账户资源通过AWS Resource Access Manager共享子网。

简短示例回答: 我们按环境创建独立VPC,通过Transit Gateway连接并管理路由表。生产VPC仅允许与共享服务VPC和监控VPC通信。数据库通过VPC端点私密访问S3/DynamoDB。多账户子网通过RAM共享给应用账号,避免VPC对等连接爆炸。

    可能追问:
  • Transit Gateway路由表如何设计防止路由泄露?
  • VPC端点的可用性如何保障?
  • Direct Connect如何集成到多VPC架构?
⚠ 避坑提醒: 不要仅依赖VPC对等连接构建网状拓扑(超过10个VPC会失控)。避免在单一VPC中混放多个环境,导致爆炸半径过大。务必启用VPC Flow Logs并配置告警。

问答卡片二:安全组与网络ACL分层控制

面试问题:安全组(SG)和网络ACL(NACL)的区别是什么?实际中如何配合使用?
    面试官考察点:
  • 是否理解状态检查与无状态检查的区别
  • 能否设计防御纵深(SG做白名单,NACL做粗粒度黑名单)
  • 是否知道SG支持引用其他SG简化规则

回答框架: 1. SG是有状态、实例级防火墙,只允许规则;NACL是无状态、子网级防火墙,允许/拒绝规则。2. 典型策略:SG做精确白名单(仅允许必要端口+源SG);NACL做子网入口黑名单(如阻截恶意IP段)。3. 优先使用SG引用减少维护;NACL仅用于防护已知攻击源。

简短示例回答: 我们对Web层SG仅允许来自ALB SG的80/443;NACL在子网级别阻截某外部扫描IP段。SG由于有状态无需考虑返回流量,而NACL需显式添加入站和出站规则。注意SG默认拒绝所有入站,出站默认放行(应限制)。

    可能追问:
  • SG规则上限如何优化?
  • SG引用其他SG时,跨账户如何实现?
  • 如何用NACL临时封禁某个IP又不影响其他流量?
⚠ 避坑提醒: 不要在NACL中使用大量精细规则,超出20条影响性能。SG规则数过多需重构架构(如拆分服务层)。记住SG是有状态的,不要手动添加回程规则。

问答卡片三:IAM最小权限与边界策略

面试问题:如何在多账户环境中实施IAM最小权限原则?请结合实际案例说明。
    面试官考察点:
  • 是否掌握IAM策略引擎、权限边界、服务控制策略(SCP)的关系
  • 能否设计角色信任策略实现跨账户访问
  • 是否熟悉IAM Access Analyzer发现未预期的权限

回答框架: 1. 通过SCP设置全组织禁止Root操作、限制区域。2. 每个账户创建“权限边界”模板,限制角色最大权限。3. 应用角色使用精确的资源级条件(如s3:prefix限制桶路径)。4. 跨账户角色信任策略指定源账户和条件键(如aws:SourceArn)。

简短示例回答: 我们通过SCP禁止除合规团队外的所有账户删除CloudTrail。为每个业务角色创建权限边界JSON,角色自身策略只能在边界内定义。跨账户访问数据湖时,数据账户角色信任策略要求源账户的IAM角色携带特定的RequestTag。

    可能追问:
  • 什么是PassRole权限?如何防范特权提升?
  • IAM策略模拟器如何使用?
  • 如何审计未使用的角色与权限?
⚠ 避坑提醒: 避免设置过于宽松的“*”资源。使用条件键(如aws:SourceIp)增强上下文。SCP不要直接拒绝所有账户的Admin操作(应通过权限边界细粒度控制)。定期使用Access Analyzer生成策略建议。

公司侧重点(大厂倾向)

公司类型关注要点
互联网大厂(字节/阿里/腾讯等海外用AWS)多账户网络隔离、高可用混合云(Direct Connect + VPN BFD)、零信任IAM
外企/跨国公司合规审计(HIPAA/SOC2)、VPC端点最小暴露面、IAM跨账户精细授权
AWS专业服务/云原生公司VPC Lattice服务网格、Network Firewall、Security Hub自动化、IAM Roles anywhere
金融/政务PrivateLink私有连接、NACL与SG双重保险、IAM策略条件键(时间/IP/设备)

面试官画像

网络与安全方向的面试官通常是资深SRE或安全架构师,喜欢追问底层实现(如VPC路由表优先级、SG连接跟踪表溢出)。他们期待候选人不只背诵概念,还能画出拓扑图、阐述故障场景下的流量路径。同时关注你对安全左移的理解——如何在CI/CD中嵌入权限检查。

整体回答框架

💡 回答所有网络与安全问题时,可按“业务需求 → 设计原则 → 具体方案 → 踩坑教训 → 自动化加固”五步展开,体现从架构到运营的闭环思维。

简短示例(综合应用)

“基于业务增长需求,我们采用多VPC+Transit Gateway架构;安全方面,SG做白名单细粒度控制,NACL做子网级黑名单;IAM通过SCP+权限边界+角色信任实现最小权限。通过VPC Flow Logs + IAM Access Analyzer持续审计,并使用CloudFormation模板固化网络和安全基线。”

高频追问清单

  • Direct Connect主备链路如何设计BGP负载均衡与故障切换?
  • VPC端点策略与桶策略冲突时如何解析?
  • 如何实现跨区域VPC互通并保证加密?(Transit Gateway + VPN or PrivateLink)
  • IAM Role Session Tag如何实现基于属性的授权?
  • 安全组连接追踪在容器场景下如何优化?

避坑提醒(汇总)

🚨 关键雷区:
  • 不要忽略VPC的CIDR规划——后期无法修改重叠网段
  • 启用VPC Flow Logs但忘记设置查询权限(需在Athena或S3权限中配置)
  • IAM策略中使用“NotAction”容易产生意外放行
  • SCP拒绝语句影响所有IAM用户/角色,包括管理账户(需谨慎)
  • Direct Connect的BGP会话失败不会自动切换VPN(需设计Plan B)