본문 바로가기

Rookies 9기/클라우드 보안

클라우드 보안 6일차

728x90

• 클라우드의 특징

- 확장성, 유연성

- 종량제 : 사용한 만큼 비용을 지불

- Multi-tenancy : 복수 점유

 

• S3 클래스에서 보관 비용 순서 (인출비용은 역순)

S3 Standard  > S3 Standard-IA > S3 One Zone-lA > Glacier instant retrieval > Glacier flexible retrieval > Glacier Deep Archive

 

• VPN (Virtual Private Network) : 네트워크 암호화 통신하는 서비스

- Public Network (공중망) : ISP(Internet Service Provider)들이 제공하는 네트워크 -----> 저렴하지만 안전하지 않음(침해사고 발생) 

- Private Network (사설망) : 기업들이 자체적으로 구축한 네트워크 ex) 현대차와 납품업체들간 통신을 위한 선을 설치 ------> 고비용

- VPN (가상의 사설망) : ISP들이 공중망에서 암호화된 네트워크 서비스를 제공하는 것 -----> 저렴하면서 안전함

 

• VPN에서 사용하는 기수

- AH (Authentication Header) : 인증헤더 (인증, 무결성) ----> 믿을 수 있는 상대인가? (인증), 데이터 신뢰(무결성)

- ESP (Encapsulation Security Payload) : 데이터 암호화, 무결성 ----> 데이터를 안전하게 암호화해서 보냄(기밀성), 데이터 신뢰(무결성)

 

• VPN 구현방법

⇒ 안전한 정도 : ESP Tunnel > ESP Transport > AH Tunnel > AH Transport

 

- Transport : 종단간 암호화, 헤더는 암호화 안됨, 데이터 부분만 암화해서 전송

Transport

- Tunneling : 구간 암호화, 헤더까지 통째로 암호화, 터널통과를 위한 헤더가 추가됨 (기업들은 본사,

Tunneling

 

• RDS (관계형 데이터베이스 서비스)

-  Aurora : AWS에서 MySQL, postgreSQL를 AWS Cloud 환경에 맞게 최적화한 서비스 (여러번 복제를 함) ---> 약간 비싸지만 안정성 높음 (중요한 서비스를 실행할 때, 안정성이 높고 Cloud에 최적화 되어서 속도도 빠름)

 

• Route 53 : 도메인 등록 및 관리 서비스

- DNS 관련 부하 분산 서비스

 

• Elastic IP (탄력적 IP : 고정 버블릭 IP주소 --> 한번 설정하면 IP주소를 변동없이 그대로 사용할 수 있음, NLB 할당)

ex) 도메인 주소와 EIP를 연동하면 안정적인 서비스 가능

 

• AWS을 활용해서 돈을 벌려면? (IaaS/PaaS/SaaS)

- PaaS를 이용해서 SaaS를 만들어서 서비스를 제공하면 됨

ex) 가격 : IaaS(캠핑) < PaaS(글랭핑) < SaaS(호텔)

ex) SNS를 서비스하려는 Startup들이 PaaS를 이용해서 제공

 

• Direct Connect : 회사에서 Cloud로 접속하기 위한 안전하게 연결해주는 서비스(VPN기능) ---> 기업들이 사용하는 전용 통로

cf. IGW(Internet Gateway) : 암호화 안됨, 공인IP를 공개된 연결 통로 

 

• Red Shift : Data Warehouse(대용량 데이터 저장 및 분석)

ex) 자동차 회사 : 영업사원들이 계약정보 입력을 할 때 처리는 EC2에서하고 S3에 저장, Red Shift에서 분석 자료는 S3에 저장

 

• DynamoDB

- AWS에서 제공하는 NoSQL 서비스

- NoSQL은 SQL형식을 무시하는 Database 방식

- 비정형 데이터를 저장할 때 주로 사용 ex) 로그, 이미지, 쿠키 등등

cf. SQL에서는 아래와 같이 정형하된 데이터를 입력

- char(고정길이 문자)

- varchar(가변길이 문자)

- int(숫자)

DynamoDB 테이블 생성

파티션 키(물리적 공간인 파티션을 특정 하는 키이다) 와 정렬키(동일한 파티션 키를 가진 데이터를 정렬할 때 쓰인다) 기본 키 이므로 생략할 수 없고 변경 할 수 없다.  

파티션 키 + 정렬 키 = 기본 키

생성을 한 후 항목탐색에 들어가 테이블을 추가로 생성해보자.

파티션 키 와 정렬 키를 생성을 한다.

동일한 데이터로 입력을 안해도 에러가 일어나지 않는다(SQL에서는 에러남)

 

PaaS : IT를 잘 하는 사용자(개발자)가 서비스를 만들기 위해서 사용
SaaS : IT를 모르는 비전문가들이 ID/PW만 입력하면 다 해주는 서비스

• AWS 아키텍쳐 설계 사이트

- https://cacoo.com 

 

Collaboration Tools for Team & Project Management | Nulab

Review & Disucss Share, view, and discuss the latest updates to make faster decisions.

nulab.com

• Putty

- 서버와 연결할 때 사용하는 클라이언트용 도구

- https://putty.org 

 

Download PuTTY - a free SSH and telnet client for Windows

Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download link. W

putty.org

putty.exe 와 puttygen.exe 파일 두개를 다운로드 받음

