본문 바로가기
네트워크2

웹사이트에서 수집 가능한 로그(log) :: SSL/TLS

by 로맨틱스터디 2025. 10. 1.
728x90
반응형

웹사이트 관리자는 기술적으로 회원의 활동 로그를 수집하고 확인할 수 있는 권한을 가지고 있는 경우가 많습니다.

하지만 어떤 수준까지 볼 수 있는지는

웹사이트 구조, 사용된 기술, 법적 제약, 그리고 해당 사이트의 개인정보처리방침에 따라 달라집니다.


1. 일반적으로 수집 가능한 로그

관리자는 서버와 애플리케이션 로그를 통해 회원의 활동을 다음과 같이 확인할 수 있습니다:

  • 접속 기록: 로그인/로그아웃 시간, 접속한 IP 주소, 브라우저/기기 정보(User-Agent).
  • 페이지 요청: 언제 어떤 URL을 요청했는지 (예: /mypage, /board/123).
  • 행동 로그: 버튼 클릭, 글 작성/삭제, 파일 업로드 같은 주요 활동 이벤트.
  • 에러 로그: 사용자가 어떤 과정에서 오류를 겪었는지.

2. 실제 내용을 볼 수 있는지?

  • 가능한 경우: 글을 작성하거나 댓글을 다는 등 DB에 저장되는 활동은 관리자가 DB 접근 권한이 있으면 내용을 확인할 수 있습니다.
  • 제한되는 경우: HTTPS로 암호화된 구간에서는, 사용자가 외부로 보내는 요청의 상세 데이터(예: 로그인 비밀번호, 채팅 실시간 내용)는 서버 관리자라도 별도로 저장하지 않으면 자동으로 볼 수는 없습니다.
    다만, 서비스 내부에서 저장하도록 설계하면(예: 채팅 로그 저장 기능), 관리자가 그 데이터를 확인할 수 있습니다.

3. 법적/정책적 제한

  • 대부분 국가에서는 개인정보보호법이나 통신비밀보호법 등에 의해 관리자가 마음대로 유저 활동을 감시하거나 공개하는 건 불법입니다.
  • 보통은 “서비스 운영 목적” (보안, 오류 분석, 불법 활동 차단)을 이유로 로그를 일정 기간 보관합니다.
  • 서비스마다 개인정보처리방침(Privacy Policy)에 어떤 정보를 수집하고 얼마나 보관하는지 명시해야 합니다.

👉 정리하면,
관리자는 "언제, 어디서, 어떤 활동을 했는지" 수준의 로그는 충분히 볼 수 있고, **내용 자체(메시지, 글, 파일 등)**도 시스템에 저장되는 구조라면 접근 가능합니다.
다만, 법적으로 제한이 있어서, 합법적인 목적 없이 마음대로 열람하거나 외부에 공유하는 건 문제가 됩니다.

 

728x90

 


 

HTTPS 암호화가 보호해 주는 범위와, 웹사이트 관리자가 볼 수 있는 정보의 범위를 나눠서 설명해 드릴게요.


🔒 1. HTTPS가 하는 일

  • HTTPS = HTTP + SSL/TLS 암호화
  • 브라우저(클라이언트) ↔ 서버 간에 데이터를 전송하는 과정을 암호화해 줍니다.
    즉, 중간에 있는 사람(예: 와이파이 공유기, ISP, 해커)은 내용을 엿보거나 조작할 수 없어요.

➡️ 예를 들어 로그인할 때 입력한 아이디·비밀번호전송 도중에는 암호화되기 때문에 중간에서 탈취하기 어렵습니다.


👀 2. 그럼 서버 관리자는 뭘 볼 수 있나?

여기서 중요한 건 암호화는 "전송 중"에만 적용된다는 점이에요.
데이터가 서버에 도착한 뒤에는 평문(원래 내용)으로 복호화됩니다.

그러면 서버(즉 웹사이트)는 이 데이터를 그대로 다룰 수 있고, 관리자가 접근 권한이 있으면 내용을 볼 수 있습니다.

 

