본문 바로가기
  • 오늘처럼

소프트웨어 아키텍처74

TLS 인증서 (2) - 신뢰할 수 있는 인증서 지난 1편에서는, 공격자의 network packet 스니핑을 방지하기 위해 비대칭 키인 public key(lock) 과 private key 를 사용한 안전한 통신 방식에 대해서 알아 보았다. 이번에는 공격자가 중간에 packet 을 가로채는 걸 넘어서, 아예 실제 존재하는 웹서버와 매우 유사한 가짜 웹 서버를 만든 다면 어떻게 될까? 기존 웹서버가 인증을 처리하는 방식을 그대로 구현한 뒤에, 사용자의 요청이 다른 루트를 타게 조작하여 요청이 가짜 웹서버로 가게 될 경우, 사용자는 기존 인증 방식을 그대로 이용하여 가짜 웹 서버에 인증처리를 진행할 수 있다. 사용자 입장에서는 브라우저를 열었을 때의 화면과 인증 처리 등의 진행 방식이 실제 웹 사이트와 모두 동일하게 보이므로 화면에서는 사용자가 접속한.. 2022. 6. 16.
TLS 인증서 (1) - 대칭키와 공개키 암호화 방식 인증서(Certificate)란 두 당사자 간의 거래에 있어서 그 신뢰성을 보장하는데 사용되며, TLS 인증서는 유저와 서버 혹은 서버와 서버 간의 통신에 있어서 그 통신이 암호화 되었음을 확인시켜준다. 이번에는 TLS 인증서에 대해 알아보면서 먼저 그 시작이 되는 대칭키와 공개키 암호화 방식에 대해 정리해본다. 시나리오 #1 : 다음의 그림을 통해 좀 더 자세히 알아보자. 여기서는 사용자가 은행이나 병원 등의 어떤 웹페이지에 접속하려고 할 경우를 예로 들어본다. 사용자에게 특화된 서비스를 이용하기 위하여 사용자는 해당 서버에 대하여 자격증명(로그인 등)을 수행해야 한다. 이 때 자격증명을 위한 ID, PW 등의 정보를 웹 서버에 보내게 되는데, 이를 평문(Plain text)으로 보낼 경우, 해커 등의.. 2022. 6. 3.
[Kubernetes] CKA 자격 시험 후기 *이 페이지에는 CKA 자격 시험의 과정과 후기에 대한 정리를 포함하고 있습니다. 2018년도에 CKA 자격 시험을 응시해서 취득 했었다. 초기 CKA는 자격증 유효 기간이 2년이었는데, 중간에 3년으로 변경이 되었다. 그래도 지금 다시 확인해본 자격증이 만료가 되어 있었다. 최근 Kubernetes 와 관련하여 공부하면서 보안에 대한 관심도 높아져서 이번에는 Kubernetes 의 보안 관련 자격증인 CKS (Certified Kubernetes Security Specialist) 에도 흥미가 생겼다. 문제는 CKS의 자격 시험 응시 조건으로 '만료되지 않은(Non-expired) CKA' 자격증이 필요하다. 위 CKS 자격 시험에서도 'CKA Certification must be active (n.. 2022. 5. 15.
[Kubernetes] 1-21. static pod, service 생성 정적 파드를 생성한 후에, Nodeport 타입의 서비스를 생성하여 파드를 해당 서비스로 노출 시킨다. 먼저 하단의 yaml 파일을 사용하여 파드를 생성한다. apiVersion: v1 kind: Pod metadata: labels: run: my-static-pod name: my-static-pod spec: containers: - image: nginx:1.16-alpine name: my-static-pod resources: requests: cpu: 10m memory: 20Mi dnsPolicy: ClusterFirst restartPolicy: Always --- kubectl apply -f static-pod.yaml 파드가 정상적으로 구동됨을 확인한 후에, 해당 파드를 노출하는 서.. 2022. 5. 11.
[Kubernetes] 1-20. 클러스터 업그레이드 및 클러스터 조인 클러스터에 속해 있지 않는 노드(worker2번이라고 가정) 의 버전을 확인하고 해당 노드를 클러스터에 join 해본다 먼저 현재 클러스터의 상태를 확인한다. kubectl get node NAME STATUS ROLES AGE VERSION master1 Ready control-plane,master 116m v1.23.1 worker1 NotReady 112m v1.23.1 현재 master, worker1 번 노드의 kubernetes 버전이 v1.23.1 이고, 아직 worker2 번 노드가 join 되지 않은 것을 확인한 후에 worker2번으로 이동한다. ### 해당 노드로 이동 ssh cluster3-worker2 ### kubernetes (kubeadm / kubectl / kubele.. 2022. 5. 11.
[Kubernetes] 1-19. Secret 생성 후 파드에 마운트 하기 Secret 을 생성하고 해당 Secret을 사용하는 파드를 생성한 후에 파드에서 secret 정보를 확인한다. 상세 조건은 다음과 같다. Secret name : secret1 Secret name : secret2 하단의 특정 값을 환경변수로 지정 user=user1 pass=1234 Pod name : secret-pod secret1 사용 : Readonly 모드로 /tmp/secret1 경로에 마운트 secret2 사용 : APP_USER (user=user1 사용), APP_PASS (pass=1234 사용) 먼저 test-namespace를 생성한다. kubectl create ns test-namespace yaml 파일을 통해 1번째 Secret 을 생성한다. apiVersion: v1 .. 2022. 5. 10.