- putty.exe : 서버와 연결할 때 사용 (SSH 등)

- puttygen.exe : 키 형식을 변경해주는 도구 (aws_key.pem ---> aws_key.ppk)

- ppk (Putty Private Key)형식으로 변경하면 400 설정 안해도 됨

 

• 실습 aws_key.pem 파일을 aws_key.ppk 로 변환해서 접속해보기

1. aws_key.pem 확장자 변경

puttygen.exe를 실행 시키고 Load 버튼 클릭

Save private Key를 클릭해서 aws_key이름으로 파일을 생성한다.

ppk라는 확장자로 파일이 변경되었다.

 

2. 접속을 하기위한 EC2생성

AMI 검색창에 Bitnami로 검색을 해서 EC2 생성하기

EC2 생성

Bitnami word..이름으로 EC2가 생성이 되었다.

 

3. Putty로 접속하기

첫 화면에서 Hostname에 EC2의 버플릭 IP를 입력한 후 SSH -> Auth에 들어가 aws_key.ppk를 넣어준다.

aws_key.ppk

Open 버튼을 눌러준다.

로그인 아이디를 bitnami 를 입력을 하면 접속이 되는걸 볼 수 있다.

cat bitnami_credentials

Database 접속 ID/PW가 보인다.(Wordpress의 ID/PW도 동일하다.

 

4. Wordpress 

퍼블릭 IP로 웹브라우저에 들어가면 Wordpress가 실행이 되있다.

관리자 페이지

http://52.53.209.218/wp-admin 에 들어가면 관리자 페이지에 들어갈수있다.

Posts에 들어가 게시물&이미지를 업로드 해보자.

게시물&이미지 작성
업로드

페이지 첫 화면에 업로드가 되어있는걸 볼수 있다.

 

• Wordpress

- 소스코드를 무료로 배포하는 웹 사이트

- 플로그인들 중에 취약점이 발견되는 사례가 많다.

-https://www.exploit-db.com 에서 wordpress로 검색하면 취약한 plugin들을 볼수 있다.

- https://ko.wordpress.org/ 

 

Blog Tool, Publishing Platform, and CMS - WordPress.org 한국어

Open source software which you can use to easily create a beautiful website, blog, or app.

ko.wordpress.org

 

• Root 사용자

- Email 주소 등록 ---> 소유기반 검증으로 활용 (PW변경 등)

- Root 계정은 업무에 사용하면 안됨, 별도로 계정을 생성 (IAM사용자 계정)을 생성해서 권한을 부여하면 됨

- IAM관리 권한을 가진 사용자를 생성해서 Project 팀에 부여하면 됨 (인사권 가진 사람에게 부여, PM등)

 

• IAM 계정

- 일반 사용자 계정을 의미함

- 사용자 그룹 단위로 관리해야 편리함

- 임원 등이 진행상황 체크 및 모니터일 ---> ReadOnlyAccess

 

• Federated User (연합사용자)⭐

- 고객사에서 잠깐 보려고 한다면? 

- 외부 컨설턴트에게 문제점을 도움 받으려고 할때?

- Google, Facebook 등을 가진 다른 사용자에게 임시 접근 권한을 부여하는 방법

- 업무가 끝나면 권한 제거

 

• Accesskey, SecretAccessKey : Command Line에서 사용자를 인증하는 방식

----> ID/PW와 마찬가지이므로 보안 주의해야 함(절대 외부에 노출X)

- 확장자가 csv (Comma Separated Value : 값을 콤마로 구분함)

 

• AWS CLI 실습

• AWS CLI 설치
$ sudo apt update
$ sudo apt install python-setuptools python3-pip -y
$ sudo apt install vim
$ sudo apt install net-tools
$ sudo pip install awscli

 

Acces key,Secret Access Key, Region를 입력을 해준다.

aws s3 ls

S3의 버킷 리스트가 출력 된다.

aws s3 mb s3://hcmimage2

S3에 버킷을 만들어 준다.

aws s3 ls
aws s3 cp s3://hcmimage/a4.jpeg s3://hcmimage2

새로운 버킷에 기존에있던 이미지 파일을 복사를 해준다.

aws s3 ls s3://hcmimage2

복사한 파일이 있는걸 볼 수 있다.

aws s3 rm s3://hcmimage2/a4.jepg

버킷안에 있는 이미지 파일을 삭제한다.

 

EC2 생성하기

Amazon Linux를 AWS CLI로 생성을 해보자. AMI 번호를 확인한다.

EC2 생성 코드
EC2 확인
aws&nbsp; ec2&nbsp; describe-instances --instance-id&nbsp;&nbsp; [인스턴스 ID]

인스턴스를 지정해서 볼 수 있다.

태그 추가하기

aws  ec2  create-tags  --resources  인스턴스ID   --tags Key=Name,Value=[지정할 이름] 명령어를 사용해 태그를 추가할 수 있다.

EC2 태그 확인

 

'Rookies 9기 > 클라우드 보안' 카테고리의 다른 글

클라우드 보안 7일차  (0) 2022.10.06
클라우드 보안 5일차  (0) 2022.09.30
클라우드 보안 4일차  (0) 2022.09.29
클라우드 보안 3일차  (0) 2022.09.28
클라우드 보안 2일차  (0) 2022.09.27