Serverless 컴퓨팅은 기본적으로 개발 팀 빌드 및 배포 응용 프로그램을 진행하는 방법을 이동, 인프라 레이어를 추상화하여 엔지니어는 비즈니스 논리 및 속도에 초점을 맞출 수 있습니다. 그러나이 패러다임 교대는 또한 AWS Lambda, Azure Functions, 또는 Google Cloud Functions와 같은 클라이언트와 클라우드 기능 사이의 기본 인터페이스로 행동하는 APIs와 함께 새로운 공격 표면을 도입합니다. 이러한 엔드 포인트를 처리하는 것은 더 이상 생산 등급 응용 프로그램에 대한 핵심 요구 사항입니다. 이 검증된 문서는 검증된 보안, 보안 및 보안을 위한 가장 안전한 보안을 보장하는 데 필요한 문서입니다.

Serverless 보안 모델 이해

이 웹 사이트는 귀하가 웹 사이트를 탐색하는 동안 귀하의 경험을 향상시키기 위해 쿠키를 사용합니다. 이 쿠키들 중에서 필요에 따라 분류 된 쿠키는 웹 사이트의 기본적인 기능을 수행하는 데 필수적이므로 브라우저에 저장됩니다. 또한이 웹 사이트의 사용 방식을 분석하고 이해하는 데 도움이되는 제 3 자 쿠키를 사용합니다. 이 쿠키는 귀하의 동의하에 만 브라우저에 저장됩니다. 이러한 쿠키 중 일부를 선택 해제하면 검색 환경에 영향을 미칠 수 있습니다. 이러한 쿠키 중 일부를 선택 해제하면 검색 환경에 영향을 미칠 수 있습니다.

Serverless APIs에 핵심 위협

방어에 다이빙하기 전에, 그것은 Serverless endpoints를 대상으로 가장 일반적인 공격 벡터를 인식하는 것이 중요합니다.

  • 사출 공격 – SQL, NoSQL, OS 명령, 또는 LDAP 주입을 통해 unsanitized 입력을 통해 함수에 전달.
  • Broken 인증 – Weak 또는 누락된 토큰 검증, 가난한 키 관리, 또는 부적절한 범위의 액세스 토큰.
  • Excessive data exposed – 일부 데이터만 필요시 전체 객체의 페이로드를 반환하는 APIs는 민감한 필드를 누출.
  • 서비스의 종류(DoS) – 버스트 공격은 배기 함수의 통화 제한 또는 트리거 비용이 많이 들지 않는 콜드 시작.
  • Misconfiguration – Overly permissive IAM 역할, 공공 버킷, 또는 장애인 로그인은 인프라를 탐험.

이러한 위협의 각은 배포 파이프라인에 통합된 deliberate 디자인과 툴링으로 mitigated 수 있습니다.

당신의 Endpoints를 보호하기위한 모범 사례

1. 강력한 인증 및 권한 구현

서버가 없는 함수에 대한 모든 API 요청은 인증되고 승인되어야 합니다. OAuth 2.0와 같은 업계 표준 프로토콜을 사용하여 OpenID Connect 또는 ]JSON Web Tokens (JWT). 각 함수 내의 유효성 토큰 (또는 API Gateway authorizer를 통해)는 내부의 보안 또는 보안을 위해 보안을 위해 보안을 유지하거나, 보안을 위해 보안을 유지해야 합니다.

AWS Cognito, Auth0, Firebase, Firebase, Firebase, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, SQL Server, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API, API,

2. 보안 통신 강화

모든 API 트래픽은 전송에서 암호화되어야 합니다. HTTPS (TLS 1.2 또는 1.3)을 사용하여 독점적으로. API 게이트웨이 또는 로드밸런서를 구성하여 HTTP 요청을 거부합니다. 추가 보안을 위해 ]] 클라이언트 애플리케이션에 대한 pinning]를 실행하고 TLS에 대한 다운스트림 서비스 만 통신을 보장합니다. 하드 코딩 또는 비활성화 인증서를 방지하기 위해 이러한 보안 소스의 개발이 일반적 인 개발입니다.

