6.4 가상 서버를 드나드는 네트워크 트래픽 제어하기
- 방화벽을 활용하여 인바운드(들어오는), 아웃바운드(나가는) 트래픽 제어 가능
- 기본적으로 모든 인바운드 트래픽은 거부하고 모든 아웃바운드 트래픽은 허용한다, 여기에 인바운드 트래픽을 허용하기 시작함
6.4.1 보안 그룹으로 가상 서버의 트래픽 제어하기
- 보안 그룹은 EC2 인스턴스와 같은 AWS 자원에 연결할 수 있다.
- 보안 그룹 규칙
. 방향 (인바운드, 아웃바운드)
. IP 프로토콜 (TCP, UDP, ICMP)
. 출발지/목적지 IP 주소
. 포트
. 출발지/목적지 보안 그룹
"Resources": { "SecurityGroup": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "GroupDescription": "My security group", "VpcId": {"Ref": "VPC"} } }, |
6.4.2 ICMP 트래픽 허용하기
- 로컬 컴퓨터에서 EC2 인스턴스를 ping 하려면 인바운드 ICMP 트래픽을 허용해야함
"AllowInboundICMP": { "Type": "AWS::EC2::SecurityGroupIngress", "Properties": { "GroupId": {"Ref": "SecurityGroup"}, "IpProtocol": "icmp", "FromPort": "-1", "ToPort": "-1", "CidrIp": "0.0.0.0/0" } }, |
6.4.3 SSH 트래픽 허용하기
- 22번 포트의 인바운드 TCP 요청을 허용하는 규칙 만들기
"AllowInboundSSH": { "Type": "AWS::EC2::SecurityGroupIngress", "Properties": { "GroupId": {"Ref": "SecurityGroup"}, "IpProtocol": "tcp", "FromPort": "22", "ToPort": "22", "CidrIp": "0.0.0.0/0" } }, |
6.4.4 특정 IP 주소에 대한 SSH 트래픽 허용하기
- 공인 IP 주소알기 : http://api.ipify.org
- 사이더(CIDR) : 주소의 범위, 정확한 IP 주소를 정의하려면 /32, 바이트 경계, 8, 16, 24, 32
. 10.0.0.0/8 은 10.0.0.0~10.255.255.255의 범위를 의미함
6.4.5 출발지 보안 그룹에 SSH 트래픽 허용하기
- 출발지 IP 주소를 기반으로 규칙 말고, 출발지 보안 그룹을 기반으로
- 바스티언 호스트 : 침입 차단 소프트웨어가 설치되어 내부와 외부 네트워크 사이에서 일종의 게이트 역할을 수행하는 호스트를 뜻함.
- 바스티언 호스트는 SSH를 통해 다른 모든 서버에 도달할 수 있는 유일한 SSH 진입점이다. (보안그룹으로 실현)
"AllowPrivateInboundSSH": { "Type": "AWS::EC2::SecurityGroupIngress", "Properties": { "GroupId": {"Ref": "SecurityGroupPrivate"}, "IpProtocol": "tcp", "FromPort": "22", "ToPort": "22", "SourceSecurityGroupId": {"Ref": "SecurityGroup"} } }, |
6.4.6 에이전트 포워딩
- 바스티언 호스트에서 시작된 추가적인 SSH 로그인에 대해 바스티언 호스트에 로그인하는 데 사용한 동일한 키로 인증할 수 있게 한다. (뭔말?)
6.5 크라우드에 사설 네트워크 생성하기 : 가상 사설 클라우드 (VPC)
- Virtual Private Cloud
- 사설이란 공용 인터넷에 연결되지 않은 네트워크를 구축하기 위해 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 범위의 주소를 사용할 수 있다는 것을 의미한다.
- 데이터베이브, 웹 서버, 캐시 서버, 애플리케이션 서버 또는 두 시스템을 분리하고자 할 때는 언제나 새로운 서브넷을 만들 수 있다.
- 예제로 SSH 바스티언 호스트 공용 서브넷, 웹서버를 위한 사설 서브넷, 웹 캐시를 위한 공용 서브넷
6.5.1 VPC와 인터넷 게이트웨이 생성하기
- 첫번째로 VPC와 IGW(인터넷게이트웨이) 자원 필요.
6.5.2 바스티언 호스트용 공용 서브넷 정의하기
'개발' 카테고리의 다른 글
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.02 |