AWS 31

AWS WAF를 통한 웹 애플리케이션 보안

실습 목표 : 웹 애플리케이션의 취약점이 노출된 웹 서버를 배포 후 모의 해킹을 수행하고, AWS WAF에 의해 웹 취약점 공격을 점검하고 차단하는 실습을 진행한다. 실습 목표 구성도는 아래와 같다. WAF을 제외한 기본 환경은 CloudFormation을 통해 구성한다. 기본 환경에서 웹 취약점 검증 현재 기본 환경은 웹 서비스에 대한 보안 대책이 없이 아무나 연결이 가능한 무방비 상태이다. 해당 환경에서 웹 취약점 공격자가 되어 모의 해킹을 수행해 보겠다. 우선 DVWA 인스턴스에 접근하여, 보안 레벨을 낮춰 실습에 용이하게 설정하자. ALB의 퍼블릭 DNS 주소를 확인하고 웹 브라우저로 HTTP 접근을 해보자. * DVWA는 보안에 취약한 무방비 상태의 웹 애플리케이션이다. DVWA 웹 서버를 통해..

AWS/실습 2023.01.18

AWS WAF (Web Application Firewall)

WAF (Web Application Firewall) WAF이란 웹 어플리케이션 보안에 특화된 전용 방화벽이다. SQL Injection 공격, XSS(Cross-site Scripting)공격, CSRF(Cross-site Request Forgercy) 공격 등과 같이 웹 서비스 취약점에 대한 공격을 탐지하고 차단하는 기능을 수행한다. AWS WAF AWS WAF은 AWS에서 관리하는 웹 어플리케이션 전용 방화벽이다. AWS WAF은 AWS 서비스 중에서 CloudFront, ALB, API Gateway에 배포할 수 있다. AWS WAF의 주요 기능으로는 웹 트래픽 필터링 API를 통한 자동화 및 유지관리 CloudWatch를 통한 가시성 보장 AWS Firewall Manager와 통합가능 AW..

AWS/이론 2023.01.18

VPC 트래픽 미러링

트래픽 미러링이란 네트워크 환경에서 발생하는 트래픽을 복제하여 특정 장치로 전달하여 해당 정보를 모니터링할 수 있는 기능이다. VPC 플로우 로그와의 차이점은 뭘까? VPC 플로우 로그는 정형화된 필드로 이루어진 로그, 즉 레코드일 뿐이며 VPC 트래픽 미러링은 실제 네트워크 패킷 그 자체이다. 트래픽의 상세한 분석이나 결과를 확인하고 싶을 경우 VPC 트래픽 미러링을 통해 실제 네트워크 패킷을 수집하여 활용할 수 있다. VPC 트래픽 미러링의 구성 요소에 대해 알아보자. 미러 소스 : 트래픽 미러링을 수행할 대상, ENI를 미러 소스로 사용할 수 있다. 미러 타깃 : 트래픽 미러링을 통해 복제된 트래픽을 전달할 목적지, 소스와 다른 ENI 또는 NLB가 될 수 있다. 미러 필터 : 필터를 통해 트래픽 ..

AWS/이론 2023.01.18

보안 그룹과 네트워크 ACL의 차이 & VPC 플로우 로그

실습 목표 : VPC에서 보안 그룹과 네트워크 ACL을 생성하여 동작의 차이를 이해하고, VPC 플로우 로그를 통해 레코드를 수집하여 접속 허용과 거부를 확인한다. 기본 실습 환경은 CloudFormation을 통해 구성한다. VPC 플로우 로그와 CloudWatch는 아직 생성하지 않았다. 보안 그룹을 통한 접근 제어 먼저, 보안 그룹을 통해 접근 제어를 해보자. 보안그룹은 Stateful 한 동작 제어를 한다. 이해를 돕기 위해 먼저 Server-SG의 보안 그룹에서 아웃바운드 규칙을 삭제 한 후 실습을 진행하겠다. 다음으로 사용자 PC에서 Server-EC2로 SSH 접근을 시도해보자. 아래와 같이 정상접속되는 것을 확인할 수 있다. 아주 당연한 결과처럼 보이지만, 현재 적용중인 Server-SG ..

AWS/실습 2023.01.18

VPC 플로우 로그

VPC 플로우 로그는 VPC에 속한 네트워크 인터페이스(ENI)에서 송수신 되는 트래픽에 대한 정보를 수집할 수 있는 기능이다. 이를 통해 네트워크 연결 문제 해결, 보안 문제 확인, 네트워크 접근 제어 정책이 정상적으로 동작하는지 체크할 수 있다. 위와 같이 EC2 인스턴스의 네트워크 인터페이스에 플로우 로그 그룹을 구성할 수 있다. 서브넷 A의 상황과 같이 인스턴스 A-1 대상만 플로우 로그 -AAA 그룹으로 생성하고 발생한 플로우 로그 레코드를 S3 버킷에 쌓아둘 수 있다. 서브넷 B의 상황과 같이 인스턴스 B-1,2 모두 플로우 로그 -BBB 그룹으로 생성하고 발생한 플로우 로그 레코드를 CloudWatch Logs를 통해 게시할 수 있다. 참고로 VPC 플로우 로그를 생성한 후 데이터를 수집하여..

AWS/이론 2023.01.16

보안 그룹 & 네트워크 ACL

