본문 바로가기

내 이야기

(675)
[HTTP 이해하기 5편] 브라우저와 서버는 HTTP/1.1과 HTTP/2 중 무엇을 어떻게 결정할까 Today Key : HTTPS, TLS, TLS Handshake, ALPN, HTTP/1.1, HTTP/2, h2, h2c, ClientHello, ServerHello이번 포스팅에서는 TLS 핸드셰이크와 ALPN을 중심으로 그 선택 과정의 원리를 정리해봅니다.ALPN, 프로토콜 협상의 핵심이 선택에서 핵심 역할을 하는 것이 ALPN(Application-Layer Protocol Negotiation)입니다.RFC 7301은 ALPN을 같은 TCP나 UDP 포트에서 여러 애플리케이션 프로토콜을 지원할 때, TLS 핸드셰이크 안에서 어떤 프로토콜을 사용할지 정하기 위한 확장으로 정의합니다.클라이언트는 자신이 지원하는 프로토콜 목록을 ClientHello에 넣어 보내고, 서버는 그중 하나를 선택해 응답..
AWS - ALB/NLB 양자 내성 TLS 구성 및 테스트 today keys : aws, alb, nlb, tls, quantum, pqc, key exchange, post-quantum, security, 양자내성이번 포스팅에서는 AWS ALB의 양자 내성(Post-Quantum) TLS 구성 및 검증을 하는 내용입니다.양자 내성 키 교환(PQ Key Exchange) 배경기존의 RSA나 ECC 암호 체계는 강력한 양자 컴퓨터가 등장할 경우 해독될 위험이 있습니다. AWS는 이를 방어하기 위해 기존 타원 곡선 암호(X25519)와 양자 내성 알고리즘(ML-KEM)을 결합한 '하이브리드 키 교환' 방식을 도입했습니다. >> 관련 기존 포스팅 : https://zigispace.net/1350 AWS - ALB/NLB : TLS용 양자 내성 키 교환 지원To..
[HTTP 이해하기 4편] HTTP/1.1과 HTTP/2, 무엇이 어떻게 다르고 언제 무엇을 써야 할까 Today Key : HTTP/1.1, HTTP/2, 비교, 연결 관리, 멀티플렉싱, 바이너리 프레이밍, ALPN, Apache httpd, h2, h2cHTTP/1.1, HTTP/2 두 프로토콜은 버전이 달라도 HTTP는 공통된 의미 체계를 공유합니다. RFC 9112는 그 의미를 HTTP/1.1의 메시지 문법과 연결 관리 방식으로 전달하는 방법을 정의하고,RFC 9113은 HTTP/2를 같은 HTTP 의미를 더 효율적으로 표현한 버전으로 설명합니다.두 버전은 전혀 다른 프로토콜이라기보다, 같은 HTTP를 서로 다른 방식으로 실어 나르는 두 개의 구현 모델에 가깝습니다.이번 포스팅에서는 HTTP/1.1과 HTTP/2의 차이와 언제 사용하는지에 대해서 알아봅니다.메시지를 전달하는 방식의 차이HTTP/1..
AWSKRUG 네트워크 소모임 발표자료 - DNS/GSLB 보호되어 있는 글입니다.
AWS Route 53 Global Resolver today keys: route 53, global, resolver, 리졸버, anycast, dns, firewall, query, awsRoute 53 Global Resolver는 인터넷이나 지사, 온프레미스 같은 외부 환경의 클라이언트가 AWS의 전역 Anycast IP를 통해 DNS 질의를 보낼 수 있게 해주는 관리형 DNS Resolver입니다.여러 위치의 사용자가 하나의 DNS 진입점을 사용하면서도, 접근 제어와 DNS 보안 정책을 중앙에서 적용할 수 있습니다.이번 포스팅에서는 Route 53 Global Resolver를 생성한 뒤, 허용된 IP만 DNS 질의를 할 수 있는지와 DNS Firewall로 특정 도메인을 차단할 수 있는지를 실습으로 확인합니다.또한 Query Type 조건을 ..
RHEL에서 dnsmasq를 활용하여 Conditional Forward 구성(Split DNS) today keys : conditional forward, 조건부 전달, dns, dnsmasq, rhel, 레드햇, redhat, split, 도메인, 질의, domain리눅스 서버를 운영하다 보면, 일반적인 도메인 조회는 기본 DNS 서버로 보내되, 특정 도메인만 별도의 DNS 서버로 조회해야 하는 경우가 있습니다. 예를 들면 이런 경우입니다. 사내 서비스 도메인만 내부 DNS로 조회해야 하는 경우 특정 사설 존(example.local, corp.internal)만 별도 DNS로 보내야 하는 경우 특정 퍼블릭 도메인에 대해 별도의 네임서버 정책을 적용해야 하는 경우 이런 요구사항을 만족시키기 위해 흔히 떠올리는 방법이 systemd-resolved 기반 split DNS 구성인데, 실제로 NIC가..
DNS 스티어링으로 변경되는 도메인에 대한 보안(방화벽) 정책 적용 관련(FQDN/SNI) today keys : fqdn, domain, sni, 도메인, 보안, 방화벽, policy방화벽에서 정책 적용 시에 FQDN의 도메인 기반으로 정책 적용 시에, DNS 스티어링을 사용하는 서비스 들의 경우, 도메인을 질의하는 Client(혹은 서버)와 방화벽의 도메인 질의 결과에 대한 값이 달라지는 경우가 있을 수 있습니다.다음과 같이 질의를 순차적으로 몇 초이내로 질의를 해도 응답 받는 Pool 값이 달라지는 경우가 있습니다. 특히 이러한 경우에 TTL도 짧게 가져가는 경우가 많기 때문에 동일한 Resolver 서버를 같이 바라보고 있어도 결과 값에 차이가 나는 시점이 자주 발생할 수 있습니다. 실제 api.push.apple.com을 값을 갖고 있는 api-vs.push-apple.com.aka..
DNS 스티어링(DNS Traffic Steering) 이해하기 Today Keys : dns, traffic-steering, dns-steering, gslb, authoritative, recursive, resolver, ttl, caching, health-check, geodns, latency-routingDNS 트래픽 스티어링이란? DNS 스티어링(혹은 traffic management)은 권한(Authoritative) DNS가 질의(Query)에 대해서 동일한 도메인이라도 상황에 따라, 응답을 다르게 하여, 사용자의 트래픽이 지리적으로 가까운 곳이나, 서비스의 상태(Health), 비율(가중치) 등으로 갈 수 있도록 하는 것을 뜻 합니다. DNS 스티어링의 동작 위치DNS 질의는 보통 다음과 같이 흐르게 됩니다. 이 때, DNS 스티어링의 응답 값에..