기능이 서로 통신하는 경우 (예 : 이벤트 버스 또는 큐를 통해), 트래픽뿐만 아니라 암호화. 대부분의 클라우드 공급자는 인터 서비스 메시징에 대한 기본으로 암호화를 활성화하지만, 제품 구성이 켜져 있는지 확인.

3. 제한 및 Throttling 구현

제한 속도는 abusive 사용자 및 사고 런웨이 프로세스에서 API를 보호합니다. API 게이트웨이 수준에서 파열 속도 및 정상 상태 요청 (예 : 사용자 당 분 당 100 요청)에 대한 제한을 정의합니다. 토큰 버킷 또는 슬라이딩 윈도우 알고리즘을 사용하여 때때로 지속되는 공격을 투여하는 동안 때때로 때때로 트래픽 스파이크를 허용하십시오.

인증 상태에 따라 다른 제한. 익명 사용자는 10 요청 / 분 throttle을 얻을 수 있으며, 인증된 사용자는 더 높은 제한을받습니다. 사용 계획 API 키 ] AWS API Gateway 또는 ]] Azure API Management 를 사용하여 ]AWS key를 활용하십시오. 또한 ]AWS limitsAWS Errors ]AWS Errors limits ]]를 구현합니다.

흉부 사건에 대한 로그 및 경고를 기억하십시오. 합법적 인 트래픽 스파이크와 악의적인 시도 사이에 구별 할 수 있습니다.

4. 모든 입력을 Sanitize 유효하고

클라이언트 또는 업스트림 서비스에서 오는 데이터가 절대로 신뢰하지 않습니다. 모든 기능의 시작 부분에 schema validation library (예: Joi, Pydantic, 또는 JSON Schema)를 사용하십시오. 예상된 모양과 일치하지 않는 입력을 거부하십시오. SQL 또는 NoSQL 쿼리의 경우, 항상 매개 변수 문 또는 ORM을 사용하여 입력을 자동으로 입력합니다. Explicitly whitelist는 문자열 필드에 문자를 허용하고 코드 ([[LT]] [F]]] 또는 [F]]]로 사용자 입력을 평가하지 않습니다.

또한, 콘텐츠 유형 검증을 시행합니다. 엔드포인트가 JSON을 기대하면, 또는 지원되지 않은 MIME 유형의 요청을 거부합니다. 파일 업로드, 유효성 MIME 유형, 파일 크기 및 AWS GuardDuty 또는 타사 바이러스 스캐너와 같은 전용 서비스를 사용하여 악성 코드를 스캔합니다.

추가 보안 조치

웹 응용 방화벽 (WAFs)

API 게이트웨이 앞에 WAF를 배포하여 SQL Injection, Cross-site scripting (XSS) 및 IP 평판 위협과 같은 일반적인 공격 패턴을 자동으로 필터링합니다. 클라우드 제공 업체는 WAF (AWS WAF, Azure WAF, Cloud Armor)를 제공하여 부하 잔고 및 CDN 서비스와 통합합니다. 애플리케이션의 특정 엔드포인트에 대한 사용자 정의 규칙 세트를 구성하고, 변형된 JWT 또는 의심스러운 쿼리 매개 변수와 같은 요청을 차단합니다.

종합 모니터링 및 Logging

Visibility는 보안에 비 양도가 없습니다. 모든 API 요청 및 기능 인발에 대한 자세한 로그를 사용해보십시오. AWS CloudTrail, Azure Monitor 또는 Google Cloud Logging과 같은 서비스를 사용하여 어떤 액세스, 언제, 어디서든 액세스 할 수 있습니다. SIEM 도구 (예 : Splunk, ELK stack, Datadog) 및 경고를 설정하십시오.

  • 반복 401/403 응답 (가능 한 위반 힘)
  • 함수 실행 시간 또는 오류율에 스도덴 스파이크
  • 특정한 지리 또는 IP 범위에서 접근
  • API Gateway(direct URL invocation)를 우회하는 기능 invocations

