본문 바로가기
반응형

분류 전체보기73

HashiCorp Vault 란? 개념부터 설치까지 기업에서는 AWS API key, 데이터베이스 비밀번호, 인증서 등 다양한 중요 정보들을 안전하게 보관하고 관리해야 할 필요가 있다. 하지만 중요한 정보들이 점차 늘어나면 관리에 어려움을 겪게 된다. 이때 Vault를 사용하면 이러한 중요 정보들을 중앙에서 안전하게 저장하고 관리할 수 있다. Vault란?HashiCorp Vault는 데이터 암호화와 접근 제어를 통해 비밀 정보 관리를 위한 소프트웨어 도구이다. 비밀 정보(예: API 키, 비밀번호, 인증서)를 안전하게 저장하고, 사용자 인증과 권한 부여를 통해 엄격하게 제어하며, 감사할 수 있다. Vault는 클라우드 환경과 같은 동적 인프라에서 사용하기에 적합하며, 다양한 인증 방법과 통합되어 보안을 강화하는 데 사용된다. Vault의 핵심 워크플로우.. 2023. 4. 8.
Keycloak 이란? 개념과 설치 실습 기업에서 여러 애플리케이션 및 서비스를 개발하고 운영하다 보면, 다양한 인증 방식과 사용자 관리 시스템이 필요하다. 이때 Keycloak을 사용하면 중앙 집중식 인증 및 권한 관리를 할 수 있다. 예를 들어 기업에서는 내부 직원과 외부 제휴 업체 직원, 그리고 각각의 권한별로 애플리케이션 접근을 제한하고자 할 때, Keycloak을 사용하면 중앙에서 사용자 인증과 권한 부여를 관리할 수 있다. 이렇게 하면 각 애플리케이션이나 서비스마다 인증 시스템을 개발하거나 유지보수할 필요가 없어져서 개발 비용과 시간을 줄일 수 있다. Keycloak이란? Keycloak은 사용자 인증과 권한 부여를 위한 오픈 소스 Identity and Access Management (IAM) 솔루션이다. 이를 이용하여 여러 서비.. 2023. 4. 8.
Terraform Local -> Terraform Cloud로 마이그레이션 일반 로컬 환경에서 Terraform을 사용하는 경우 terraform.tfstate 파일을 잘 관리해야 한다. terraform.tfstate 파일은 Terraform이 관리하는 인프라 상태 정보를 담고 있으며, 이를 통해 Terraform 은 변경 사항을 추적하고 관리한다. 만약 terraform.tfstate파일이 유실되거나 실수로 삭제되면, 이전 상태로 복원할 수 없게 되는 정말 끔찍한 상황을 맞이하게 된다. Terraform Cloud는 이러한 문제를 해결하기 위해 원격으로 terraform.tfstate 파일을 안전하게 관리할 수 있도록 지원한다. 이를 통해 로컬에서 발생할 수 있는 다양한 문제를 예방할 수 있다. 또한, Terraform 코드를 Git 저장소를 통해 관리하면 코드를 안전하게 .. 2023. 4. 6.
Linkerd 권한 부여 정책 Linkerd는 권한 부여 정책을 사용하여 mesh pod에 트래픽을 제어할 수 있다. Linkerd에서는 두 가지 메커니즘을 사용한다.Kubernetes annotation을 이용하여 네임스페이스 및 워크로드 레벨에서 설정할 수 있는 기본 정책.- 특정 네임스페이스에서 허용되지 않은 트래픽을 차단하거나, 특정 워크로드에서만 제한된 트래픽을 허용하는 등의 제어를 할 수 있다.Linkerd의 Custom Resource Definition(CRD)를 통해 특정 포트, 경로, 워크로드 등에 대해 세분화된 정책 지정.- 특정 경로에서만 특정 유저에게 트래픽을 허용하거나, 특정 포트로 전송되는 트래픽의 유형을 제한하는 등의 제어를 할 수 있다. Default Policypod에 Linkerd-proxy 사이드카.. 2023. 4. 5.
Linkerd mTLS 통신 검증 기본적으로 Linkerd는 "linkerd.io/inject: enabled"에 의해 사이드카 proxy가 주입되면 주입된 pod 간의 모든 TCP 트래픽은 자동으로 mTLS 통신을 하게 된다.mTLS란?- TLS는 클라이언트와 서버 간의 통신을 한 방향으로 인증하여 통신을 보호하지만  mTLS는 클라이언트와 서버 간의 통신을 양 방향으로 상호 인증하여 통신을 보호한다. 즉, mTLS는 클라이언트와 서버 간의 통신을 양방향으로 암호화하여 더욱 안전한 통신을 제공한다. mTLS는 통신하는 각 컴포넌트마다 인증서와 비밀 키가 필요하며, Linkerd는 자동으로 인증서 및 비밀 키를 관리하고 이를 기반으로 서로 간의 인증과 암호화를 수행합니다. 이를 통해, 컨테이너 간의 안전한 통신을 보장하고 보안 상의 문제.. 2023. 4. 5.
Linkerd 사이드카 주입 proxy-injector는 Kubernetes의 Admission Controller 중 하나로, Kubernetes API Server가 Pod 생성 요청을 받으면, 이 요청을 가로채서 Pod 생성 시 자동으로 Linkerd 프록시 컨테이너를 함께 생성하고, 이를 통해 모든 네트워크 트래픽을 프록시를 거쳐서 보낼 수 있도록 설정한다. 이렇게 생성된 Pod는 Linkerd 프록시 컨테이너가 사이드카 패턴으로 추가되어, 네트워크 트래픽을 중개하는 역할을 수행하게 된다. 이번 포스팅에서는 Linkerd-proxy 사이드카 컨테이너를 주입하여 pod끼리 통신하는 실습을 다룬다. 실습 Linkerd proxy 사이드카가 주입되기 위해서는 Pod annotations에 "linkerd.io/inject: ena.. 2023. 4. 5.
Linkerd 대시보드 ID, Password 변경 Linkerd 대시보드에 접근하려면 ID, Password 정보가 담긴 Secret을 생성하고, Ingress의 auth-secret을 이용하여 Ingress-nginx-controller를 통해 접근해야 한다. 이번 글에서는 기존의 ID, Password를 변경하기 위해 htpasswd 명령도구를 사용하여 ID, Password 저장 파일을 만들고 이를 이용하여 새로운 Secret을 생성하는 실습을 다룬다. htpasswd란? - 웹 서버의 인증 시스템에서 사용되는 유저 ID, Password 를 관리하는 도구이다. 먼저 htpasswd 명령을 사용하기 위해 패키지를 설치해야 한다. 패키지 설치 CentOS $ yum install httpd-tools Ubuntu $ apt install apache.. 2023. 4. 5.
728x90
반응형