Burp Suite · 2026-01-22

Burp로 HTTP/2 및 TLS 1.3 검증

Burp를 통해 HTTP/2 및 TLS 1.3의 ALPN 협상, 암호화 매개변수, 프로토콜 전환 여부를 확인하고 curl·openssl 예제와 함께 결과 해석 및 점검 절차

작성일 : 2026-01-22 ㆍ 작성자 : 관리자
post
목차

개요

최근 웹 보안 검사에서 HTTP/2와 TLS 1.3의 동작을 검증하는 일이 중요해졌다. 이 글은 Burp를 중심으로 HTTP/2 및 TLS 1.3의 지원 여부와 협상 상태를 확인하는 방법을 정리한다. 초보자도 이해하기 쉽도록 단계별 절차와 실습 예제를 포함한다.

왜 검증이 필요한가

프로토콜 호환성

서버와 클라이언트 사이의 ALPN(애플리케이션 레이어 프로토콜 네고시에이션) 결과가 예상과 다를 수 있다. 올바른 협상이 이루어지지 않으면 성능이나 보안 기대치가 떨어진다.

암호화 수준 확인

TLS 1.3은 기존 버전과 암호화 협상 방식이 달라 취약점 노출 가능성이 달라진다. 사용 중인 암호 스위트와 키 교환 방식이 정책에 부합하는지 확인해야 한다.

사전 준비

  • Burp Suite(프록시 기능 사용 가능)
  • curl, openssl 등 커맨드라인 도구
  • 테스트 대상 서버의 도메인 또는 IP

Burp 설정 핵심 포인트

프록시 리스너 확인

Burp의 프록시 리스너가 로컬에서 정상 동작하는지 확인한다. 브라우저 또는 커맨드라인 도구에서 프록시를 127.0.0.1:8080 등으로 지정해 트래픽이 Burp를 통과하도록 한다.

TLS 설정 점검

Burp의 TLS 관련 설정에서 허용하는 프로토콜과 암호화 스위트를 확인한다. 조직 정책상 TLS 1.3을 허용하거나 차단하는 경우가 있으므로 옵션을 검토한다. Burp 자체가 클라이언트 역할로 서버와 TLS 협상을 수행할 때 어떤 버전을 사용하는지 로그로 확인할 수 있어야 한다.

HTTP/2 테스트: curl을 통한 검증

가장 간단한 방법은 curl을 이용해 Burp를 프록시로 지정하고 HTTP/2로 요청을 시도하는 것이다. curl은 --http2 플래그로 HTTP/2 요청을 시도하며, -v로 협상 정보를 확인할 수 있다.

curl -v --http2 --proxy http://127.0.0.1:8080 https://example.com/

출력에서 ALPN 또는 "HTTP/2" 관련 라인을 찾아본다. 만약 ALPN에서 h2가 선택되지 않으면 Burp와 서버 간의 협상이 HTTP/1.1로 강등된 것이다.

TLS 1.3 검사: openssl로 핸드셰이크 확인

openssl s_client를 사용하면 서버와의 TLS 핸드셰이크 결과를 상세히 확인할 수 있다. Burp를 중간 프록시로 두고 프록시를 통해 s_client를 실행하거나 직접 서버에 연결한다.

openssl s_client -connect example.com:443 -tls1_3 -alpn h2

출력에서 "Protocol" 또는 "SSL-Session" 섹션을 확인해 TLS 버전과 협상된 암호 스위트를 확인한다. Burp를 경유하는 경우 Burp가 서버 쪽 또는 클라이언트 쪽 어느 단계에서 중개하는지에 따라 관찰 결과가 달라질 수 있다.

Burp로 중간자 검사 시 주의사항

  • Burp는 자체적으로 클라이언트와 서버 사이에 TLS 세션을 각각 생성·관리한다. 따라서 Burp와 클라이언트 간, Burp와 서버 간 두 개의 TLS 협상이 존재한다.
  • Burp가 서버와 직접 HTTP/2 연결을 맺지 못하면 내부적으로 HTTP/1.1로 변환해 처리할 수 있다. 이 경우 curl의 결과와 Burp 내부의 로깅을 함께 비교해야 한다.
  • ALPN 정보는 Burp의 트래픽 로그나 TLS 상세 뷰어에서 확인한다. 로그에 표시되지 않으면 외부 도구로 보완 검사한다.

결과 해석

ALPN에서 h2가 선택된 경우

클라이언트와 서버가 HTTP/2로 협상에 성공했다는 뜻이다. Burp가 중간자 역할을 하면서도 서버와의 HTTP/2 세션을 유지하는지 확인한다. 일부 경우 Burp가 HTTP/2를 터널링하거나 변환할 수 있다.

TLS 버전이 1.3으로 나타나는 경우

TLS 1.3이 협상된 경우 최신 암호화 특성을 활용하는 상태다. 협상된 암호화 스위트와 키 교환 방식이 정책과 일치하는지 확인한다.

협상 실패 또는 강등된 경우

서버 설정, 프록시 정책, 중간 네트워크 장비가 원인일 수 있다. 서버 로그와 Burp 로그를 대조해 어느 지점에서 강등이 발생했는지 찾는다.

문제 해결 팁

  • 외부 테스트 도구(curl, openssl)로 직접 서버에 연결해 서버의 기본 동작을 확인한다.
  • Burp의 설정을 변경한 뒤에는 세션을 재시작해 변경이 반영되었는지 확인한다.
  • 중간 장비가 TLS를 종단하는지 확인한다. 기업 네트워크에서는 TLS 가로채기 장치가 개입해 실제 협상 결과를 변경할 수 있다.

요약

Burp를 활용한 HTTP/2 및 TLS 1.3 점검은 ALPN, 협상된 암호화 매개변수, 프로토콜 전환 여부를 확인하는 과정이다. curl과 openssl 예제를 병행하면 Burp 환경에서 일어나는 동작을 명확히 파악할 수 있다. 정기적인 점검을 통해 최신 프로토콜 지원 상태를 유지한다.

Burp HTTP2 테스트 Burp TLS1.3 검사 Burp 최신 프로토콜 지원 HTTP/2 테스트 TLS 1.3 검증 ALPN 확인 curl Burp 프록시 openssl s_client