GH GambleHub

음식 환경 강화

생산 환경 강화

1) 목적과 프레임

강화는 사고 가능성과 사고로 인한 피해를 줄이는 체계적인 관행입니다. 초점: API 경계, 고객/결제 데이터, CI/CD, 컨테이너 플랫폼, 액세스, 변경 제어, 관찰 및 준수.

주요 원칙:
  • 설계 및 기본값으로 보안: 필요한 최소 권한, 기본값을 보호합니다.
  • 제로 트러스트: 확인없이 네트워크 나 신원을 신뢰하지 마
  • 심층 방어: 다단계 보호 (네트워크 → 서비스 → 응용 프로그램 → 데이터).
  • 인공물의 불변성: "한 번 빌드하고 많은 것을 실행하십시오".
  • E2E는 추적하고 감사합니다: 누가, 언제, 무엇이 바뀌 었는지, 왜.

2) 위협 모델 및 중요 자산

자산: 계정 및 결제 토큰, PII/여권 데이터, RNG/게임 잔액, 암호화 키, 통합 비밀, 파이프 라인 배치, 컨테이너 이미지.
벡터: 종속성 취약점, 토큰 누출, 클라우드 잘못된 구성/K8, API의 SSRF/RCE, 공급망 (CI/CD/저장소 손상), 내부자 액세스, DDoS/봇 트래픽.
시나리오: 무단 엔티티에 의한 자금 인출, 계수/밸런스 대체, 기본 드레인, 파이프 라인 캡처, 제품의 수동 편집.

3) 네트워크 아키텍처 및 격리

세분화: prod/stage/dev에 대한 별도의 VPC/VNet. 내부 prod - Edge (LB/WAF), API, 데이터베이스, 분석, 관리 서비스 용 서브 넷.
"명시 적으로 허용 된" 정책: 서브넷 사이의 모든 것을 거부하고 필요한 포트/방향 만 엽니 다.
서비스 간 mTLS, 인증서 회전이 자동화됩니다.

NetworkPolicy K8의 예 (거부 + 허용 목록):
yaml apiVersion: networking. k8s. io/v1 kind: NetworkPolicy metadata:
name: default-deny namespace: prod spec:
podSelector: {}
policyTypes: ["Ingress","Egress"]
apiVersion: networking. k8s. io/v1 kind: NetworkPolicy metadata:
name: allow-api-to-db namespace: prod spec:
podSelector:
matchLabels: {app: db}
ingress:
- from:
- podSelector: {matchLabels: {app: api}}
ports: [{protocol: TCP, port: 5432}]

4) 정체성 및 액세스 (PAM/JIT)

모든 인간 접근에 대한 SSO + MFA.
RBAC & ABAC-클라우드, 클러스터, 네임 스페이스 및 응용 프로그램 레벨에서 역할을합니다.
PAM: 점프/요새, JIT 액세스 (제한된 시간), 세션 기록.
브레이크 글래스: 하드웨어 키, 로그 발행이있는 밀봉 된 계정.
"무엇에 액세스 할 수있는 사람" 에 대한 정기적 인 스캔은 30 일마다 한 번씩 검토합니다.

5) 비밀과 열쇠

Vault/KMS/Secrets Manager는 Git의 비밀을 제외합니다.
마스터 키의 KMS/HSM; KEK/DEK, 자동 회전.
TTL 정책: 단기 토큰 (OIDC/JWT), CI의 임시 계정.
암호화: 휴식 시간 (AES-256/GCM), 비행 중 (SL 1. 별도의 키가있는 2 +/mSL), PII/카드 데이터 열.

6) 공급망, CI/CD 경화

prod를위한 러너 격리 (개인 네트워크에서 자체 호스팅).
인공물 서명 (Sigstore/cosign), depla의 서명 검증.
각 커밋 및 릴리스 전에 SBOM (CycloneDX/SPDX), SCA/VA.
"최신 태그 없음" 정책, 불변의 태그 만 있습니다.
4 눈 원칙: 필수 코드 검토 및 승인 변경.
코드로서의 인프라: Terraform/Helm) 코드 정책 (OPA/Conftest).

OPA 규정의 예 (공개 S3/스토리지 금지):
rego package iac. guardrails

deny[msg] {
input. resource. type == "storage_bucket"
input. resource. acl == "public-read"
msg:= sprintf("Public bucket forbidden: %s", [input. resource. name])
}

7) 컨테이너와 Kubernetes

최소 이미지베이스 (디스트로리스), 뿌리가없고 읽기 전용 FS, 드롭 CAP.
입학 통제: 특권, 호스트 경로, 호스트 네트워크 거부.

포드 보안 표준: 기준/제한된

ImagePolicyWebhook-서명 된 이미지 만 건너 뛰십시오.

런타임 정책 (Falco/eBPF): 비정상적인

쿼터/제한 범위: "잡음 이웃" 으로부터 노드를 보호합니다.

8) API 경계: WAF, 속도 제한, 봇/DDoS

게이트웨이 API: 인증 (OAuth2/JWT/HMAC), 정규화, mSL, 스키마 검증.
WAF: 비즈니스 지표에 대한 기본 규칙 + 카스트.
요율 제한: 글로벌/바이 IP/클라이언트 키; "토큰" 과 버스트.

NGINX 속도 제한의 예:
nginx limit_req_zone $binary_remote_addr zone=api:20m rate=10r/s;

server {
location /api/ {
limit_req zone=api burst=30 nodelay;
proxy_pass http://api_backend;
}
}

