<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Notes on blog.212clab</title><link>https://212clab.pages.dev/notes/</link><description>Recent content in Notes on blog.212clab</description><generator>Hugo</generator><language>ko-kr</language><lastBuildDate>Sat, 02 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://212clab.pages.dev/notes/index.xml" rel="self" type="application/rss+xml"/><item><title>온프렘 보안 장비와 클라우드 연결 구성</title><link>https://212clab.pages.dev/notes/2026-05-02-onprem-security-to-cloud/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><guid>https://212clab.pages.dev/notes/2026-05-02-onprem-security-to-cloud/</guid><description>&lt;h2 id="온프렘-사무실-네트워크-보안-장비"&gt;온프렘 사무실 네트워크 보안 장비&lt;/h2&gt;
&lt;p&gt;일반적인 기업 사무실에서 사용하는 보안 장비를 바깥에서 안쪽 순서로 정리한다.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[인터넷]
 ↓
[① 방화벽 (Firewall)] ← 외부/내부 경계, L3/L4 필터링
 ↓
[② IDS/IPS] ← 침입 탐지/차단
 ↓
[③ VPN Gateway] ← 외부 접속 암호화 터널
 ↓
[④ WAF] ← 웹 애플리케이션 방화벽 (L7)
 ↓
[⑤ NAC] ← 네트워크 접근 제어 (단말 인증)
 ↓
[내부 네트워크 / 서버]
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="-방화벽-firewall"&gt;① 방화벽 (Firewall)&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;항목&lt;/th&gt;
 &lt;th&gt;설명&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;역할&lt;/td&gt;
 &lt;td&gt;외부/내부 트래픽 필터링, IP/Port 기반 허용/차단&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;위치&lt;/td&gt;
 &lt;td&gt;인터넷과 내부 네트워크 경계&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;장비 예시&lt;/td&gt;
 &lt;td&gt;Fortinet FortiGate, Palo Alto, Cisco ASA, Juniper SRX&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;클라우드 대응&lt;/td&gt;
 &lt;td&gt;Security Group + NACL&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;차세대 방화벽(NGFW)은 L7까지 검사하며, 애플리케이션 식별/사용자 식별/SSL 복호화까지 수행한다.&lt;/p&gt;</description></item><item><title>침투테스트 인프라 취약점 발견 및 보완 조치</title><link>https://212clab.pages.dev/notes/2026-04-15-pentest-remediation/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://212clab.pages.dev/notes/2026-04-15-pentest-remediation/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;KT Cloud TechUp 사이버보안 훈련에서 레드팀(4개 팀)이 72시간 동안 PlayBall 플랫폼을 대상으로 침투테스트를 수행했다. 인프라 영역에서 발견된 취약점에 대해 28건의 보완 조치를 수행했다.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;항목&lt;/th&gt;
 &lt;th&gt;내용&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;기간&lt;/td&gt;
 &lt;td&gt;2026-04-02 ~ 04 (72시간)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;대상&lt;/td&gt;
 &lt;td&gt;goormgb.space (Dev), staging.playball.one (Staging)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;레드팀&lt;/td&gt;
 &lt;td&gt;4개 팀 (5팀, 1팀, 4팀, 7팀)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;인프라 조치&lt;/td&gt;
 &lt;td&gt;28건 완료&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="주요-공격-성공-사례"&gt;주요 공격 성공 사례&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;공격&lt;/th&gt;
 &lt;th&gt;심각도&lt;/th&gt;
 &lt;th&gt;설명&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Kiali/kafka-ui 장악&lt;/td&gt;
 &lt;td&gt;CRITICAL&lt;/td&gt;
 &lt;td&gt;무인증 관리도구 외부 노출 → 클러스터 정보 탈취&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;EKS API 서버 외부 노출&lt;/td&gt;
 &lt;td&gt;HIGH&lt;/td&gt;
 &lt;td&gt;0.0.0.0/0 공개 → 누구나 API 접근 가능&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Rate Limiting 미적용&lt;/td&gt;
 &lt;td&gt;HIGH&lt;/td&gt;
 &lt;td&gt;10회 연속 로그인 성공, Brute Force 가능&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ALB 직접 접근&lt;/td&gt;
 &lt;td&gt;HIGH&lt;/td&gt;
 &lt;td&gt;CloudFront/WAF 우회하여 ALB에 직접 요청&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="발견된-인프라-취약점"&gt;발견된 인프라 취약점&lt;/h2&gt;
