본문 바로가기

분류 전체보기96

AWS 네트워크 ACL 일반적으로 EC2를 포함한 AWS 리소스에 대한 외부에서의 접근 제어를 위해서는 보안그룹을 사용하여 허용된 아이피에서만 접근이 가능하도록 설정하는데요. 외부에서의 트래픽을 제어하기 위해 제공되는 보안 계층인 네트워크 ACL에 대해 학습한 내용 공유하려고 합니다. 네트워크 ACL이란 AWS 공식 문서에서는 네트워크 ACL을 "네트워크 ACL(액세스 제어 목록)은 1개 이상의 서브넷 내부와 외부의 트래픽을 제어하기 위한 방화벽 역할을 하는 VPC를 위한 선택적 보안 계층" 이라고 정의하고 있습니다. https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/vpc-network-acls.html 네트워크 ACL은 아래와 같이 인바운드 규칙과 아웃바운드 규칙을 통해 서브.. 2023. 3. 22.
Amazon GuardDuty(AWS의 관리형 유사 IDS) AWS 상에서 사용 가능한 IPS(침입 차단 시스템)/IDS(침입 탐지 시스템)을 AWS 마켓 플레이스에서 좀 찾아봤는데 유명한 보안 벤더사 제품들은 거의 다 UTM 형식으로 방화벽, IPS, 웹필터, vpn 등 기타 기능까지 다 합쳐진 형태로 제공하고 있어 IPS/IDS 만 제공하는 이미지는 없는 것으로 보여서 AWS에서 관리형 서비스로 제공하고 있는 IDS 유사 서비스인 GuardDuty에 대해 소개해드릴까합니다. Amazon GuardDuty 란 AWS 에서는 "Amazon GuardDuty는 AWS 계정, 워크로드 및 Amazon S3에 저장된 데이터를 보호하기 위해 악의적 활동 또는 무단 동작을 지속적으로 모니터링하는 위협 탐지 서비스"라고 GuardDuty를 소개하고 있는데요. GuardDut.. 2023. 3. 22.
Amazon Aurora 멀티 마스터 구성 AWS RDS에서 사용 가능한 데이터베이스 엔진이자 AWS에서 개발하여 서비스하고 있는 데이터베이스 엔진인 Amazon Aurora DB의 멀티 마스터 구성(2개의 DB 인스턴스가 모두 마스터로 작동하여 양방향 복제가 이뤄지는 구성)에 대해 작성합니다. 오로라 멀티 마스터 구성은 2019년 8월 처음 서비스 시작하여 올해 5월 지원 리전이 확대되어 서울 리전에서도 이용이 가능해졌습니다. 현재 멀티 마스터 구성을 이용할 수 있는 리전은 미국 동부(버지니아 북부), 미국 동부(오하이오), 미국 서부(오레곤), 아시아 태평양(뭄바이), 아시아 태평양(서울), 아시아 태평양(도쿄), EU(프랑크푸르트), EU(아일랜드)입니다. 미팅 중 문의가 있었던 부분(멀티 마스터 구성 가능여부 및 각 마스터를 별도로 인스턴.. 2023. 3. 21.
Memcached를 이용한 PHP 세션 클러스터링 지난번에 redis를 이용한 tomcat 세션 클러스터링에 대해 간단히 알아봤었는데요. 오늘은 redis 와 함께 AWS ElastiCache 에서 서비스하는 클러스터엔진 중 하나인 Memcached를 이용하여 PHP의 세션을 클러스터링하는 방법에 대해 알아보도록 하겠습니다. Memcached란 memcached는 범용 분산 캐시 시스템으로, 메모리에 데이터와 객체들을 캐시처리함으로써 웹사이트의 속도를 높이기 위해 사용됩니다. 메모리에 키, 값 형식으로 데이터를 저장한다는 점에서 redis와 비슷한 특징을 가지고 있지만, redis는 데이터를 메모리 뿐만아니라 파일 형태로 백업(스냅샷)도 가능하고, 자체적으로 클러스터링(센티넬) 기능을 지원하며, memcached 에 비해 좀 더 다양한 데이터 타입을 지.. 2023. 3. 21.
Grafana를 통한 ELB 알림 설정 자빅스를 통해 모니터링 대상에 대한 메트릭을 수집하고 트리거 설정을 통해 두레이 메신져와 메일을 통해 알림을 받고 있습니다. 자빅스 에이전트를 설치 가능한 온프레미스의 서버나 AWS EC2 인스턴스, NHN클라우드 인스턴스의 경우 이러한 방법이 용이하지만, AWS ELB나 RDS와 같이 관리형으로 제공하는 서비스의 경우 대상에 에이전트를 설치하는 것이 불가하기 때문에 AWS Cloudwatch Metrics 에서 제공하는 메트릭을 받아오는 Python 스크립트를 통해 자빅스에서 메트릭을 수집하도록 구성하고 트리거 발생 시 알림을 수신하도록 설정하고 있습니다. 하지만 위의 방법의 경우 아래와 같은 단점이 있을 수 있습니다. 1) 이미 Cloudwatch Metrics 에서 수집한 메트릭을 다시 자빅스가 수.. 2023. 3. 20.
flask 기반 웹에서 AWS Rekognition 서비스 활용 및 S3 버킷으로 파일 업로드 AWS의 딥러닝 기반 이미지/동영상 분석 서비스인 AWS Rekognition 서비스에 대한 질문이 종종 들어와서 직접 Rekognition 서비스를 활용하여 소스를 구성해보고, 어떤 식으로 활용할 수 있을지 간단한 테스트 구성을 진행해봤습니다. 간단히 테스트만 하고 게시물은 따로 안올리려고 했는데 막상 해보니 흥미롭기도 하고 사용법이 간단해서 한 번 소개해드리고자 합니다. 1. AWS Rekognition 서비스란 구성하고자하는 테스트 내용에 대해 말씀드리기 전에 rekognition 서비스에 대해 간단히 소개해드리려고 하는데요. rekognition 서비스는 딥러닝을 통한 이미지/동영상 분석에 사용되는 서비스이며, API 형태로 제공됩니다. 분석 가능한 주요 기능은 아래와 같으며, 테스트 환경에서 사.. 2023. 3. 20.
django REST API 서버에 토큰 인증 적용 지난번 django REST API 서버를 구성하여 백업 결과 API를 저장하는 내용으로 학습 내용을 공유해드렸는데요. 이번에는 지난번 구성한 백업 결과 API 서버에 JWT(json web token)를 통한 토큰 인증을 적용하는 방법을 공유하려고 합니다. 먼저 백업 결과 API 서버가 먼저 구성되어 있어야하기 때문에 백업 결과 API 서버 구성 방법은 지난 게시글을 참고 부탁드리겠습니다. 1. JWT 인증이란 https://jwt.io/introduction JWT(json web token)이란 서버가 최초 클라이언트로부터 전달받은 사용자 정보를 통해 클라이언트로 인증 토큰을 전송하고, 이후 통신에서 클라이언트는 요청 헤더에 JWT 토큰 값을 포함하는 "Authorization" 헤더를 추가하여 서.. 2023. 3. 19.
django를 이용한 REST API 서버 구성 지난번 php, node.js 로 각각 구성해봤던 백업 결과 api 서버를 이번에는 파이썬 기반의 웹프레임워크인 django를 이용하여 REST API 서버로 구성해보는 내용으로 학습을 진행하였습니다. 이번에는 기존 php, node.js 로 구성했던 방식과 달리 django에서 쉽게 REST API를 구성할 수 있는 djangorestframework를 사용하였습니다. 1. 개념 설명 1) django 파이썬 기반의 웹프레임워크 중 flask와 함께 가장 많이 쓰이는 웹프레임워크 2) djangorestframework django 프레임워크에서 웹 API를 구축하기위한 툴킷(https://www.django-rest-framework.org/) 3) django-rest-swagger Django R.. 2023. 3. 19.
CloudFront 필드 레벨 암호화 CloudFront 에서 제공하는 추가 보안 기능인 필드 레벨 암호화에 대해 소개하고 간략히 시연하는 내용 공유드리려고 합니다. 1. 필드 레벨 암호화란 필드 레벨 암호화란 사용자가 제공한 민감한 정보(POST body 에 포함된 특정 필드)를 사용자에게 가까운 엣지에서 암호화하여 전체 애플리케이션 스택에서 암호화를 유지하고 데이터가 필요하고 이를 해독할 자격 증명을 보유한 애플리케이션(WAS)만 해당 정보를 볼 수 있도록 하는 클라우드프론트의 추가 보안 기능입니다. 2. 필드 레벨 암호화 설정 필드 레벨 암호화 설정은 간단한 편입니다. 1) RSA 키 페어 생성 다음 단계에서 생성한 키페어 중 공개키를 복사하여 CloudFront 콘솔에서 사용할 것이기 때문에 키 페어를 생성할 장소는 어디든 관계 없습.. 2023. 3. 18.