서버리스 애플리케이션을 개발하거나 사용 중이라면 보안에 대해 얼마나 고려해 보셨나요? 혹시 현재 사용 중인 애플리케이션이 안전한지 확신할 수 있나요?
서버리스 애플리케이션의 인기가 높아짐에 따라, 보안 위험 또한 증가하고 있습니다. 여러 요인으로 인해 온라인 위협에 더욱 취약해질 수 있으며, 다음은 특별히 주의를 기울여야 할 주요 위험 요소들입니다.
- 서비스 거부 공격 (DoS)
- 비즈니스 로직 조작
- 리소스 남용
- 데이터 삽입 공격
- 취약한 인증 메커니즘
- 불안전한 데이터 저장
- 취약한 제3자 API 및 도구 통합
서버리스 애플리케이션은 기존 보안 접근 방식과는 다소 다른 접근법을 요구합니다. 보안 기능이 더욱 중요해지므로, 포괄적인 보안 보호를 위한 전문 플랫폼이 필요합니다. 또한, 기존 방식과는 다른 형태의 모니터링 및 디버깅 작업이 요구됩니다.
이와 관련하여 PureSec의 가이드를 참고하는 것을 추천합니다. 해당 가이드에서는 서버리스 애플리케이션에 대한 12가지 주요 위험 요소를 자세히 다루고 있습니다.
이제 몇 가지 솔루션을 자세히 살펴보겠습니다.
퓨어섹 (PureSec)
퓨어섹은 AWS Lambda, Google Cloud Functions, IBM Cloud Functions, Azure Functions 등 다양한 서버리스 환경에 엔드투엔드 보안 솔루션을 제공합니다. 또한, 다양한 인기 플랫폼 및 도구와 원활하게 통합됩니다.
- Gitlab
- Splunk
- Sumo Logic
- Jenkins
- AWS CloudFormation
- 서버리스 프레임워크
퓨어섹의 서버리스 애플리케이션 방화벽은 애플리케이션 성능에 미치는 영향을 최소화하면서, 함수 이벤트 데이터 레벨에서 공격을 감지하고 방어합니다. 탐지 엔진은 NoSQL 데이터베이스, API, 클라우드 스토리지, Pub/Sub 메시징 등 다양한 이벤트 트리거 유형을 분석할 수 있습니다.
FunctionShield 보안 라이브러리를 통해 개발자는 일반적인 보안 문제를 해결하기 위한 메커니즘을 적용할 수 있습니다. 이는 Node.js, Python, Java 환경에서 사용 가능합니다.
FunctionShield를 사용하면 다음과 같은 이점을 얻을 수 있습니다.
- 함수의 아웃바운드 네트워크 트래픽 모니터링을 통한 데이터 유출 방지
- 핸들러 소스 코드 유출 방지
- 자식 프로세스 실행 제어
- 보안 이벤트를 경고 모드로 로깅하거나 정책 위반 시 실행을 차단하는 옵션 제공
전체 실행에 1밀리초 미만의 지연 시간만 추가됩니다.
스닉 (Snyk)
스닉은 애플리케이션 종속성에서 발견되는 취약점을 모니터링, 감지 및 수정하는 데 널리 사용되는 오픈 소스 솔루션입니다. 최근에는 배포된 애플리케이션의 취약성 여부를 확인하고 연결할 수 있도록 AWS Lambda 및 Azure Functions와의 통합을 제공합니다.
취약점이 발견되면 이메일 또는 Slack을 통해 알림을 받을 수 있도록 설정할 수 있습니다.
테스트 빈도를 사용자 정의할 수도 있습니다.
아쿠아 (Aqua)
아쿠아는 보안 서버리스 컨테이너와 기능을 통합하여 하나의 플랫폼에서 두 가지 기능을 모두 제공합니다.
라이브러리, 설정, 권한 등에서 알려진 취약점 및 제로데이 취약점을 분석하기 위해 컨테이너 이미지와 기능을 스캔합니다. 아쿠아는 CI/CD 파이프라인에 통합할 수 있습니다.
트위스트락 (Twistlock)
트위스트락은 애플리케이션 수명 주기 전반에 걸쳐 보호를 제공합니다.
계정의 모든 기능을 실시간으로 스캔하고 보호하여 애플리케이션의 취약점을 최소화합니다. 주요 기능은 다음과 같습니다.
- Python, .Net, Java 및 Node.js 지원
- 지속적인 위협 모니터링 및 예방을 위한 클라우드 네이티브 방화벽
- HIPPA 및 PCI 규정 준수를 위한 템플릿
- TeamCity, Jenkins와 통합
- 취약점 관리
트위스트락은 머신러닝을 활용하여 자동화된 런타임 보호 및 정책 생성을 지원합니다.
결론
서버리스 또는 기존 애플리케이션을 막론하고 보안은 필수입니다. 좋은 소식은 위에 언급된 솔루션들이 대부분 무료 평가판을 제공하므로, 여러분의 애플리케이션에 가장 적합한 솔루션을 직접 경험해 볼 수 있다는 것입니다. 혹시 AWS Lambda와 서버리스 프레임워크에 대한 실습 경험을 쌓고 싶다면, 이 온라인 강좌를 확인해 보세요.
이 글이 유익하셨기를 바랍니다. 이 글을 다른 사람들과 공유해 보시면 어떨까요?