접근 제어 (Access Control) 일반적인 측면에서 접근 제어는 보안상 위협으로부터 환경을 보호하기 위한 보안 대책이다. 인가된 대상은 접근을 허용하고, 인가되지 않은 대상은 접근을 거부함으로써 보안을 강화할 수 있다. 위는 접근 제어 절차로 식별 -> 인증 -> 권한부여 순으로 진행된다. 네트워크 입장에서 보면 대상을 식별하는 기준으로는 일반적으로 IP주소나 포트번호, 프로토콜을 예로 들 수 있겠다. 위는 간단한 구조의 네트워크 접근 제어 상황을 보여주고있다. 보안 그룹과 네트워크 ACL AWS에서는 네트워크 인프라 보호를 위한 트래픽 제어 정책으로 보안 그룹(Security Group)과 네트워크 ACL(Access Control List)기능을 활용한다. 둘 다 모두 IP주소와 프로토콜, 포..

AWS/이론 2023.01.16

AWS와 온프레미스 간 DNS 질의/응답

실습 목표 : AWS 내부망과 기업 내부망 간에 하이브리드 클라우드 환경을 구성하여 서로 간의 프라이빗 도메인 주소로 통신하는 구성을 알아보자. 기본 환경은 CloudFormation을 통해 구성한다. 해당 환경은 현재 AWS 내부망에서는 Route 53을 통해 DNS 질의가 이루어지고 기업망 내에서는 별도의 DNS 서버를 통해 질의가 이루어지고 있다. AWS -> IDC 혹은 그 반대의 경우에서 DNS 질의를 하기위한 실습을 진행한다. 기본 환경 검증 1) AWS-VPC에서의 기본 환경 검증 (웹서버 1 SSH 접근) 1. EC2에 설정된 DNS서버 확인 2. awsneta.internal 프라이빗 도메인에 대한 DNS 질의 3. 프라이빗 도메인 주소로 웹 접속 확인 4. VPC 피어링으로 연결된 ID..

AWS/실습 2023.01.16

Route 53 DNS 해석기(DNS Resolver)

프라이빗 호스팅 영역 Route 53 에는 호스팅 영역이라는 개념이 있다. 호스팅 영역이란, 도메인을 생성한 뒤 DNS 쿼리 응답 정보를 담는 일종의 컨테이너라고 생각하면 된다. 퍼블릭 호스팅 영역은 외부 인터넷과 연결되는 도메인에 관한 것이고, 프라이빗 호스팅 영역은 AWS VPC 서비스로 생성한 도메인에 관한 컨테이너 서비스이다. (DNS 질의) VPC DNS 옵션 VPC DNS 옵션에는 두 가지가 있다. 1. DNS 확인 (DNS resolution) : AWS 제공 DNS 해석기를 사용하겠다는 옵션으로 해당 VPC의 X.X.X.2 번 자리는 항상 DNS서버의 자리로 정해져 있다. 2. DNS 호스트 이름 (DNS hostnames) : 퍼블릭, 프라이빗 IP주소 에 대한 DNS 이름을 사용하겠다는..

AWS/이론 2023.01.15

전송 게이트웨이(Transit Gateway)

전송 게이트웨이는 VPC나 온프레미스 등의 네트워크를 중앙 집결형으로 구성할 수 있는 라우팅 서비스이다. 그림 구성도를 본다면 이해가 빠를 것이다. 위와같이 다수의 VPC나, VPN, Direct Connect Gateway 를 사용하는 환경에서 복잡한 개별 연결이 이루어지는데, 전송 게이트웨이를 사용하면 오른쪽 구성처럼 중앙 집중형 연결 환경을 만들 수 있다. 전송 게이트웨이를 사용하면 복잡한 AWS 네트워크 아키텍처를 간소화할 수 있고, 관리 및 운용 효율이 보장되며 향상된 보안과 멀티캐스트를 활용하여 유용한 통신이 이루어진다. * 멀티캐스트란 하나의 송신지에서 다수의 수신자들에게 정보를 전달하는 기술, 같은 정보를 특정 그룹에게 보내야할 떄 사용함. 전송 게이트웨이의 주요 기능으로는 1. 라우팅 :..

AWS/이론 2023.01.11

AWS와 온프레미스 간 VPN 통신(S2S)

AWS와 온프레미스 IDC간 VPN 통신을 해보자. 구축되어있는 CloudFormation 환경은 아래와 같다. VPN 환경을 설정 하기 전, 기본 환경에 대해서 SSH 접근을 시도해보자. 우선 IDC-CGW 인스턴스에 접근을 수행하고, 인스턴스에 생성된 VPN 설정 파일을 확인한다. 현재 IDC-VPC 내의 퍼블릭 서브넷에 있는 IDC-CGW 인스턴스에 접속해 있기 때문에 같은 VPC 내의 프라이빗 서브넷 속 인스턴스에 접속할 수 있다. 접근해보자. 이후 프라이빗 서브넷의 인스턴스가 외부 인터넷과 통신이 되는지 확인해보자. 프라이빗 서브넷 속 인스턴스이기 때문에 별도의 설정 없이 통신이 불가한 모습을 볼 수 있다. 마찬가지로, 생성한 AWS 인스턴스에 대해서도 같은 결과를 보여준다. 이후 AWS 인스턴..

AWS/실습 2023.01.11