SK shieldus Rookies 9기/클라우드 보안

클라우드 보안 수업 1일차 (22/09/26)

ksh_5 2022. 9. 27. 00:43
  • 클라우드

 

- 네트워크에 대한 이해

- 서버를 운영하는 능력 (주로 Linux 사용)

- Database 잘 사용해야 함

- 약간의 스크립트 작성 능력

- 클라우드의 특징에 대한 이해

 

 

  • 4차 산업혁명

 

- Cloud는 IoT, Blockchain, Machine Learning, AI 모두 뒷받침하는 기반 기술

 

 

  • 클라우드 서비스 업체

 

  • 직접 관리

 

- 서버를 운영할 공간, 인력

 

 

  • 서버 호스팅(Server Hosting)

 

- 서버 관리를 전문업체에 위탁 관리시키는 것

- 서버 자체가 담보 역할 → 렌탈 기념

- 대규모로 운영하면 단가가 내려감

 

 

  • 웹 호스팅(Web Hosting)

 

- 웹 서비스만 해주는 방식

- 서버 1대에 여러 웹사이트 운영 가능

- 비용 절감

 

 

  • Cloud

 

- 서버에 가상머신을 운영 (가상머신이 서버 역할)

- 웹 호스팅보다 훨씬 비용적으로 효율적

 

 

  • Contaioner

 

- 운영체제에 Docker 설치해 운영하는 방식

- Kubernetis 이용해 운영할 시 더 효율적

 

 

  • 클라우드 컴퓨팅 정의 (중요 ★★★)

 

- Virtualization : 가상 머신 이용해 IT 자원 공유

- IT as Utility : 전기 등 같이 필요한 만큼 사용

- Internet : 고객의 유무선을 통해 관리하게 접속

→ 서버(컴퓨팅), 스토리지, 플랫폼, 애플리케이션, 네트워크 등 인터넷 통해 빌려서 사용

- Automation : 수작업 없이 자동 처리

→ 사용한 만큼 비용 지불

 

 

  • 클라우드 컴퓨팅의 특징 (중요 ★★★)

 

- IT 자원의 공동 사용(Multi-tenancy)

   : 물리적 구별 없이 App 실행

- 사용자 셀프서비스

   : IT 관리자의 간섭 없이 사용자 직접 구매, 설계, 설치 가능

- 규모의 경제

   : 대용량 자원 보유 및 운용할수록 비용 절감 효과 큼

- 동적 확장성 및 사용량 기반 과금체계

   : 즉시 확장/축소하고, 사용량 따라 과금

 

 

  • 클라우드가 비용이 절감되는 이유(중요 )

 

① 필요한 만큼만 사용

② 고객 직접 설정

③ 대규모 : 대형 데이터센터 운영하면 더 절감

 

 

  • 관제

 

- 서버 관제 : 서버 서비스 설정, 에러 발생 체크 및 대응

 

- 보안 관제 : 공격 / 악성코드 들어올 시 대응

 

- 교대근무 : 6시간 4교대, 8시간 3교대

 

 

MySQL Server 설치 실습)

더보기

$ sudo apt install mysql-server

$ sudo mysql -u root -p

mysql > create database rookies9;

mysql > show databases;

 

rookies9라는 DB가 생성됨을 확인

 

mysql > create user board@localhost identified by 'cyber12#$';     // 계정 생성

mysql > grant all privileges on rookies9.* to board@localhost;     // 권한 부여

 

Gnuboard 설치 실습)

더보기

1) Database 설치

$ sudo  apt  install  apache2

$ sudo  mysql  -u root  -p

mysql > create  database  gnuboard;     // gnuboard라는 DB 생성

mysql>  grant  all  privileges  on  gnuboard.*  to  board@localhost;     // 권한 부여

 

2) 웹서버에서 사용할 언어 설치

$ sudo apt install php php-mysql php-common php-gd php-fpm php-xml php-json php-curl git

 

3) 게시판 소스 다운로드

$ cd /var/www/html

$ sudo git clone https://github.com/gnuboard/gnuboard5

$ cd  gnuboard5

$ sudo  mkdir  data     // 사용자들이 업로드할 데이터 디렉토리 생성

$ sudo  chmod  707   data     // 누구나 가능하게 설정

 

$ sudo service apache2 restart     // 아파치 재시작

 

4) 게시판 설정

- 자신의 IP(http://192.168.5.130)로 들어가면 Apache2 Default Page가 뜬다.

 

 

- http://192.168.5.130/gnuboard5로 들어가 MySQL 정보 입력

 

 

- 사진 파일을 올릴 시 올라가면 정상

 

 

 

  • 2Tier (Client - Server)

 

- Server 하나에 다 설치 (웹서버와 DB서버 일체형)

 

 

 

  • 3Tier (Client - Web Server - DB Server)

 

 

 

원격 관리 위해 SSH 설정 후 접속 실습)

더보기

- 우분투에서 설정

 

$ sudo apt install ssh

$ sudo adduser ive

   pw : after

$ sudo vi /etc/sudoers

   : 45번 라인에 ive ALL=(ALL:ALL) ALL 추가 후 :wq!로 종료

 

 

- 윈도우에서 접속

 

cmd > ssh 192.168.5.130 -l ive     // (-l : login)

 

 

$ sudo apt update

 

  • AWS

 

- 각자 다른 리전(Region)에서 작업

- Zone : 가상 데이터 센터

- 리전마다 Zone 3개 이상 구성

-  VPC 만들 수 있는 개수 제한 때문에 리전을 따로 사용해야 함

 

 

  • 스토리지(Storage)

 

- 데이터 보관함

- Amazon S3 (Simple Storage Service)

- Bucket 단위로 관리

- 고유한 이름으로 생성

 

 

AWS 실습)

더보기
  • 서비스 > 스토리지 > S3

 

  • 버킷 만들기

① 버킷의 이름이 중복되지 않게 고유한 이름으로 생성

 

 

② 자신 외 다른 AWS 계정의 '읽기/쓰기'에 대한 설정 활성화

 

 

③  모든 퍼블릭 액세스 차단 해제

 

 

  • 버킷에 파일 업로드

이미지 파일을 업로드 후 누구나 볼 수 있도록 ACL 액세스 제한 퍼블릭으로 교체

사진 파일 업로드

 

권한 부여

 

  • 업로드한 이미지를 웹사이트에 업로드

- 윈도우10에서 cmd 열어 ssh 이용해 ubuntru에 접속


cmd > ssh 192.168.5.130 -l ive

$ cd /var/www/html

$ sudo mv index.html index.old

 

 

- AWS에서 업로드한 이미지의 속성에 생성된 객체 URL을 복사

 

 

$ sudo vi index.html

<html>

             <body>

                           <img src="https://kkimshyrookies.s3.ap-northeast-3.amazonaws.com/cream.JPG">

                                        </body>

                                                     </html>

을 넣어 수정하기 

 

객체 URL → https://kkimshyrookies.s3.ap-northeast-3.amazonaws.com/cream.JPG

 

- 웹 사이트에서 ubuntu IP로 접속 시 업로드한 이미지 확인 가능

 

 

과제) 정적 웹사이트 호스팅

더보기

① AWS에 이미지와 index.html 파일 업로드

 

 

② index.html 파일에 복사한  URL을 추가

 

 

객체 URL : https://kkimshyrookies.s3.ap-northeast-3.amazonaws.com/cat.JPG

 

③ Amazon S3 > 버킷 > kkimshyrookies > 정적 웹 사이트 호스팅 편집 > 활성화 > 인덱스 문서에 "index.html"

 

 

④ index.html 객체의 URL로 접속하면 완료됨을 확인