2021 년 11 월 9 일

클라우드 환경을 보호하기 위한 5가지 서버리스 보안 모범 사례

서버리스 소프트웨어 아키텍처는 스릴 넘치는 트렌드 중 하나입니다. 현대 소프트웨어 개발.

이를 통해 DevOps 팀은 OS 업데이트, 인프라 또는 패치에 대해 크게 걱정하지 않고 코드 작성에 집중할 수 있습니다.

그러나 지금은 클라우드 애플리케이션 개발이 간단하지만 서버리스 보안에 대한 책임과 필요성을 없애는 것은 아닙니다.

방어를 유지하거나 강화하여 클라우드 환경을 계속 보호하십시오. 다음은 구현할 서버리스 보안 모범 사례입니다.

1. WAF 보호와 함께 서버리스 보안 도구를 활용합니다.

웹 애플리케이션 방화벽(WAF)을 구축하는 것이 중요하지만 클라우드 환경을 방어하기 위해 WAF에만 의존할 수는 없습니다. WAF 보호 조치와 함께 강력한 서버리스 보안 도구를 사용해야 합니다.

이유가 여기 있습니다.

기존 WAF는 인증 오류, 주입 공격 및 기타 보안 위협에 대한 XNUMX차 방어선 역할을 할 수 있습니다. 그러나 특정 상황 트리거 유형으로부터 클라우드 환경을 방어할 수는 없습니다.

WAF는 API 게이트웨이만 보호하고 이를 통과하는 모든 HTTP/S 요청을 평가합니다. API 게이트웨이에 의해 트리거되지 않은 기능을 보호하려는 경우 도움이 되지 않습니다.

이것이 서버리스 보안 기술이 그 격차를 보완할 수 있는 이유입니다. 위험 완화를 자동화하고 서버리스 기능의 새로운 공격 벡터에 대한 방어를 강화할 수 있습니다. 또한 취약점에 대한 가시성을 높일 수 있습니다.

이러한 모든 기능을 통해 DevOps 팀은 보다 원활하게 작업하고, 앱 개발 중단을 덜 경험하고, 코드를 안전하게 배포 및 관리할 수 있습니다.

2. 클라우드 기반 애플리케이션에 대한 감사를 수행합니다.

정기적인 애플리케이션 감사를 수행하여 사이버 공격자가 애플리케이션을 오염시키려는 시도를 포착합니다. 이는 클라우드 애플리케이션을 오픈 소스 플랫폼에서 개발하든 Microsoft Azure 및 AWS와 같은 비교적 안전한 플랫폼에서 개발하든 중요합니다.

이 관행은 클라우드 컴퓨팅 서비스를 제공하는 경우 추가로 중요합니다. 그들 사이에 있기 때문에 2021년 소프트웨어 개발 동향, 해커는 귀하를 다음 목표로 삼고 귀하의 노력으로 이익을 얻을 것입니다.

코드 감사를 통해 사용하거나 개발한 오래된 소프트웨어나 오픈 소스 소프트웨어를 발견할 수 있습니다. 이 소프트웨어 유형에는 코드의 신뢰성과 소유권을 손상시킬 수 있는 버그 및 기타 중요한 보안 위험이 있습니다.

이것이 어떻게 일어나는지 궁금하시다면 다음과 같습니다.

클라우드에 구축된 애플리케이션은 수많은 모듈, 하위 모듈 및 라이브러리로 구성됩니다. 따라서 단일 서버리스 기능에는 일반적으로 여러 외부 소스의 수만 줄에서 실행되는 코드가 있습니다. 개발자가 XNUMX줄 미만의 코드를 생성한 경우에도 여전히 발생합니다.

그런 다음 사이버 공격자는 "유정에 중독" 전술을 구현하려고 시도합니다. 오픈 소스 플랫폼에 구축된 프로젝트에 악성 코드를 삽입하고 새 버전이 클라우드 애플리케이션에 들어갈 때까지 기다립니다.

그런 다음 클라이언트의 IT 네트워크와 데이터 자산을 더욱 위협할 수 있는 감염된 소프트웨어 제품을 배포할 수 있습니다. 이로 인해 위반, 재정 및 고객 신뢰 손실, 심지어 회사 폐쇄가 발생할 수 있습니다.

따라서 정기적인 자동화 및 수동 코드 감사를 실행하여 비즈니스를 포함하여 코드와 클라우드 소프트웨어 제품 및 서비스의 무결성을 보호하십시오.

3. 기능에 대한 시간 초과를 실행합니다.

기능 실행 시간을 제한하는 것은 무시할 수 없는 서버리스 보안 모범 사례입니다.

그러나 최대 기간이 특정 기능에 따라 달라지므로 적절한 서버리스 기능 시간 초과를 만드는 것은 사용자에게 친숙하지 않습니다.

그럼에도 불구하고 함수에 엄격한 런타임 프로필을 적용해야 합니다.

