- 시스템 보안
1. 소프트웨어 업데이트 설치하기 : 취약점 해결 버전 릴리즈
2. aws 계정에 접근 제한하기 : 모든 EC2를 쉽게 종료할 수 있다! ㄷㄷ
3. EC2 인스턴스를 드나드는 네트워크 트래픽 제어하기 : 필요한 포트만 열고 다 닫기
4. AWS에 사설 네트워크 생성하기 : 서브넷 만들어서 접근 제한하기
6.1 보안에 대한 책임은 누구에게 있는가?
- AWS는 책임 공유 환경 = AWS와 사용자가 책임을 공유
- AWS의 책임 :
. 디도스 공격 방지 등 강력한 인터넷 접근 감시
. 민감한 영역에 접근했던 직원에 대한 뒷조사 ㄷㄷ
. 수명 다한 스토리지 물리적 파기
. 데이터센터의 물리적, 환경적 보안 보장 (화재 등)
- 사용자의 책임 :
. 네트워크 트래픽 암호화하기(HTTPS)
. 보안그룹과 ACL로 제어하는 가상 사설 네트워크(VPN) 구성
. 소프트웨어 패치 관리
. IAM으로 접근 관리
6.2 소프트웨어를 최신으로 유지하기
- 재빠른 업데이트가 중요허다
6.2.1 보안 업데이트 확인하기
1. ssh로 ec2 인스턴스에 로그인해서 오늘의 메시지 보기 -> 보안 업데이트가 몇개 있는지 알랴줌
$ ssh ec2-user@ec2-52-6-25-163.compute-1.amazonaws.com
2. yum 패키지로 확인하기
$ yum --security check-update
6.2.2 서버 시작시 보안업데이트 설치하기
- 세가지 방법
1. 서버 시작시 모든 업데이트 설치
2. 서버 시작시 보안 업데이트만 설치
3. 명시적 패키지 버전 정의 (권고)
6.2.3 실행 중인 서버에 보안 업데이트 설치하기
- 서버에 일일이 보안 업데이트 명령어 실행할 수 있지만 넘 많다면 -> 스트립트 사용하긔 (chapter6/update.sh에 있다고함)
6.3 AWS 계정 보안
- AWS 계정은 모든 AWS 자원을 포함하고 기본적으로 루트 사용자와 함께 제공된다.
- 공격자가 aws 계정에 접근하려면 사용자의 계정으로 인증할 수 있어야 한다
1. 루트 사용자 및 일반 사용자 사용하기 : 비밀번호나 접근키 필요
2. EC2 인스턴스와 같은 AWS 자원으로 인증 : EC2인스턴스에서 API나 CLI 요청을 보내야함
- 다단계 인증(MFA : Multifactor authentication)으로 루트 사용자 보호 -> 루트 사용자 사용 중지 -> 일상 업무용 새 사용자 생성 -> 최소 권한 부여
6.3.1 AWS 계정의 루트 사용자 보안
- MFA 활성화 !! 우리가 했던 구글 otp 앱으로 한번 더 인증하는거!!ㅎㅎ MFA 토큰이 같이 있어야 로그인 되쥐
6.3.2 인증 및 접근 관리 서비스
- 인증 및 접근 관리 (IAM : Identity and access management) 서비스는 AWS API를 사용하기 위한 인증과 권한 부여에 필요한 모든걸 제공 = 누가 무엇을 할 수 있는지 제어
- IAM에서 인증은 사용자(user)나 역할(role)을 활용하고, 권한부여는 정책(policy)에 의해 수행
- IAM 사용자와 IAM 역할은 권한을 부여하기 위해 정책을 사용한다.
6.3.3 권한 부여 정책
- 정책은 JSON으로 정의
- "Effect" : "Deny" or "Allow"
- "Action" : ["ec2:*"] : 모든 ec2 작업
- "Resource" : ["*"] : ARN(아마존 자원이름) 적는 곳
'개발' 카테고리의 다른 글
0713 kernel (1) | 2019.07.13 |
---|---|
컴파일러 (0) | 2019.01.08 |
[AWS] 스케일업, 스케일다운: 오토스케일링과 클라우드와치 (0) | 2018.10.13 |
AWS dynamodb (0) | 2018.09.04 |
aws 네트워크 (0) | 2018.08.05 |