목록2025/02/19 (9)
내 잡다한 노트
최종적 일관성. 분산 시스템, 특히 DB에서 자주 언급되는 개념. 1. 기본 개념정의:Eventual consistency는 시스템 내의 모든 노드가 일정 시간이 지나면 동일한 데이터 상태(일관성 있는 상태)에 도달한다는 것을 의미합니다. 즉, 업데이트 후 즉시 모든 노드가 동일한 데이터를 보유하지 않을 수 있지만, 최종적으로 일관성이 보장된다는 것입니다.즉각적 일관성(Strong Consistency)와의 차이:즉각적 일관성(Strong Consistency): 데이터가 업데이트되면, 모든 사용자가 즉시 최신 데이터를 볼 수 있도록 보장하는 모델입니다.최종적 일관성(Eventual Consistency): 데이터가 업데이트된 후 즉각적으로 일관성이 보장되지 않지만, 시간이 지나면 모든 노드가 동일한 상..
--insecure-skip-tls-verify 옵션을 사용하면 서버 인증서의 유효성 검증을 전부 무시합니다.즉, SAN(Subject Alternative Name) 검증 뿐만 아니라, CA 서명이나 유효 기간 등도 전부 체크하지 않습니다.결과적으로 서버가 어떤 인증서를 내놓아도 클라이언트 쪽에서는 **“OK”**라고 간주하고 TLS로 암호화 세션을 맺지만,보안 측면에서 중간자 공격(MITM) 등에 취약해집니다.그래서 운영 환경에서는 절대 권장되지 않고, 주로 개발·테스트용으로만 쓰입니다.
openssl req \ -new -newkey rsa:2048 \ -days 365 \ -nodes \ -x509 \ -keyout monitor.key \ -out monitor.crt \ -subj "/C=KR/ST=Daejeon/O=??/CN=localhost" \ -addext "subjectAltName = DNS:localhost" -x509: x.509 형식의 인증서를 직접 생성 (CSR을 만들고 다른 CA에 서명받는 대신, 바로 자체 서명)-keyout monitor.key: RSA 개인 키(private key) 파일 생성-out monitor.crt: 인증서(public cert) 출력-subj, -addext "subjectAltName = DNS:lo..
[ req ] default_bits = 2048 prompt = no default_md = sha256 req_extensions = req_ext distinguished_name = dn [ dn ] C = KR ST = Seoul O = Mofl CN = etcd-node [ req_ext ] subjectAltName = @alt_names [ alt_names ] IP.1 = ??IP.2 = ??IP.3 = ?? SAN(Subject Alternative Name)는 X.509 인증서의 확장 필드 중 하나로, 인증서가 적용될 도메인 이름이나 IP 주소 등 식별자를 추가적으로 명시하기 위해 사용됩니다. 흔히 HTTPS 인증서에서 Common Name(CN) 외에 추가 도..
Let's Encrypt에 대해Let’s Encrypt은 무료로 SSL/TLS 인증서를 발급해 주는 인증 기관(CA, Certificate Authority)입니다. 2015년에 시작된 이 서비스는 비영리 단체인 ISRG(Internet Security Research Group)가 운영하며, 웹에서 HTTPS를 손쉽게 설정할 수 있도록 자동 발급과 갱신이 가능한 방식(ACME 프로토콜)을 제공합니다. 그 결과, 서버 관리자들이 인증서를 구매하고 수동으로 갱신해야 했던 번거로움을 크게 줄여주었습니다.chain.pem 과 fullchain.pem 설명Let’s Encrypt 인증서를 발급받으면 일반적으로 다음과 같은 파일들이 생성됩니다.cert.pem서버(도메인)에 할당된 서버 인증서(server cert..
TLS ( Transport Layer Security ) 는 서버와 클라이언트 간의 통신을 암호화하고, 양쪽이 서로를 신뢰할 수 있게 하는 보안 프로토콜이다.이 과정을 이해하려면 기본적으로 인증서(Certificate)와 키(key)가 어떻게 동작하는지 알아야한다. 기본 개념: CA, 인증서, 개인 키(1) CA(Certificate Authority) 인증서CA는 인증서를 발행해주는 기관(또는 내부적으로 자체 운영하는 CA)이다.ca.crt 파일은 CA가 소유한 공개 인증서이며, 서버 혹은 클라이언트 측에서 "이 인증서를 발행한 CA가 맞는지"를 신뢰할 수 있도록 검증 기준이 된다.한마디로, "이 인증서는 내가 책임지고 발행했으니 믿어도 된다" 라고 선언해주는 최상위 권위자의 도장이라고 보면 된다. ..
postgresql을 HA 하고 있는 도중에 DCS를 etcd로 구축하고있다.그 과정에서 etcdctl 명령어를 잘 몰라서 정리해본다. etcd 클러스터의 데이터를 조회, 수정, 삭제하거나 클러스터의 멤버를 관리하고 스냅샷을 생성하는 등 다양한 작업을 수행 2. 키-값 데이터 관리데이터 삽입 (put):예) etcdctl put mykey "Hello, etcd!"지정한 키에 값을 저장합니다. etcdctl put 데이터 조회 (get):예) etcdctl get mykey특정 키의 값을 조회합니다. 여러 키를 조회하거나 프리픽스(prefix)를 사용하여 관련된 모든 키를 조회할 수 있습니다. etcdctl get 데이터 삭제 (del):예) etcdctl del mykey특정 키를 삭제합니다. e..
~/.bashrc역할: 인터랙티브한 비로그인(non-login) 쉘(예: 터미널 창을 열었을 때)에 적용되는 설정을 담고 있습니다.사용 예: alias, 함수, 프롬프트 설정 등~/.bash_profile 또는 ~/.bash_login 또는 ~/.profile역할: 로그인 쉘에서 실행되는 스크립트입니다. 시스템에 로그인할 때 (예: 터미널, SSH 접속 등) 환경 변수를 설정하거나, 필요한 초기 작업을 수행합니다.사용 예: PATH 설정, 환경 변수, 로그인 시 실행할 스크립트 로드 등참고: 로그인 쉘에서는 일반적으로 ~/.bash_profile을 먼저 찾고, 없으면 ~/.bash_login 또는 ~/.profile을 사용합니다. 보통 ~/.bash_profile 안에서 ~/.bashrc를 불러오는 구문..