이전글 [AWS] Amazon SES와 Gophish로 침해대응(악성메일) 훈련 진행기 1 [AWS] zoho 메일 서비스와 Gophish로 침해대응(악성메일) 훈련 진행기 2 [AWS] SES 샌드박스 해제 신청기 [AWS] EC2와 Gophish로 침해대응(악성메일) 훈련 진행기 3 [AWS] Gophish로 침해대응(악성메일) 훈련 진행기 4 들어가며 침해대응 훈련의 디테일을 위해 랜딩페이지의 HTTPS 통신을 적용한다. 통신구간 인증서를 이용한 공개키 암호화를 적용하여 브라우저 오류 메시지를 없애고 암호화하여 데이터를 전송한다. 구성 환경은 Rocky Linux 9 환경이다. nginx 리버스 프록시를 이용하여 고피시 프레임워크와 랜딩페이지를 구성한다. 이전글을 참고하면 고피시 프레임워크는 pod..
개요 3계층 구조(3 Tier Atchitecture)를 구성하기 위한 필수요소인 DBMS를 구축한다. 모의해킹을 위한 테스트베드를 구축하는데 백엔드를 구성하는 과정에서 최근의 기술을 반영하기 위해 클라우드와 가상화를 이용한다. 구현하는 환경은 다음과 같다. 아무 리눅스 머신에서 명령어를 실행해도 동일한 결과를 기대할 수 있다. 클라우드: AWS(EC2-t3.small) 가상화: podman DBMS: postgre-sql, pgadmin 설정 먼저 podman으로 파드(pod)를 생성한다. 각각의 서비스를 별개로 관리하지 않도록 하나의 가상화 인프라에 둔다. podman pod create --name nextpostgre-sql -p 8080:80 --name 옵션의 경우 pod의 이름을 지정한다. ..
1. 개요 2024.02.05 - [Security/Cloud Computing] - [AWS] S3 퍼블릭 버킷을 이용한 정적 웹 사이트 배포하기 이전 게시글에서 배포했던 정적 웹 호스팅 S3 버킷을 Route 53 도메인에 연결한다. 2. 서비스 소개 AWS S3: AWS의 객체 스토리지 서비스로, 정적 웹 사이트 호스팅에 사용될 수 있다. Amazon Route 53: AWS의 DNS 웹 서비스로, 도메인 이름 관리 및 트래픽 라우팅을 위한 서비스이다. 3. 필수 구성요소 S3 정적 웹 호스팅 설정, Route53 도메인 4. 웹 사이트 배포 및 도메인 설정 과정 버킷을 설정하고, 정적 웹 파일을 업로드하고 퍼블릭 액세스 권한을 설정한 이후의 도메인 설정 과정을 설명한다. 1. Route 53 호스..
1. 개요 Amazon S3(Simple Storage Service)를 이용한 정적 웹 사이트 배포과정을 설명한다. 2. 서비스 소개 AWS S3: AWS에서 제공하는 객체 스토리지 서비스로, 데이터의 저장 및 검색 기능을 제공한다. 본 포스팅에서는 정적 웹 사이트 호스팅에 사용한다. 3. 필수 구성요소 정적 웹 파일: 배포하기 위한 리소스가 필요하다. HTML, CSS, JavaScript 파일등 웹 사이트를 구성하는 파일 AWS S3 버킷: 웹 리소스 파일을 저장할 S3 버킷 4. 배포 과정 1. 버킷 생성 리전을 선택하고 S3 서비스로 접근한 후 '버킷 만들기' 메뉴를 통해 새로운 버킷을 생성한다. 여기서 AWS Route 53을 이용하여 도메인을 배포할 계획에 있는 경우 도메인 명과 버킷 명을 ..
개요 외부에서 관리하는 도메인을 AWS 도메인 관리 서비스인 Route53에 연결한다. 1. 서비스 소개 AWS Route 53 : AWS의 도메인 네임 시스템(DNS) 웹 서비스로, 도메인 이름 관리 및 트래픽 라우팅을 위한 서비스 외부 도메인 벤더(예: 가비아): 도메인 등록 및 관리 서비스를 제공하는 외부 DNS 벤더이다. 2. 필수 구성요소 도메인 이름: 외부 도메인 벤더에서 구매한 도메인 이름 호스팅 서비스: AWS Route 53을 사용하여 도메인을 호스팅한다. 레코드 세트: DNS 레코드 세트를 구성하여 도메인의 트래픽을 관리한다. 3. 연결 과정 1. (가비아) 가비아에서 도메인 구매 및 관리 메뉴로 이동 2.(AWS) 호스팅 영역 생성 AWS Route 53에서 새 호스팅 영역을 생성하고..
들어가며 AWS Lambda와 같은 서버리스 컴퓨팅 환경에서 비동기(Asynchronous) 처리를 다룰 때에는 함수 실행이 종료 되기 전에 프로그램이 먼저 종료되는 문제가 발생할 수 있다. 람다가 실행을 완료하고 종료될 때, 백그라운드에서 실행 중인 프로세스나 작업을 모두 종료시켜버리기 때문이다. 이러한 특성 때문에 비동기로 실행시킨 작업이 완료되기 전에 람다 함수가 먼저 종료된다. 비동기식으로 작성하여 운영중이던 챗봇 서비스를 클라우드로 마이그레이션할 때 직접 겪었던 문제를 소개하고, 람다 함수를 사용할 때 동기식 호출과 비동기식 호출의 차이와 장단점을 알아본다. 문제 람다 함수에는 수명주기(Lifecycle)가 있는데, 람다 함수는 요청이 발생했을 때 필요에 의해서만 이벤트를 처리하고 실행이 완료되..
들어가기 AWS lambda는 외부 모듈의 실행을 바로 지원하지 않는다. 로컬에서는 pip install 을 통해 바로 설치 및 실행할 수 있지만 서버리스 환경에서는 실행시점마다 같은 실행 환경을 보장하지 않는다. 함수의 실행 시점에만 인스턴스를 띄워서 지정한 메모리 용량과 시간만큼만 실행한다. Amazon Linux v2 환경에서 동작하는 것으로 보이나 사용자가 시스템 환경까지 많은 부분 관여할 수 없다. 코드만 실행하면 되는 목적으로 사용하기에는 가장 적합한 환경이다. Lambda Layer 람다 레이어를 사용하여 외부 모듈을 로드하여 사용할 수 있다. 다음의 과정을 따른다. 1. 로드할 모듈 로컬에 설치 pip의 옵션을 이용하여 지정한 폴더에 설치한다. -t 옵션은 모듈을 설치할 타겟(폴더)를 지정..
AWS KMS AWS Key Management Service - KMS는 데이터 암호화를 활성화하기 위해 암호화 키를 생성하고 제어할 수 있는 관리형 암호화 서비스이다. KMS는 AWS 서비스 전반과 애플리케이션 내에서 데이터를 암호화할 수 있는 고가용성 키 스토리지, 관리 및 감사 솔루션을 제공한다. KMS는 하드웨어 보안 모듈(HSM)을 사용하여 FIPS 140-2 암호화 모듈 검증 프로그램을 통해 키를 보호하고 검증한다. KMS는 여러 AWS 서비스와 원활하게 통합되어 해당 서비스의 데이터를 쉽게 암호화할 수 있다. AWS CloudTrail과 통합되어 암호화 키 사용 로그를 제공하여 감사, 규정 및 규정 준수 요구사항을 충족할 수 있도록 지원한다. KMS는 regional 하며, 키는 키가 생성..
DynamoDB 완전관리형 NoSQL 데이터베이스 서비스 모든 양의 데이터를 저장 및 검색하고 모든 수준의 요청 트래픽을 처리할 수 있는 간단하고 비용 효율적인 서비스 원활한 확장성과 함께 빠르고 예측 가능한 성능 제공 고객은 하드웨어 프로비저닝, 설정 및 구성, 복제, 소프트웨어 패치 또는 클러스터 확장에 대해 걱정할 필요 없이 분산 데이터베이스 운영 및 확장에 따른 관리 부담을 AWS로 분산할 수 있다. DynamoDB 테이블에는 고정된 스키마가 없으며, 테이블은 항목으로 구성되며 각 항목은 서로 다른 수의 속성을 가질 수 있다. DynamoDB는 AWS 리전에 있는 세 개의 시설에 데이터를 동기식으로 복제하여 고가용성과 데이터 내구성을 제공한다. DynamoDB는 빠른 인플레이스 업데이트를 지원한다..
Bastion Host? 보안 접근을 제어하기 위해 사용되는 중간 단계 호스트이다. 일반적으로 클라우드 환경에서는 인터넷을 통해 직접적인 접근을 허용하지 않고, 보안을 강화하기 위해 네트워크의 외부에서 내부 리소스에 접근하는 데에는 추가적인 계층이 필요하다. Bastion은 이러한 보안 계층의 한 예시이다. Bastion 호스트는 인터넷에 직접 노출되는 공용 IP 주소를 가지고 있으며, 사용자는 bastion을 통해 내부 네트워크에 접근할 수 있다. 일반적으로 SSH (Secure Shell)를 통해 bastion에 로그인한 다음, bastion을 통해 내부 리소스로 접근할 수 있다. Bastion을 운영하는 방식은 다음과 같은 단계로 이루어진다: 1. Bastion 인스턴스 생성: 클라우드 제공업체의 ..