EC2, IP, Packet, Port, RSA

wisdom·2022년 9월 1일
0

백엔드 개발자라면?

목록 보기
22/42

EC2 Instance

  • ubuntu 20.04
  • 키패어 생성

EC2 서버

  • 빈 컴퓨터, 인프라 제공
  • 로컬에서 IP주소를 이용해 원격 접속을 함
    - IP주소:22
  • 그런데 ec2 서버는 방화벽으로 모든 포트를 차단하고 있음
    - 원격 접속을 하기 위해서, 인바운드 규칙에서 22번 포트를 개방해야 함
    - 22번
    - SSH
    - Secure Shell
    - 암호화된 명령어

EC2 서버 접속하는 법

  • 터미널 열고 생성한 키패어가 있는 디렉토리 경로로 이동
  • 권한 확인 ls -al
  • 권한 추가 chmod 700 aws-key.
    - before
    - after
  • ssh -i aws-key.pem ubuntu@3.39.249.76
  • ssh -i /Users/wisdom/Downloads/aws-key.pem ubuntu@3.39.249.76

서버 접속 후, 원격에서 shell 명령이 가능하게 됨

IP, Packet, Port

네트워크 전달 방식

서킷 스위칭

  • 선이 늘어나야 한다.

패킷 스위칭

  • 선이 늘어날 필요가 없기 때문에 비용이 적게든다.
  • 라우터 필요
  • 패킷으로 분해해서 보내야 함
    - 헤더(데이터 설명)
    - 포트번호
    - IP 주소

IP 주소

  • 인터넷에 연결된 각 장치의 연결을 식별하기 위해 TCP/IP 프로토콜 그룹의 IP 계층에서 사용되는 식별자
  • IPv4 방식
    • 유일한 값, 정수값(0~42억 9천)
  • IPv6 방식
  • 포트번호
    - 정수값
    - 프로그램 선택

RSA

대칭키
-키 전송에 문제가 있음
-열 때, 잠글 때 동일한 키를 사용한다.
-열쇠 교환 자체도 통신이기 때문에 가로챌 수도 있고 힘들다는 단점

  • 공개키, 비밀키
  • 대칭키 방식과 달리 키 교환이 필요없다.
  • 공개키 기반 암호화 방식의 대표적인 알고리즘이 RSA다.
  • 데이터 암호화를 상대방의 공개키로 잠근다.
  • 누가 보냈는지?가 중요한데 데이터를 상대방의 공개키로 잠그고 본인의 비밀키로 한 번 더 잠근다.

데이터 전송 방법

  • 데이터를 수신자의 공개키로 잠근다.
    - 암호화
  • 그 데이터를 다시 송신자의 비밀키로 잠근다.
    - 전자서명
  • 전송한다.

데이터 받는 방법

  • 데이터를 송신자의 공개키로 연다.
    - 서명 검증
  • 열리면, 수신자의 개인키로 연다.
    - 암호화된 데이터를 복호화

  • AWS 서버 내 authorized_key
    - 접속하려는 클라이언트의 공개키
  • 클라이언트의 비밀키로 접속해야함
    - 22번 포트 통과!
  • 클라이언트의 비밀키로 authorized_key가 풀리는지 확인해야 한다.
    - 전자서명을 통해서 인증을 하는 것
    - 인증 후에 세션이 생성되고 자유롭게 통신할 수 있다.

그래서 aws 서버에 접속하기 위해서는 pem 키가 필요하다!

profile
문제를 정의하고, 문제를 해결하는

0개의 댓글