인프런 커뮤니티 질문&답변

seoj102688님의 프로필 이미지

작성한 질문수

AWS Certified Solutions Architect - Associate 자격증 준비하기

S3 데이터 암호화

S3의 암호화 방식과 인스턴스 ssh 접속 문제, 볼륨에 대한 질문

23.08.17 23:46 작성

·

227

0

강사님, 안녕하세요.

1) S3에 관한 질문

서버 측 암호화

- SSE-C: 고객 ( 사용자 )이 관리하는 암호화, 고객이 키를 가지고 데이터를 암호화 함

데이터 전송 시 반드시 HTTPS(HTTP + SSL)암호화 를 사용해야 함

• 클라이언트 측 암호화 : 데이터를 전송하기 전에 클라이언트 사이드에서 파일을 암호화 해서 s3 버킷으로 전송함

• 전송 중 암호화 : 전송 보안 프로토콜 SSL/TLS 를 이용해 데이터를 암호화 하는 방법이다.

브라우저에 HTTPS 보안 프로토콜을 사용하여 전송하게 된다.

-> 질문 1) SSE-C가 고객이 관리하는 암호화라고 한다면 클라이언트 측의 암호화와 다른 게 없고, SSE-C가 데이터를 전송할 때 HTTPS로 암호화를 하는 방식과 데이터를 전송 중 암호화를 하는 것도 같은데.

둘을 왜 구분하는지 궁금합니다.

2) 오늘 실습 중 ec2 인스턴스(os: amazon linux2)를 사용해서 앤서블을 올리고 자동화 하는 실습을 했습니다.

ec2 4대 중에 1대는 controll node(제어 노드)이고 3대는 servera~c(managed node)인데.

오늘 실습 중 제어노드에서 매니지드 노드로 한번에 epel을 설치하는 과정 중에서

서버 b,c는 epel의 설치가 잘 됐는데. a는 설치 에러가 나면서 ec2 인스턴스의 연결이 끊어 졌습니다.

다시 서버 a를 연결 하기 위해 ssh ec2-user@인스턴스의 퍼블릭 ip -i 키 페어 명.pem 을 하니까. ssh 연결이 거부됐다는 메시지가 나왔습니다.

그런데 보안 그룹에 22번이 허용돼있고 chatgpt로 확인했을 때 ssh의 접속 포트가 변경됐다고 변경된 포트로 접속을 해야 한다고 했습니다.

 

 

질문 1) 이런 경우에 따로 접속을 하는 방법이 있는지 궁금합니다.

 

질문 2) 구글링을 하니. 기존 서버 a의 볼륨을 분리하고 새로운 인스턴스를 생성해서 기존 서버 a의 볼륨(/dev/sdf)을 새로운 인스턴스(/dev/xvda)로 연결하면 기존 서버 a를 이용할 수 있다고 해서 그대로 볼륨을 옮겼는데.

.ssh에 저장된 인증 키(제어 노드의 퍼블릭 키)도 없고 추가로 생성한 계정도 없었고 설치한 모든 파일이 없었습니다.

EBS 볼륨이 데이터를 백업하는 기능인데. 기존 서버 a의 데이터가 새로 생성된 서버 a 인스턴스로 백업이 되는 게 맞는 것 아닌지 궁금합니다. 감사합니다.

감사합니다.

답변 2

0

코드바나나님의 프로필 이미지
코드바나나
지식공유자

2023. 08. 20. 18:49

안녕하세요.

아래와 같이 답변드립니다.

  1. 클라이언트, 서버측 암호화와 서버측암호화키에 대한 관리의 용어에 혼동이 있었던듯 합니다.

SSE-C는 서버측암호화를 하는 키 관리 주체에 대한 설명입니다. Server Side Encryption-Customer(SSE-C) 암호화 키를 고객이 관리한다는 의미입니다.

 

  1. 구축환경을 제가 자세히 모르기에 조언드릴 부분이 많이 없습니다. 설명을 보니 b,c는 동작을 했다고 하셨는데 b,c와 a의 보안그룹, 네트워크, SSH키 설정등을 비교해 보는 것은 어떨지 제안 드립니다.

 

  1. 그대로 볼륨을 옮겼다는 의미가 EBS 루트 볼륨을 다른 EC2에 연결하셨다는 거죠?

아래 캡쳐와 같이 기존 EC인스턴스에 파일, 유저등을 생성후 EBS 볼륨을 분리하여 다른 EC2에 연결해서 사용을 해도 데이터가 그대로 있는 것을 확인 하였습니다.

dev/sdf볼륨의 내용을 제가 모르기에 정확한 답을 드릴 수 없습니다. 해당 볼륨의 내용을 확인해 보는 것을 추천드립니다.

image

0

인프런 AI 인턴님의 프로필 이미지

2023. 08. 19. 23:51

안녕하세요, 인프런 AI 인턴이에요.

  1. SSE-C (Server-Side Encryption with Customer Provided Keys)는 고객이 직접 키를 관리하여 S3에 업로드한 데이터를 암호화하는 방식입니다. SSE-C는 클라이언트 측 암호화와는 조금 다릅니다. 클라이언트 측 암호화는 데이터를 전송하기 전에 클라이언트 측에서 파일을 암호화하여 S3 버킷으로 전송하는 방식이고, SSE-C는 S3 서버에서 고객이 제공한 키를 사용하여 데이터를 암호화하는 방식입니다. 따라서 SSE-C는 데이터 전송 중에 HTTPS로 암호화하는 것과는 다른 방식입니다.

  2. ec2 인스턴스에서 앤서블을 사용하여 자동화하는 실습 중에 제어 노드(Control Node)에서 매니지드 노드(Managed Node)로 동시에 epel을 설치하는 과정에서 서버 b,c에 대한 설치가 잘 이루어지지 않았다는 말씀이신가요? 혹시 서버 b, c에 대한 접속 정보 또는 오류 메시지를 알려주실 수 있을까요? 좀 더 자세한 내용을 알려주시면 도움을 드릴 수 있을 것 같아요.

추가로 질문이 있으시면 언제든지 말씀해주세요. 감사합니다.