예시:

  • 사용자가 /write_post URL로 게시글을 작성 →
    전송 과정은 암호화됨 → 서버에 도착하면 "글 제목, 본문 내용"이 평문으로 저장됨 → 관리자는 DB를 통해 확인 가능.
  • 사용자가 /mypage에 접속 →
    요청 기록(언제, 어떤 페이지 접속했는지)웹 서버 로그에 남음 → 관리자가 볼 수 있음.

🌐 3. HTTPS로도 "절대 못 보는 정보"

  • 서버 관리자가 아닌 제3자 (ISP, 카페 와이파이, 해커 등)
    • URL의 도메인까지만 볼 수 있음 (https://example.com/...)
    • 뒤에 오는 경로(/mypage, /secret/123)전송되는 내용은 알 수 없음.
  • 따라서 네이버 메일 쓰고 있으면 ISP는 "네이버 메일 사이트에 접속했다" 정도만 알지, 메일 본문은 볼 수 없습니다.

✅ 정리하면:

  • HTTPS는 외부 감청자로부터 보호하는 장치지, 웹사이트 운영자로부터 보호하는 게 아닙니다.
  • 웹사이트 자체가 수집·저장하도록 설계되어 있다면, 관리자는 회원 활동(어떤 URL에 접속했는지, 어떤 데이터를 입력했는지)을 충분히 볼 수 있습니다.

SSL/TLS

더보기

SSL/TLS는 웹 보안을 이해하는 데 핵심이라서, 차근차근 풀어서 설명해 드릴게요.


🔑 1. SSL/TLS란?

  • SSL (Secure Sockets Layer): 1990년대에 나온 인터넷 암호화 프로토콜. 현재는 보안 문제가 많아 쓰이지 않고, 후속인 TLS로 대체됨.
  • TLS (Transport Layer Security): SSL을 계승한 최신 암호화 프로토콜. 현재 우리가 말하는 "HTTPS 암호화"는 사실상 TLS를 의미합니다. (SSL이라고 흔히 부르지만, 실제론 TLS 사용)

➡️ 즉, HTTPS = HTTP + TLS 암호화


📡 2. 왜 필요한가?

인터넷은 기본적으로 "평문" 전송이 원칙이에요. 만약 암호화를 안 하면:

  • 로그인 비밀번호, 카드번호 등이 네트워크 중간에서 그대로 보임.
  • 중간 공격자(Man-in-the-Middle)가 내용을 바꿔치기 가능.

TLS는 이런 걸 막기 위해 데이터를 암호화하고, 서버의 신원을 보증합니다.


🛠️ 3. TLS 동작 방식 (핸드셰이크 과정)

TLS는 클라이언트(브라우저)와 서버(웹사이트)가 연결될 때 “핸드셰이크(handshake)”라는 과정을 거칩니다:

  1. Client Hello: 브라우저가 서버에게 "TLS 연결 시작! 내가 지원하는 암호화 방식은 이거야"라고 알림.
  2. Server Hello: 서버가 사용할 암호화 방식을 선택하고, **서버 인증서(SSL 인증서)**를 클라이언트에 보냄.
    • 이 인증서에는 서버 공개키도메인 정보가 들어 있음.
  3. 인증서 검증: 브라우저는 이 인증서가 신뢰할 만한 인증기관(CA)이 발급했는지 확인.
    • 여기서 “🔒 주소창 자물쇠 표시”가 나옴.
  4. 세션 키 교환: 공개키 암호화 방식을 이용해 안전하게 대칭키(세션 키)를 주고받음.
    • 이후 데이터 전송은 성능 때문에 대칭키로 암호화됨.
  5. 보안 연결 확립: 이제부터 브라우저 ↔ 서버 간 모든 HTTP 데이터가 암호화된 채 전송됨.

🔐 4. TLS가 보장하는 보안 특성

TLS는 단순히 "암호화"만 하는 게 아니라, 3가지를 보장합니다:

  1. 기밀성 (Confidentiality)
    • 데이터가 암호화돼서 중간에서 엿볼 수 없음.
    • 예: 비밀번호, 신용카드 번호가 네트워크에서 노출되지 않음.
  2. 무결성 (Integrity)
    • 데이터가 전송 중에 바뀌지 않았음을 보장.
    • 예: 해커가 "송금 1000원"을 "송금 100000원"으로 바꿀 수 없음.
  3. 인증 (Authentication)
    • 접속한 서버가 "진짜 해당 도메인 소유자"임을 보장.
    • 피싱 사이트나 중간자 공격자가 인증서를 위조하지 않는 이상 속일 수 없음.

🌐 5. 현실에서 TLS의 한계

  • 운영자 관점: 서버에 도착하면 데이터는 복호화되므로, 운영자는 여전히 평문을 볼 수 있음.
  • 사용자 관점: TLS는 외부 공격자(ISP, 와이파이 공유기, 해커)로부터 보호해 줄 뿐, “웹사이트 주인”으로부터는 보호하지 않음.
  • 성능 부담: 예전에는 암호화가 느리다는 이유로 HTTP를 많이 썼지만, 지금은 하드웨어 발전으로 거의 모든 사이트가 HTTPS를 씀.

✅ 정리:
SSL/TLS는 인터넷에서 안전한 통신을 위해 필수적인 암호화 프로토콜이고, 지금 우리가 쓰는 HTTPS는 사실상 TLS 위에서 동작합니다.
이 덕분에 중간에서 훔쳐보기나 변조는 거의 불가능하지만, 서버에 도착하면 복호화되기 때문에 웹사이트 운영자는 여전히 사용자가 입력한 데이터를 볼 수 있다는 점이 핵심이에요.

 


 

지금 우리가 쓰는 건 TLS인데, 인터넷에서는 여전히 **“SSL/TLS”**라는 표현을 흔히 씁니다. 이유는 크게 세 가지예요:


1. 역사적 배경 (브랜드 네임 효과)

  • 1990년대에 나온 SSL(Secure Sockets Layer)웹 보안 프로토콜의 원조였어요.
  • 이후 TLS로 발전하면서 SSL은 사실상 퇴출됐지만,
    SSL”이라는 이름이 먼저 대중화돼 버렸습니다.
  • 사람들이 "자물쇠 = SSL"로 인식했기 때문에, 지금도 마케팅이나 설명에서는 SSL이 많이 붙습니다.

예: “SSL 인증서”라고 부르지만 실제로는 TLS 인증서임.


2. 과도기 용어

  • TLS가 나온 지는 오래됐지만, 초기에는 SSL과 TLS가 같은 계열 프로토콜로 여겨졌습니다.
  • 그래서 문서, 기술 블로그, 교육 자료에서 “SSL/TLS”라고 병기하면서 구버전과 신버전을 모두 포함하는 표현으로 쓰였죠.
  • 아직도 습관적으로 이 표현을 유지하는 경우가 많습니다.

3. 현실적인 이유

  • TLS 인증서”라고 쓰면 사람들이 잘 못 알아봅니다 😅
  • **검색엔진 최적화(SEO)**나 마케팅 측면에서 “SSL”이라는 단어가 훨씬 많이 쓰여서, 보안 회사나 호스팅 업체는 “SSL 인증서(TLS)”라고 같이 표기합니다.

🔑 정리

  • 정확한 용어: TLS (SSL은 더 이상 쓰이지 않음)
  • 관용적 표현: SSL/TLS = “웹 암호화 프로토콜 전반”을 뜻하는 말
  • 마케팅/대중성 때문에 아직도 "SSL"이 붙어 다님

👉 쉽게 말하면:
“SSL”은 사실상 브랜드 이름처럼 굳어져서, 실제 기술은 TLS지만 사람들이 헷갈리지 않게 “SSL/TLS”라고 적는 거예요.

 


 

**TLS 핸드셰이크(handshake)**라는 말은 진짜로 “인사하다, 악수하다”라는 의미에서 나온 표현이에요.


🔹 왜 "핸드셰이크"라고 부르나?

  • 두 사람이 처음 만났을 때 악수를 하면서 “나는 누구다, 앞으로 이렇게 하자” 하고 약속을 정하는 것과 비슷해요.
  • 클라이언트(브라우저)와 서버(웹사이트)가 처음 연결될 때, 어떤 암호화 방식으로 통신할지, 누가 누구인지, 대칭키를 어떻게 정할지 등을 합의하는 과정이 바로 핸드셰이크입니다.
  • 이후 연결이 확립되면 실제 데이터(예: 로그인 정보, 웹페이지 내용)는 안전하게 오가게 되죠.

🔹 Client Hello / Server Hello 이름의 의미

  • Client Hello: 클라이언트가 서버에게 “안녕하세요, 내가 지원하는 암호화 알고리즘은 이런 것들이에요. TLS 버전은 이거까지 돼요.” 라고 인사하는 단계.
  • Server Hello: 서버가 응답하면서 “안녕하세요, 나는 이 암호화 방식을 선택했어요. 그리고 이게 내 인증서예요. 이제 서로 믿고 통신합시다.” 라고 대답하는 단계.

즉, 진짜 사람끼리 인사하는 "Hello"에서 따온 이름이 맞습니다.


🔹 참고: Handshake라는 용어 자체

컴퓨터 네트워크에서는 예전부터 새로운 연결을 맺는 초기 협상 과정을 “handshake”라고 불렀습니다.

  • TCP에서도 3-way handshake라는 말이 있죠. (SYN → SYN-ACK → ACK)
  • TLS handshake는 이 전통을 이어받은 용어예요.

✅ 정리하면:
Client Hello / Server Hello는 실제로 “서로 인사한다”는 의미에서 지어진 이름이고, handshake라는 말도 “처음 만날 때 악수하며 약속 정한다”는 비유에서 나온 겁니다.

 


 

많은 사람들이 SSL/TLS = HTTPS라고 생각하는데,

사실 SSL/TLS는 "특정 서비스 전용"이 아니라 네트워크에서 데이터를 안전하게 주고받기 위한 범용 보안 프로토콜이에요.


🔹 1. HTTPS에서 쓰이는 경우

  • 제일 유명한 건 당연히 HTTPS (HTTP + TLS).
  • 웹 브라우저 ↔ 웹 서버 간 통신을 암호화하는 데 쓰입니다.
  • 우리가 주소창에서 자물쇠(🔒) 보는 건 다 TLS 덕분이에요.

🔹 2. 그 외에 쓰이는 곳

SSL/TLS는 다양한 프로토콜에서 보안 계층으로 쓰입니다:

  • 이메일
    • SMTPS (SMTP over TLS) → 메일 송신 암호화
    • IMAPS (IMAP over TLS) → 메일 수신 암호화
    • POP3S (POP3 over TLS)
  • 파일 전송
    • FTPS (FTP over TLS)
    • 참고: SFTP는 SSH 기반이라 TLS는 아님.
  • 메신저/채팅
    • XMPP 같은 프로토콜도 TLS로 암호화할 수 있음.
  • VPN
    • OpenVPN은 TLS를 핵심 암호화 메커니즘으로 사용.
  • 데이터베이스 연결
    • MySQL, PostgreSQL 등도 TLS를 켜면 클라이언트 ↔ 서버 간 통신이 암호화됨.
  • 기타
    • LDAP (디렉터리 서비스) → LDAPS
    • MQTT (IoT 통신 프로토콜) → MQTTS

🔹 3. 정리

  • HTTPS는 TLS를 쓰는 가장 널리 알려진 사례일 뿐
  • 사실 TLS는 “TCP 위에서 동작하는 거의 모든 프로토콜”에 붙여서 보안 채널을 만들 수 있음
  • 그래서 SSL/TLS는 웹 보안의 상징이지만, 실제로는 이메일, 파일 전송, VPN, IoT 등 인터넷 전반에서 사용됩니다.

👉 즉, TLS는 웹만의 것이 아니라, 인터넷 보안을 위한 범용 암호화 기술이라고 보시면 됩니다.

728x90
반응형