봇 관리: 행동 신호, 장치 지문, 도전.
DDoS: 뜨거운 기능을위한 CDNA/에지 스크러빙, 자동 스케일, "다크 런칭".

9) 설정 정책 및 기본값 보호

위험한 기능을 신속하게 비활성화하기 위해 플래그/킬 스위치 기능.
회로 검증, 구성 요소에 대한 카나리아/청록색의 코드 설정.
구성 요소/키를 취소 할 때 KPI로 취소합니다.

10) 데이터 및 개인 정보

분류: PII/금융/운영 로그/원격 측정.
최소화: 익명화/가명 만 필요한 것만 저장하십시오.
백업: 별도의 계정/프로젝트, 암호화, 일반 DR 리허설.
철회 규칙: 동일한 방법, 속도 제한, 위험 점수, 4 눈.
법적 보류/보존: 보관 일정, 관리 처리.

11) 관찰 가능성, 경고 및 응답

트라이어드: 로그 (비밀 포함), 메트릭 (SLO/SLA), 트레일 (W3C).
보안 신호: 입력 성공/실패, 권한 상승, 비밀 변경, 트래픽 편차.
SIEM + SOAR: 상관 및 반자동 플레이 북.
사건 플레이 북: DDoS, 비밀 유출, 러너 타협, 릴리스 롤백, 지불 "동결".
응답 성의 주요 지표로서 MTTD/MTTR.

12) 변경 및 릴리스 관리

고위험 변경을 위해 자문위원회 (경량) 를 변경하십시오.
사전 게이트: 테스트, 보안, perf, 데이터베이스 마이그레이션.
Canary/Blue-Green/Shadow depley, SLO의 자동 롤백.
prod에서 직접 편집을 금지합니다. 파이프 라인을 통해서만 변경됩니다.

13) 취약성 및 패치

패치 정책: 중요-최대; 높음-N 일 동안.
수정 후 수지; CVE 노출 가중치.
혼돈 보안: 강조 표시된 창에서 주기적 테이블 탑 연습 및 빨간색 명령 공격.

14) 준수 및 감사

제어 프레임 워크: PCI DSS (결제), SOC 2, ISO 27001.
아티팩트: 제어 매트릭스, 로그 변경, 스캔 보고서, DR 테스트 결과, 액세스 검토.
지속적인 가용성: "코드로서의 증거" -아티팩트는 파이프 라인 및 시스템에서 자동으로 수집됩니다.

15) 경제와 신뢰성

비용 별 보호: 할당량, 예산, 경고, 미사용 리소스의 자동 종료.
용량: SLO 지향 계획, 로드 테스트, "혼돈의 날".
복구 우선 순위: 서비스 별 RTO/RPO, 종속성 맵.

16) 반 패턴

Git의 v.env의 비밀, 모든 사람을위한 일반적인 "관리자", "prod in prod", 컨테이너의 수동 수정, "최신" 태그, 모든 것을위한 하나의 공통 클러스터, 퍼블릭 버킷, prod-network의 아웃 바운드 인터넷이있는 CI 러너, "핫" 기능의 킬 스위치 없음.

17) 빠른 시작 점검표 (90 일)

0-30 일

MFA/SSO 활성화, 액세스 검토; 모든 네트워크 정책 거부; 비밀 관리자/KMS; K8에서 금지 된 특권; WAF/속도 제한 기본 항목/에스컬레이션 경고 사용

31-60 일

이미지 서명 + ImagePolicy; SBOM + SCA 칼륨 CI; 카나리아/롤백; SIEM 상관 관계; IR 플레이 북; JIT/PAM; DR 테스트로 백업.

61-90 일

IaC를위한 OPA- 가드 레일; eBPF/팔코; 봇 관리; 정기적 인 액세스 검토; 혼돈 보안 운동; 컨피그 및 비용 절감 감사.

18) 성숙도 지표

액세스: MFA 계정의%, 토큰의 평균 연령, 리콜 시간.
파이프 라인:% 서명/SBOM 이미지, SAST/DAST 적용 범위.
플랫폼: 읽기 전용 FS, PSS 제한, NetworkPolicy 적용 범위를 가진 포드 공유.
경계계: 속도 제한/WAF 규칙이있는% API, DDoS에 대한 평균 응답.
IR: MTTD/MTTR, 탁상용 주파수, 성공적인 DR 리허설 비율.
준수: 자동 증거가있는 제어 비율.

19) 부록: 정책 템플릿

AWS SCP (공개 버킷 금지)

json
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "DenyPublicS3",
"Effect": "Deny",
"Action": ["s3:PutBucketAcl","s3:PutBucketPolicy"],
"Resource": "",
"Condition": {"StringEquals": {"s3:x-amz-acl": "public-read"}}
}]
}

Kubernetes PodSecurity (네임 스페이스 라벨)

yaml apiVersion: v1 kind: Namespace metadata:
name: prod labels:
pod-security. kubernetes. io/enforce: restricted pod-security. kubernetes. io/audit: restricted

컨테이너 용 <> OPA (금지 된 특권)

rego package k8s. admission deny[msg] {
input. request. object. spec. containers[_].securityContext. privileged == true msg:= "Privileged containers are not allowed in prod"
}

20) 결론

식품 환경을 강화하는 것은 지속적인 과정입니다. 액세스 및 비밀, 네트워크 격리, 아티팩트 서명 및 파이프 라인 제어, API 주변 보호, 관찰 가능성 및 규율 변경과 같은 위험 완화 조치의 우선 순위를 정하십시오. 나머지는 반복적으로 구축하여 성숙도 지표를 포착하고 경제를 제어합니다.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

Telegram
@Gamble_GC
통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.