레이어-게이트웨이, 함수, 데이터 저장소를 통해 로그를 수정하여 전체 공격 체인을 추적합니다.

종업원 및 패치 관리

Serverless 기능은 제 3 자 라이브러리에 의존합니다. 단일 취약점은 전체 애플리케이션을 손상시킬 수 있습니다. CI/CD 파이프라인에서 알려진 취약점 검사를 위해 검사하는 도구 (예: 1) 도구 (예: Snyk, Trivy, Dependabot)를 사용하여 특정 버전에 의존합니다. 를 사용하는 것보다 특정 버전에 대한 Pin 의존성. [LT:3]] [LT:]] [LT:2]]] [LT:2]]] [LT:2]]] [LT:2]]]] [LT:3]]]] [LT:2]]]]] [LT:2]]]]]]] [LT:3]]]]]] [LT:3]]] [LT:3] [LT:]]]]]]]]]]]]:3]] [LT:3] [LT:3] [LT:3]]] [LT:3] [LT:3] [LT:3]]]]]]]]]]]]]]]]]]]]

일반적으로 검토 및 업데이트 기능 실행 시간과 기본 이미지 (컨테이너 기반 서버리스 용). 자동 의존성 업데이트 설정으로 변경을 피하기 위해. 변하지 않는 종속성 기능을 위해, 그들을 고립시키고 WAF 또는 엄격한 입력 검증과 같은 추가 보상 제어를 적용합니다.

네트워크 보안 및 고립

서버가 다중 계층 클라우드 환경에서 실행되는 동안 네트워크 수준 컨트롤을 추가 할 수 있습니다. 민감한 데이터 (예를 들어, 지불 정보, 건강 기록)을 VPC 내부의 ] 내부의 AWS PrivateLink 또는 [FLT:][FLT:]]])를 사용하여 개인 부하 잔액에 대한 API 게이트웨이를 첨부하거나 ]AWS PrivateLink 또는 [FLT:]]]]]]]

IP whitelisting 를 사용하여 관리 엔드포인트 또는 내부 툴링. 보안 그룹 및 네트워크 ACL을 구성하여 필요한 포트 및 소스 IP로 상행 트래픽을 제한합니다. 인터넷 액세스가 필요한 기능을 위해 (예: 제3자 API를 호출), 제어된 서브넷의 NAT 게이트웨이를 통해 경로 트래픽.

CI/CD 파이프 라인 보안 구현

보안은 초기 개발에서 자동화되고 통합되어야 합니다. ]security gate]를 설치하기 전에 다음 시행하는 CI/CD 파이프라인에서 도입하십시오.

  • 정적 애플리케이션 보안 테스트(SAST) 기능 코드에서 insecure 패턴을 감지합니다.
  • 중요한 취약점에 실패를 가진 의존성 검사.
  • Infrastructure-as-code (IaC) 스캐닝 (예:, ], ]) misconfigured IAM 역할, 암호화 부족, 또는 공개 노출.
  • 인증, 인증 및 입력 검증 논리를 검증하는 단위 및 통합 테스트.

ephemeral 환경 (시동 또는 미리보기 배포)을 사용하여 실제 서버가 생산에 대한 보안 테스트를 실행합니다. Postman 또는 ]OWASP ZAP]와 같은 API 보안 테스트 도구를 사용하여 공격을 시뮬레이션하십시오.

관련 기사

서버리스 컴퓨팅은 놀라운 속도와 확장성을 제공하지만, 유동적 보안 심셋을 요구합니다. API를 새로운 둘레로 취급함으로써, 강력한 인증 및 권한 부여를 구현하고, 암호화를 촉진하고, 악의적인 트래픽을 엄밀하게 검증하고, WAFs, 모니터링 및 네트워크 컨트롤에 레이어링함으로써, 당신은 현대 공격의 대다수에 대한 최종 지점을 보호할 수 있습니다. 지속적인 프로세스로 보안을 무시하면 최종 사용자의 최종 사용자의 비즈니스에 영향을 미칠 수 있습니다.