[Linux] Graylog HTTPS 및 사설 인증서 연동 구축 가이드 (오류 해결)
Graylog 클러스터에서 “Hostname not verified” 오류가 발생하는 이유와 해결 방법 최근 Graylog 운영 중 아래와 같은 경고 로그를 만나는 경우가 있습니다.
tail -n 50 /var/log/graylog-server/server.log
2026-07-16T11:03:45.956+09:00 WARN [ProxiedResource] Failed to call API on node <29b83e7a-61b3-451f-a532-2b0bdc4189a0>, cause: Hostname 192.168.200.63 not verified:
certificate: sha256/tkh1zLW3f3ZDl858l8dCeHiEbTAn97Ugl+AzcSmK9Y8=
DN: CN=192.168.200.63
이 메시지는 단순 경고처럼 보이지만, 실제로는 노드 간 통신(REST API 호출)에서 TLS 인증 검증이 실패했다는 의미입니다. 결론부터 말하면, 대부분의 경우 인증서를 재발급해야 해결됩니다.
Graylog HTTPS 및 사설 인증서 연동 구축 가이드
본 가이드는 Graylog 서버에 자체 발급(Self-Signed) 사설 인증서를 적용하여 HTTPS 접속 환경을 구축하고, 내부 API 통신 및 Input 구동이 정상적으로 작동하도록 세팅하는 표준 절차입니다.
(기준 환경: Ubuntu/Linux 24.04, Graylog 7.1 내장 Java, 서버 IP 192.168.x.x 기준)
1단계: Graylog 내부 통신 주소 설정 (HTTPS)
Graylog가 내부적으로 통신할 때 사용할 API 주소를 HTTPS 프로토콜로 명시합니다.
- Graylog 서버 설정 파일을 엽니다.
-
sudo vi /etc/graylog/server/server.conf - Bash
- http_publish_uri 항목을 찾아 주석(#)을 해제하고, 사용할 IP와 함께 https://로 설정 후 저장합니다.
-
Ini, TOML
http_publish_uri = https://192.168.x.x:9000/
2단계: SAN(주체 대체 이름)이 포함된 사설 인증서 생성
최신 보안 표준(Java 엔진 포함)을 무사히 통과하려면 인증서에 IP 주소를 명확히 증명하는 SAN(Subject Alternative Name) 옵션이 반드시 포함되어야 합니다.
아래 명령어를 복사하여 실행합니다. (10년 유효기간의 인증서와 개인키를 지정된 경로에 생성합니다.)
# 디렉토리 생성
sudo mkdir -p /etc/graylog/server
# SSL 인증서 생성
sudo openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \
-keyout /etc/graylog/server/graylog-key.pem \
-out /etc/graylog/server/graylog-cert.pem \
-subj "/CN=192.168.200.63" \
-addext "subjectAltName=IP:192.168.x.x"
3단계: Graylog(Java) 신뢰 목록에 인증서 등록
Graylog 엔진(Java)이 방금 만든 사설 인증서를 믿고 통신할 수 있도록 자체 키 저장소(cacerts)에 등록해 줍니다.
아래 명령어를 실행합니다. (-noprompt 옵션을 사용하므로, 묻고 답하는 과정 없이 즉각 등록됩니다.)
sudo /usr/share/graylog-server/jvm/bin/keytool -importcert -cacerts \
-storepass changeit \
-alias graylog-self-cert \
-file /etc/graylog/server/graylog-cert.pem \
-noprompt
(성공 시 Certificate was added to keystore라는 메시지가 출력됩니다.)
4단계: 서비스 재시작 및 최종 적용
모든 설정과 인증서 발급/등록이 완료되었습니다. 서비스를 재시작하여 엔진에 적용합니다.
- Graylog 서비스 재시작
-
Bash
sudo systemctl restart graylog-server - 최종 확인 약 1~2분 뒤 Graylog 웹 UI(https://192.168.200.63:9000)에 접속합니다. [System] -> [Inputs] 메뉴에서 구성한 Input을 시작(Start)했을 때, 꺼지지 않고 초록색 RUNNING 상태가 유지된다면 HTTPS 구축이 완벽하게 완료된 것입니다.