질문/조언질답게시판

기본 인증서가 가버려서 보안 경고가 뜨게 되던데요,

TLS Handshake 과정에서 SNI가 안오는 경우에는 연결 자체를 끊어버릴 방법이 없을까요?

Cloudflare 같은 경우에는 그렇게 하는 것 같던데, 개인서버에서 구현하는 방법을 찾기가 어렵네요ㅠ

  • profile
    https://serverfault.com/questions/225174/have-nginx-reject-unknown-server-names-over-https

    default 블록에서 return 444; 하면 아예 tcp 접속을 끊어버린다네요
  • profile ?
    그래도 인증서 경고는 뜨더라구요...
  • profile
    https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslstrictsnivhostcheck
    아파치 2.2.12 이상의 경우 SSLStrictSNIVHostCheck on 구문을 이용하실수 있습니다.

    https://blog.haka.se/nginx-%EC%97%90%EC%84%9C-strict-sni-%ED%99%9C%EC%84%B1%ED%99%94-%ED%95%98%EA%B8%B0
    nginx의 경우 기본 지원되지 않으나, 소스코드를 수정해 구현할수 있습니다.

    https://security.stackexchange.com/a/107918
    혹은 서버 이름이 드러나지 않은 가짜 인증서를 메인으로 둔뒤 return 403으로 요청을 거부할수 있습니다.
  • profile ?
    이걸 Strict SNI 라고 부르나 보네요. 답변 감사합니다.