&lt;h3 id="critical"&gt;CRITICAL&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;ID&lt;/th&gt;
 &lt;th&gt;취약점&lt;/th&gt;
 &lt;th&gt;조치&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;C-10&lt;/td&gt;
 &lt;td&gt;Kiali prod 무인증 쓰기 접근&lt;/td&gt;
 &lt;td&gt;Admin Tools IP Whitelist (#25)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;C-11&lt;/td&gt;
 &lt;td&gt;kafka-ui 무인증, readOnly:false&lt;/td&gt;
 &lt;td&gt;Admin Tools IP Whitelist (#25)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="high"&gt;HIGH&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;ID&lt;/th&gt;
 &lt;th&gt;취약점&lt;/th&gt;
 &lt;th&gt;조치&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;H-02&lt;/td&gt;
 &lt;td&gt;K8s API 서버 외부 노출 (0.0.0.0/0)&lt;/td&gt;
 &lt;td&gt;EKS Control Plane 접근 제한 (#4)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;H-03&lt;/td&gt;
 &lt;td&gt;K8s 내부 서비스 DNS 노출&lt;/td&gt;
 &lt;td&gt;NetworkPolicy default-deny (#13)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;H-05&lt;/td&gt;
 &lt;td&gt;Actuator 전체 노출&lt;/td&gt;
 &lt;td&gt;내부 경로 차단 AuthorizationPolicy (#24)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;H-06&lt;/td&gt;
 &lt;td&gt;내부 라우트 + K8s URI 노출&lt;/td&gt;
 &lt;td&gt;Actuator 제거로 해소 (#24)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;H-08&lt;/td&gt;
 &lt;td&gt;서버 리소스 정보 노출&lt;/td&gt;
 &lt;td&gt;Actuator 제거로 해소 (#24)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;H-09&lt;/td&gt;
 &lt;td&gt;Thread Pool 무제한 DoS&lt;/td&gt;
 &lt;td&gt;Kyverno Require Resource Limits (#17)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;H-10&lt;/td&gt;
 &lt;td&gt;IP 블랙리스트 우회 (ALB 직접 접근)&lt;/td&gt;
 &lt;td&gt;CloudFront 전환 + ALB SG 제한 (#1, #2, #3)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;H-11&lt;/td&gt;
 &lt;td&gt;SQLi 앱 레벨 필터 우회 가능성&lt;/td&gt;
 &lt;td&gt;Istio WAF EnvoyFilter (#21)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;H-12&lt;/td&gt;
 &lt;td&gt;OS Command Injection 의심&lt;/td&gt;
 &lt;td&gt;Istio WAF EnvoyFilter (#21)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="medium"&gt;MEDIUM&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;ID&lt;/th&gt;
 &lt;th&gt;취약점&lt;/th&gt;
 &lt;th&gt;조치&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;M-01&lt;/td&gt;
 &lt;td&gt;Staging ALB 직접 노출 (CDN 미적용)&lt;/td&gt;
 &lt;td&gt;CloudFront 전환 (#1)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;M-02&lt;/td&gt;
 &lt;td&gt;Swagger UI 외부 노출&lt;/td&gt;
 &lt;td&gt;404 처리 완료&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;M-05&lt;/td&gt;
 &lt;td&gt;Admin 엔드포인트 존재 확인&lt;/td&gt;
 &lt;td&gt;JWT AuthorizationPolicy (#23)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;M-07&lt;/td&gt;
 &lt;td&gt;Actuator RBAC 불일치&lt;/td&gt;
 &lt;td&gt;내부 경로 차단 (#24)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;M-08&lt;/td&gt;
 &lt;td&gt;Gateway 라우트 수 노출&lt;/td&gt;
 &lt;td&gt;Actuator 제거로 해소 (#24)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;M-12&lt;/td&gt;
 &lt;td&gt;Origin 미검증 + Rate Limiting 미설정&lt;/td&gt;
 &lt;td&gt;Rate Limiting (#22)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="인프라-보완-조치-28건"&gt;인프라 보완 조치 (28건)&lt;/h2&gt;
&lt;h3 id="네트워크--접근-제어"&gt;네트워크 / 접근 제어&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;#&lt;/th&gt;
 &lt;th&gt;조치&lt;/th&gt;
 &lt;th&gt;대응 취약점&lt;/th&gt;
 &lt;th&gt;전&lt;/th&gt;
 &lt;th&gt;후&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;Staging API → CloudFront 전환&lt;/td&gt;
 &lt;td&gt;M-01, H-10&lt;/td&gt;
 &lt;td&gt;ALB 직접 노출&lt;/td&gt;
 &lt;td&gt;CloudFront Alias&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2&lt;/td&gt;
 &lt;td&gt;Prod API → CloudFront 전환&lt;/td&gt;
 &lt;td&gt;M-01, H-10&lt;/td&gt;
 &lt;td&gt;ALB 직접 / Cloudflare 단일&lt;/td&gt;
 &lt;td&gt;CloudFront Distribution&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;3&lt;/td&gt;
 &lt;td&gt;Staging ALB SG 제한&lt;/td&gt;
 &lt;td&gt;H-10, M-01&lt;/td&gt;
 &lt;td&gt;443 ← 0.0.0.0/0&lt;/td&gt;
 &lt;td&gt;CloudFront PL + 팀원 IP만&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;4&lt;/td&gt;
 &lt;td&gt;EKS Control Plane 접근 제한&lt;/td&gt;
 &lt;td&gt;H-02&lt;/td&gt;
 &lt;td&gt;public_access 0.0.0.0/0&lt;/td&gt;
 &lt;td&gt;bastion SG + 팀원 IP, private_access=true&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;25&lt;/td&gt;
 &lt;td&gt;Admin Tools IP Whitelist&lt;/td&gt;
 &lt;td&gt;C-10, C-11&lt;/td&gt;
 &lt;td&gt;무인증 외부 접근&lt;/td&gt;
 &lt;td&gt;팀 IP 외 DENY (kiali/kafka-ui/grafana 등)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="istio-service-mesh-보안"&gt;Istio Service Mesh 보안&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;#&lt;/th&gt;
 &lt;th&gt;조치&lt;/th&gt;
 &lt;th&gt;대응 취약점&lt;/th&gt;
 &lt;th&gt;전&lt;/th&gt;
 &lt;th&gt;후&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;14&lt;/td&gt;
 &lt;td&gt;mTLS STRICT&lt;/td&gt;
 &lt;td&gt;일반 암호화&lt;/td&gt;
 &lt;td&gt;PERMISSIVE 혼합&lt;/td&gt;
 &lt;td&gt;Mesh-wide STRICT&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;21&lt;/td&gt;
 &lt;td&gt;WAF (EnvoyFilter + Lua)&lt;/td&gt;
 &lt;td&gt;H-11, H-12&lt;/td&gt;
 &lt;td&gt;L7 탐지 없음&lt;/td&gt;
 &lt;td&gt;10종 탐지 (SQLi/XSS/CmdInj 등) + 자동 IP 블랙리스트&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;22&lt;/td&gt;
 &lt;td&gt;Rate Limiting (Local + Global)&lt;/td&gt;
 &lt;td&gt;M-12&lt;/td&gt;
 &lt;td&gt;제한 없음&lt;/td&gt;
 &lt;td&gt;/auth 10/s, /payment 5/s, /signup 3/s&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;23&lt;/td&gt;
 &lt;td&gt;JWT RequestAuthentication + AuthZ&lt;/td&gt;
 &lt;td&gt;M-05&lt;/td&gt;
 &lt;td&gt;앱만 JWT 검증&lt;/td&gt;
 &lt;td&gt;Istio 엣지 JWKS 검증 (미인증 → 401)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;24&lt;/td&gt;
 &lt;td&gt;내부 경로 차단&lt;/td&gt;
 &lt;td&gt;H-05, H-06, H-08, M-07&lt;/td&gt;
 &lt;td&gt;/actuator, /metrics 접근 가능&lt;/td&gt;
 &lt;td&gt;DENY 정책 적용&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="iam--권한-관리"&gt;IAM / 권한 관리&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;#&lt;/th&gt;
 &lt;th&gt;조치&lt;/th&gt;
 &lt;th&gt;대응 취약점&lt;/th&gt;
 &lt;th&gt;전&lt;/th&gt;
 &lt;th&gt;후&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;5&lt;/td&gt;
 &lt;td&gt;Node IMDSv2 강제&lt;/td&gt;
 &lt;td&gt;SSRF 대비&lt;/td&gt;
 &lt;td&gt;IMDSv1 허용&lt;/td&gt;
 &lt;td&gt;IMDSv2 전용&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;11&lt;/td&gt;
 &lt;td&gt;IAM IRSA 최소 권한&lt;/td&gt;
 &lt;td&gt;C-02&lt;/td&gt;
 &lt;td&gt;장기 Access Key&lt;/td&gt;
 &lt;td&gt;OIDC 기반 SA별 IAM Role, 정적 키 폐기&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;12&lt;/td&gt;
 &lt;td&gt;SSO Permission Set 분리&lt;/td&gt;
 &lt;td&gt;권한 최소화&lt;/td&gt;
 &lt;td&gt;Admin-Full 단일&lt;/td&gt;
 &lt;td&gt;DevOps/Developer/Security/ReadOnly 4종&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="kubernetes-정책-kyverno"&gt;Kubernetes 정책 (Kyverno)&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;#&lt;/th&gt;
 &lt;th&gt;조치&lt;/th&gt;
 &lt;th&gt;대응 취약점&lt;/th&gt;
 &lt;th&gt;효과&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;13&lt;/td&gt;
 &lt;td&gt;NetworkPolicy default-deny&lt;/td&gt;
 &lt;td&gt;H-03&lt;/td&gt;
 &lt;td&gt;네임스페이스 간 측면 이동 차단&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;15&lt;/td&gt;
 &lt;td&gt;Disallow Privileged&lt;/td&gt;
 &lt;td&gt;Pod 격리&lt;/td&gt;
 &lt;td&gt;privileged=true 차단&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;16&lt;/td&gt;
 &lt;td&gt;Disallow :latest Tag&lt;/td&gt;
 &lt;td&gt;버전 추적&lt;/td&gt;
 &lt;td&gt;image:latest 사용 금지&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;17&lt;/td&gt;
 &lt;td&gt;Require Resource Limits&lt;/td&gt;
 &lt;td&gt;H-09&lt;/td&gt;
 &lt;td&gt;CPU/Memory limits 필수&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;18&lt;/td&gt;
 &lt;td&gt;Require ArgoCD Management&lt;/td&gt;
 &lt;td&gt;GitOps 강제&lt;/td&gt;
 &lt;td&gt;라벨 없는 리소스 차단&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;19&lt;/td&gt;
 &lt;td&gt;Protect Critical Namespaces&lt;/td&gt;
 &lt;td&gt;C-10, C-11&lt;/td&gt;
 &lt;td&gt;kube-system/argocd/istio-system 무단 변경 차단&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;20&lt;/td&gt;
 &lt;td&gt;Policy Reporter&lt;/td&gt;
 &lt;td&gt;위반 가시화&lt;/td&gt;
 &lt;td&gt;위반 수집 + Discord 알림&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="감사--모니터링"&gt;감사 / 모니터링&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;#&lt;/th&gt;
 &lt;th&gt;조치&lt;/th&gt;
 &lt;th&gt;효과&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;6&lt;/td&gt;
 &lt;td&gt;EKS Control Plane 로깅&lt;/td&gt;
 &lt;td&gt;api/audit/authenticator/scheduler 전부 CloudWatch&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;7&lt;/td&gt;
 &lt;td&gt;CloudTrail Multi-Region + Log Validation&lt;/td&gt;
 &lt;td&gt;감사 증적 강화&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;8&lt;/td&gt;
 &lt;td&gt;감사 로그 S3 보안 정책&lt;/td&gt;
 &lt;td&gt;AES256 + Versioning + Lifecycle&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9&lt;/td&gt;
 &lt;td&gt;보안 이벤트 실시간 알람&lt;/td&gt;
 &lt;td&gt;EventBridge → Lambda → Discord&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;10&lt;/td&gt;
 &lt;td&gt;S3 감사 이벤트 요약 알람&lt;/td&gt;
 &lt;td&gt;S3 API 감시 → Discord&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="데이터-보호"&gt;데이터 보호&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;#&lt;/th&gt;
 &lt;th&gt;조치&lt;/th&gt;
 &lt;th&gt;대응 취약점&lt;/th&gt;
 &lt;th&gt;전&lt;/th&gt;
 &lt;th&gt;후&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;26&lt;/td&gt;
 &lt;td&gt;RDS 암호화 + Deletion Protection&lt;/td&gt;
 &lt;td&gt;C-05&lt;/td&gt;
 &lt;td&gt;기본값&lt;/td&gt;
 &lt;td&gt;storage_encrypted=true, deletion_protection=true&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;27&lt;/td&gt;
 &lt;td&gt;RDS 자격증명 Secrets Manager 이관&lt;/td&gt;
 &lt;td&gt;C-05&lt;/td&gt;
 &lt;td&gt;.env 평문&lt;/td&gt;
 &lt;td&gt;Secrets Manager + External Secrets&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="조치-결과"&gt;조치 결과&lt;/h2&gt;
&lt;h3 id="인프라-조치-전후-비교"&gt;인프라 조치 전후 비교&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;항목&lt;/th&gt;
 &lt;th&gt;조치 전&lt;/th&gt;
 &lt;th&gt;조치 후&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;EKS API&lt;/td&gt;
 &lt;td&gt;0.0.0.0/0 공개&lt;/td&gt;
 &lt;td&gt;bastion + 팀원 IP만&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ALB 접근&lt;/td&gt;
 &lt;td&gt;직접 노출&lt;/td&gt;
 &lt;td&gt;CloudFront 경유만 허용&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;관리도구 (Kiali, kafka-ui)&lt;/td&gt;
 &lt;td&gt;무인증 외부 접근&lt;/td&gt;
 &lt;td&gt;IP Whitelist + 인증&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;내부 통신&lt;/td&gt;
 &lt;td&gt;mTLS PERMISSIVE&lt;/td&gt;
 &lt;td&gt;mTLS STRICT&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;L7 공격 방어&lt;/td&gt;
 &lt;td&gt;없음&lt;/td&gt;
 &lt;td&gt;WAF 10종 탐지 + 자동 IP 차단&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Rate Limiting&lt;/td&gt;
 &lt;td&gt;없음&lt;/td&gt;
 &lt;td&gt;경로별 제한 (/auth 10/s 등)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;IAM 키 관리&lt;/td&gt;
 &lt;td&gt;장기 Access Key&lt;/td&gt;
 &lt;td&gt;IRSA (OIDC 기반 임시 자격증명)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DB 크리덴셜&lt;/td&gt;
 &lt;td&gt;.env 평문&lt;/td&gt;
 &lt;td&gt;Secrets Manager&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;감사 로그&lt;/td&gt;
 &lt;td&gt;미구성&lt;/td&gt;
 &lt;td&gt;CloudTrail + EventBridge → Discord 실시간 알림&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Pod 보안 정책&lt;/td&gt;
 &lt;td&gt;없음&lt;/td&gt;
 &lt;td&gt;Kyverno 6종 정책 + Policy Reporter&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Istio ext_authz Adapter 설계 및 구현</title><link>https://212clab.pages.dev/notes/2026-04-10-istio-authz-adapter/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://212clab.pages.dev/notes/2026-04-10-istio-authz-adapter/</guid><description>&lt;h2 id="배경"&gt;배경&lt;/h2&gt;
&lt;p&gt;AI 방어팀이 실시간 봇 탐지와 사후 분석 처리 두 가지를 구현해야 했는데, 앱 코드에 직접 넣으면 모든 서비스에 SDK를 심어야 하고 유지보수가 어려웠다. Istio의 ext_authz 확장 포인트를 활용하면 &lt;strong&gt;앱 코드 수정 없이 Mesh 레벨에서 투명하게&lt;/strong&gt; 요청을 가로채서 AI로 보낼 수 있어서, 이 방식을 AI 팀에 제안했고 합작으로 개발했다.&lt;/p&gt;
&lt;h3 id="역할-분담"&gt;역할 분담&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;담당&lt;/th&gt;
 &lt;th&gt;작업&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;인프라 (본인)&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Istio ext_authz 연동 설계, Go gRPC 어댑터 개발, EnvoyFilter 작성, Helm 배포 구성&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;AI 팀&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Critical API 선정, 판정 스펙 설계, AI Defense API(Python FastAPI) 개발, 행동 분석 엔진&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;핵심 아이디어: Envoy가 모든 요청을 이미 프록시하고 있으니까, 거기에 ext_authz hook을 걸어서 AI 판정을 받자.&lt;/p&gt;</description></item></channel></rss>