또한 DevSecOps 팀은 실제 시간 제한에 대해 구성된 제한 시간을 고려해야 합니다.

많은 개발자는 미사용 기간이 추가 비용을 발생시키지 않기 때문에 최대 허용 기간으로 시간 초과를 설정합니다.

그러나 이 전술은 막대한 클라우드 보안 위험을 내포하고 있습니다. 사이버 공격자가 악성 코드를 주입하는 데 성공하면 피해를 줄 수 있는 충분한 시간이 있습니다.

타임아웃이 짧을수록 해커는 더 자주 공격하게 됩니다("Groundhog Day" 공격으로 알려짐). 이렇게 하면 그들을 노출시키고 멈추고 잡을 수 있습니다.

4. "기능당 하나의 역할"을 시행합니다.

항상 채택을 시도하십시오 기능당 하나의 역할 원칙, 여러 기능에 대해 단일 역할을 지정하지 마십시오.

이상적인 단일 기능은 ID 및 액세스 관리(IAM)의 역할과 1:1 관계를 갖습니다.

IAM 정책을 작성할 때 최소 권한 원칙에 맞게 정책을 조정하십시오. 과도한 권한은 사이버 공격자가 악용하는 가장 중요한 잘못된 구성 중 하나라는 것을 기억하십시오.

다음 IAM 모범 사례를 따르십시오.

  • 암호, 키, 보안 패스, 생체 정보, 음성 인식 시스템 등 다중 요소 인증을 통해 신뢰 계층을 구축합니다.
  • 클라우드 환경에 대한 계정 자격 증명을 항상 기밀로 유지하십시오.
  • 계정을 공유하는 대신 클라우드 리소스에 액세스해야 하는 직원을 위해 개별 IAM 사용자 계정을 만드십시오.
  • 직원의 책임, 작업 요구 사항 및 기타 중요한 요소에 따라 직원에게 고유한 권한 집합을 적용합니다.
  • IAM 정책을 정기적으로 검사하십시오.
  • 인스턴스나 코드에 키를 포함하지 마십시오. 사용하는 플랫폼(예: AWS 역할, Azure 서비스 주체 등) 대신 기본 제공 역할 또는 자격 증명을 사용합니다.
  • 불필요한 IAM 사용자 및 계정 자격 증명을 제거합니다.
  • 강력한 암호 생성 프로토콜 수행: 최대 및 최소 암호 길이, 암호 만료, 특수 문자 사용, 사전 단어 및 반복 및 연속 문자 제한.

5. 세 가지 기본 정보 보안 기둥으로 되돌아갑니다.

서버리스 보안을 강화할 때는 항상 정보 보안의 세 가지 필수 요소를 다시 참조하십시오.

다음은 세 가지 기둥과 각 기둥에 해당하는 모범 사례입니다.

기밀 유지

  • 승인된 사용자 및 서비스만 서버리스 기능과 통신하도록 허용하여 액세스를 규제합니다.
  • 서버리스 기능에 역할과 권한을 할당할 때 "최소 권한" 원칙을 적용합니다.
  • 소스 및 대상으로의 네트워크 진입 및 퇴장을 제한합니다.
  • "관심 분리" 보안 원칙을 실천하고 다양한 기능에 대해 고유한 정책과 역할을 만들어 폭발 반경을 줄입니다.

진실성

  • 미사용 및 전송 중인 기능 데이터가 암호화되었는지 확인합니다.
  • 로깅 및 모니터링 도구를 사용하여 서버리스 기능, 상호 의존적인 리소스, 감사 추적 및 기능에 의해 수행되거나 해당 기능에서 수행되는 작업에 대한 가시성을 높입니다.

유효성

  • 메모리, 컴퓨팅, 동시성, 실행 기간 등에 대한 충분한 제한을 구현하여 폭주 기능에 의해 트리거되는 서비스 거부를 방지합니다.
  • 계정 수준 제한을 모니터링하고 필요한 경우 공급자에게 한도 증가를 요청합니다.

서버리스 보안의 우선 순위를 정하기에 지금보다 더 좋은 시기는 없습니다.

최신 사이버 보안 위협은 계속 진화하고 가장 취약한 클라우드 환경을 공격하므로 서버리스 보안의 우선 순위를 지정해야 합니다. 이러한 모범 사례 및 기타 모범 사례를 수립하면 비즈니스를 안전하게 유지하고 위험을 방지하는 데 큰 도움이 될 수 있습니다.

또한 서버리스 기능은 다르게 작동하므로 서버리스 플랫폼에서 클라우드 네이티브 워크로드를 보호할 때 전체적인 접근 방식을 취하십시오. 런타임에 CI/CD 파이프라인 전반에 걸쳐 일관되게 그렇게 하십시오.

저자 소개, 

피터 해치


{ "email": "Email address invalid", "url": "Website address invalid", "required": "필수 필드 누락"}