본문 바로가기

공부/AWS70

[AWS] Site-to-Site VPN vs Client VPN Site-to-Site VPN 하드웨어 VPN 실제 VPN 장비 - AWS VPN 장비 (하드웨어-하드웨어) Client VPN 소프트웨어 VPN 사용자 Client App - AWS VPN 장비 (하드웨어-소프트웨어) 내 PC가 해당 내부망 안에 존재하는 것처럼 작동 (인터넷도 안됨) SSL 인증서 필요 2021. 4. 15.
[AWS] Session Manager로 RDP 접속하기 (Windows Server) 21.12.11 추가 SSMuser 생성은 굳이 필요 없다. -> Administrator / pem키 해독한 password로도 충분히 접속 가능하다 ssm/ssmmessages/ec2messages 3개 endpoint만 있다면 NAT조차 없는 Private한 서브넷에 있는 Window EC2에도 RDP로 접속할 수 있다 이전에 Session Manager로 Windows Server 접속하는 글을 쓴 적이 있지만, 그저 PowerShell로 접속되는 글이었다 윈도우의 가장 큰 장점은 편리한 GUI이므로 좀 귀찮지만 RDP로 접속하는 일을 해보겠다 목표 : 로컬에서 RDP 포트가 열려있지 않은 윈도우 서버에 RDP로 접속하기 목차 1. EC2용 IAM 역할 & Windows Server 2019 EC.. 2021. 3. 29.
[AWS] Session Manager 설치해보기 2 (Windows Server 2019) 지난 글에 이어서 Windows를 Session Manager로 접속해보도록 하겠다 PowerShell을 통해 cli로 설치하는 방법도 있지만, 그냥 파일 하나 집어 넣는 것만으로도 간편하게 끝낼 수 있기에 cli로는 하지 않겠다 목차 1. IAM role 2. SSM Agent 1. IAM role 저번 글에서처럼 AmazonEC2RoleforSSM이 포함된 정책이 연결된 IAM role을 EC2에 붙여주자 2. SSM Agent 여기를 클릭해서 SSM Agent Setup 파일을 받은 후 해당 윈도우 서버에 복사해주자 복사된 파일을 더블클릭해 agree를 해주고 Install을 눌러준다 벌써 끝났다. 콘솔에서 인스턴스를 누른 후 Session Manager 탭을 보면 버튼이 활성화된걸 확인할 수 있다.. 2021. 3. 15.
[AWS] Session Manager 설치해보기 1 (CentOS 8) 이전에 Linux에서 SSH 포트를 변경하는 글을 썼었다 마지막에 주의사항으로 SSH 포트가 막힐 수 있는 위험에 대해 썼는데, 그에 대한 해결책이 Session Manager이다 Session Manager? AWS Systems Manager(SSM)의 기능으로, 포트가 아닌 IAM 권한을 가지고 통신을 할 수 있다 내부적으로 쓰이는 다른 포트가 있는건지 뭔지는 잘 모르겠다만, 실수로 SSH나 RDP가 막혔을 때 관리자가 콘솔을 통해 해당 서버로 접속해 트러블슈팅을 해줄 수 있다 Session Manager로 접속하기 위해선 SSM에서 EC2에 접근할 수 있는 IAM role, awscli, SSM Agent가 필요하다 (수정 : awscli 없어도 session manager로 접속 가능 - 밑의 .. 2021. 3. 15.
[AWS] SageMaker Notebook으로 ML 맛보기 (MNIST, k-means) Amazon SageMaker란? 공식 문서도 참조하셈 ML을 하나도 모르지만, 요즘 대세인 SageMaker를 한 번 써보고싶었다 사실 SageMaker의 기능이라기보단 그냥 Jupyter Notebook을 AWS에서 실행해보는거긴 하다 일단 해보자! 목차 1. S3 버킷 만들기 2. SageMaker 노트북 생성 & 실행 3. MNIST dataset과 k-means 알고리즘 4. 머신러닝 시작! (학습 & 배포 & 테스트) 1. S3 Bucket 만들기 학습할 데이터와 학습 모델을 지정할 S3 Bucket이 필요하다 콘솔 > S3 > 버킷 만들기 이름만 정하고 나머진 다 default값으로 해서 생성한다 버킷 이름은 앞에 sagemaker-를 붙여줘야 한다 2. Notebook Instance 생성.. 2021. 2. 27.
[AWS WAF] #5 실습 마무리 : 로깅 확인 & 리소스 삭제 목차 1. 로깅 확인 2. 리소스 삭제 1. AWS WAF 로깅 확인 S3로 들어가서 waf-s3bucket-어쩌고의 버킷의 가장 최근 파일을 받아봤다 첫번째줄은 curl -i -H "x-value: bot" $waf_url 명령의 결과라서 x-value값이 bot이다 두번째줄은 curl -i -X POST -d ... 명령의 결과라서 메소드 형태가 POST이다 (파라미터 값은 안보임) 2. 리소스 삭제 순서 1) WAF Web ACL의 Associate AWS resources 탭에서 ALB와의 연결 해제 2) WAF Web ACL 삭제 3) S3 bucket 비운 후 삭제 (안비우면 삭제 안됨) (둘 다 지워야됨) 4) CloudFormation 스택 삭제 끝 WAF 실습 시리즈 #0 실습 전 준비 .. 2021. 2. 26.
[AWS WAF] #4 JSON으로 WAF Rule 직접 작성해보기 목차 1. 기존 룰 백업 및 분석 2. 새 룰 요구사항 분석 3. 새 룰 작성 후 테스트 1. 기존 룰 백업 및 삭제 WAF Web ACLs에 들어가면 현재 ACL을 JSON으로 받을 수 있다 1-1) AWS managed rule의 Core rule set { "Name": "AWS-AWSManagedRulesCommonRuleSet", "Priority": 0, "Statement": { "ManagedRuleGroupStatement": { "VendorName": "AWS", "Name": "AWSManagedRulesCommonRuleSet" } }, "OverrideAction": { "None": {} }, "VisibilityConfig": { "SampledRequestsEnabled":.. 2021. 2. 26.
[AWS WAF] #3 특정 국가 or User-Agent 차단 (custom rule) 목차 1. 특정 국가 차단 (Browsec VPN 사용) 2. 특정 User-Agent 차단 (User-Agent Switcher 사용) 3. custom rule 작성 시 참고사항 1. 특정 국가 차단 무료로 사용 가능한 VPN 중, 싱가포르의 트래픽을 차단해보겠다 1-1) 차단 전 확인 WAF를 설정하기 전에는 싱가포르에서 접속이 되는지 확인해보자 Browsec을 ON 시킨 후, Change > Singapore DVWA로의 접속은 잘 된다 1-2) Rule 생성 만들어둔 WAF Web ACLs에서 Rules 탭으로 이동 전 실습과는 다르게 Add my own rules and rule groups를 누른다 Rule Name은 맘대로 정해주자 Statement의 Inspect는 Origin from .. 2021. 2. 25.
[AWS WAF] #2 SQL Injection & XSS 공격과 방어 (AWS managed rule) 목차 1. SQL Injection 공격/설명 2. XSS (Reflected) 공격/설명 3. WAF로 방어 ※ 시작 전에! 첫번째 글에서 깔았던 크롬 확장 도구인 Browsec VPN을 ON 한 상태로 시작하겠다 우리나라에서 뭘 많이 막아논건지 뭐가 문젠진 모르겠지만 암튼 그냥 공격하면 안먹힘 1. SQL Injection 1-1) 일단 공격해보기 DVWA의 SQL Injection 탭으로 이동해서 ' OR 1=1 # 을 작성해서 Submit을 눌러보자 여러 계정 정보들이 출력된다 (공격 성공) 1-2) 공격 설명 📌 SQL Injection이란? 악의적인 사용자가 보안상의 취약점을 이용하여 임의의 SQL문을 주입하고 실행되게 해 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위 User ID에 .. 2021. 2. 25.
[AWS WAF] #1 사전 리소스들과 WAF 구성 목차 1. 사전 리소스 구성 2. 만들어진 DVWA 확인 3. WAF Web ACL 구성 1. 사전 리소스 구성 위 템플릿 파일을 다운받아 CloudFormation 스택을 생성해보자 인스턴스 타입과 VPC 대역은 변경 가능하다 디폴트값으로 진행했을 때 생성되는 리소스들은 아래와 같다 준비된 환경에 WAF까지 구현한 아키텍처는 다음과 같다 2. 만들어진 DVWA 확인 스택 배포로 생성된 ALB의 DNS로 접속해보면 DVWA의 로그인 페이지로 접속된다 초기 ID : admin / 비밀번호 : password 왼쪽의 메뉴들 중 DVWA Security 탭으로 이동해 Security Level을 Low로 설정한 후 Submit을 해주자 취약점을 공격하기 쉬운 단계로 낮추는 것이다 (레벨별로 공격하는 방법이 다.. 2021. 2. 25.
[AWS WAF] #0 실습 전 준비 AWS 공식 WAF 실습을 진행해보겠다 먼저 WAF란? HTTP(S) 요청을 모니터링하고 보호하는 웹 애플리케이션 방화벽 특정 공격 패턴(SQL Injection, XSS 등)을 차단, 특정 트래픽 패턴을 필터링 등을 할 수 있다 차단된 요청에 대해선 HTTP 403 코드로 응답한다 비용은 사용한 만큼 : 배포한 규칙 수와 애플리케이션이 수신한 웹 요청 수 기준 WAF 배포 가능한 리소스 : CloudFront, ALB, API Gateway, AppSync DVWA란? Damn Vulerable Web Application PHP와 MySQL로 만들어진 웹의 취약점에 대한 공격 및 방어 기술 교육에 사용되는 오픈소스 애플리케이션 더보기 https://dvwa.co.uk/ https://github.co.. 2021. 2. 25.
[AWS] VPN과 TGW, VGW, CGW (+TGW cost) 이전에 Transit Gateway와 VPC Peering에 대한 글을 쓴 적이 있다 하지만 Transit Gateway(이하 TGW)는 VPC 뿐 아니라 VPN을 엔드포인트로 연결할 수 있어 전체적인 아키텍처에서 라우터같은 느낌이다 이번 글에서는 온프레미스 - AWS VPC를 VPN으로 연결하는 방법 중 TGW를 사용하지 않을 때와 사용할 때로 나눠서 알아보겠다 VPN(Virtual Private Network)이란? 그냥 온프레미스 장비랑 연결하기 위해 뚫는 터널이다 이 때, 온프레미스 장비 앞에는 Customer Gateway(이하 CGW)가 있어야 한다 근데 CGW는 사실 장비 정보를 적어놓은 리소스일 뿐 실제 연결을 CGW를 통해서 한다는가 하는 게이트웨이 느낌은 아니다. 그저 CGW에 적어놓은.. 2021. 2. 4.
[AWS] Lambda로 EC2 Start/Stop + CloudWatch 규칙으로 트리거 >> Lambda 코드만 모아둔 GitHub 0. 기본 구성 기본 VPC에 EC2 2개 만들어놓고 진행하겠다 EC2 인스턴스 id들은 복사해두자 1. IAM 정책 생성 Lambda 함수에서 EC2를 시작/중지 시킬 수 있는 role을 만들어야 하기 때문에 정책을 먼저 만들어주겠다 IAM > 정책 > 정책 생성 > JSON으로 들어가 아래의 코드로 변경 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow".. 2021. 1. 19.
[AWS] Transit Gateway 사용해보기 (+ VPC Peering과 다른 점) 서로 다른 VPC에서 사설 IP로 통신을 하기 위해선 VPC 피어링을 사용하면 된다 그러나, 두세개 정도가 아닌 훨씬 많은 VPC들을 전부 연결해주려면 너무 복잡하고 일이 많아진다 이럴 땐 Transit Gateway를 쓰면 한번에 라우팅을 관리할 수 있다 이러면 사실 VPC Peering을 왜 쓰냐고 할수도 있을텐데, Transit Gateway는 비싸다(...) 아무튼 Transit Gateway를 만들어보기 위해 VPC를 5개정도 만들어보겠다 스택을 생성할 때 마다 MainNumber만 알아서 다르게 해주면 자동으로 그에 맞는 VPC와 Subnet, EC2들이 생성된다 1. VPC 생성 아래와 같이 MainNumber 파라미터만 다 다르게 해서 생성해주자 2. 리소스 확인 Bastion 중 아무나에.. 2021. 1. 18.
[AWS] AWS Cloud Shell linux 기반의 클라우드 쉘이다 콘솔에서 서비스 > Cloud Shell을 검색해 들어갈 수 있다 아직 서울은 지원하지 않는다 시작하면 나오는 화면 오른쪽 상단의 Actions을 눌러보면 여러 기능들도 있다 아무 파일을 하나 upload 해보겠다 1GB까지만 된다고 한다. 아무튼 업로드를 하니 업로드가 잘 된다 검색창 옆의 아이콘을 눌러도 바로 CloudShell로 들어갈 수 있다 끝 2020. 12. 21.