보안 통신

TLS(Transport Layer Security)는 인터넷 통신을 보호하기 위한 프로토콜입니다. TLS에서는 다른 엔터티가 통신을 읽거나 변경할 수 없습니다. Blackboard Learn에서는 TLS를 사용하여 웹 서버와 클라이언트 시스템 간의 통신을 안전하게 보호합니다.


세션 관리

세션 ID 라이프사이클

Blackboard Learn의 각 세션은 브라우저 쿠키 내부에 저장되어 있는 보안 세션 식별자에 의해 암호화된 방식으로 보호됩니다. 세션 고정 공격으로부터 보호할 수 있도록 세션 식별자는 페이지 로드 시, 로그인 후, 로그아웃 후에 순환됩니다.

쿠키

Blackboard에서는 기본적으로 세션 관리 관련 쿠키에서 발생하는 세션 가로채기에 대한 추가 조치로 두 개의 간단한 쿠키 플래그인 HttpOnly 및 Secure를 설정했습니다.

session_ids_session_id 쿠키는 세션 관리에 사용됩니다. 이러한 쿠키에는 HttpOnly 플래그가 설정되어 있습니다. HttpOnly 플래그에서는 잠재적으로 악의적인 클라이언트 측 스크립트에 의한 무단 접근에 대해 추가적인 보안 계층을 제공합니다. TLS가 시스템 전체에서 활성화되어 있는 경우 session_id 쿠키는 계속 유지되지만 s_session_id 쿠키는 세션 관리에 사용됩니다. s_session_id 에는 Secure 플래그라는 추가적인 보호 조치가 있습니다. JSESSIONID 쿠키는 세션 관리와 관련이 없으며, HttpOnly 플래그나 Secure 플래그가 설정되어 있지 않습니다.

세션 만료

세션은 사용자가 사전 구성된 기간 이상 유휴 상태이면 자동으로 만료되며, 명시적인 로그아웃을 통해 직접 만료할 수도 있습니다.


세션 핑거프린팅

세션 핑거프린팅을 사용하면 사용자의 세션이 악의적 공격에 이용당한 경우를 감지할 수 있습니다. 지문은 사용자가 사용 중인 컴퓨터의 IP 주소 또는 브라우저 유형(User Agent) 등을 사용하여 사용자를 고유하게 확인하는 데 도움이 됩니다. 세션 핑거프린팅은 악의적인 공격자에 의한 세션 가로채기의 위험을 줄이기 위한 완화 컨트롤 방법입니다.

Blackboard에서는 이 컨트롤 방법을 활성화하는 것을 적극적으로 권장합니다. 이 컨트롤 방법을 제대로 활성화하려면 세션 핑거프린팅 활성화핑거프린팅이 변경되는 경우 새로운 세션 생성을 모두 선택해야 합니다.

세션 핑거프린팅 구성

보안의 '관리자 패널'에서 세션 핑거프린팅 설정을 선택합니다. 다음 표에서는 사용 가능한 필드를 설명합니다.

필드 설명
세션 핑거프린팅 활성화 세션 핑거프린팅을 활성화하려면 를 선택합니다.
로그 위치 사용자의 지문이 변경되는 위치가 기록됩니다. 로그의 콘텐츠를 보려면 도구 및 유틸리티의 '관리자 패널'에서 로그를 선택합니다.
지문 값 세션 지문에 포함할 값으로 IP 주소 또는 User Agent 중 하나 또는 둘 모두를 선택합니다. IP 주소에 대한 변경 사항은 사용자 에이전트에 대한 변경 사항보다 덜 발생해야 하므로 여러 로그인 시도를 최소화하려면 IP 주소만 사용하는 것이 좋습니다.
  • IP 주소: IP 주소는 사용자 컴퓨터의 주소입니다. 일반적으로 세션 중에는 변경되지 않습니다. 그러나  특정한 인터넷 서비스 제공자를 사용하는 경우처럼 변경이 발생하는 경우도 있습니다.
  • User Agent: User Agent는 사용자가 사이트에 접근하기 위해 사용하는 특정 브라우저입니다. 최신 웹 사이트에서는 사용자 세션의 권한이 미디어 플레이어 및 기타 브라우저 플러그인에 위임되어 User Agent가 자주 변경될 수 있습니다.
IP 주소 필터링 지문 값 필드에서 IP 주소 또는 IP 주소 및 User Agent를 선택하는 경우 IP 주소의 범위가 세션 지문에 포함되는 경우를 제외하려면 를 선택합니다. 이는 신뢰할 수 있는 IP 범위를 제외하는 데 유용한 방법입니다. bb-session-fingerprint-excluded-addresses.txt 구성 파일을 수정하여 IP 범위를 사용자 지정합니다.
지문이 변경되는 경우 새로운 세션 생성

사용자의 지문이 변경되는 경우 새로운 세션을 강제로 생성하려면 를 선택합니다. 이렇게 하면 유효한 가로채기 시도의 경우 공격자에게는 로그인 페이지가 표시되고 사용자에게는 현재 세션이 유지됩니다. 그러나 위의 지문 값 섹션에서 언급한 것처럼 오탐이 발생할 경우 사용자는 다시 로그인해야 합니다. 이 정도의 불편함은 보안을 위해 감수해야 합니다.

'지문이 변경되는 경우 새로운 세션 생성'을 '예'로 설정하면 여러 파일 애플릿이 로드될 때 로그인 메시지가 나타납니다.