입력 유효성 검사 필터는 Blackboard Learn을 보호하기 위해 구성 가능한 규칙과 함께 첫 번째 방어선 역할을 합니다. 어떤 면에서 Blackboard Learn을 위한 방화벽과 같은 이 필터를 사용하면 기본 규칙 집합을 통해 데이터를 검사함으로써 수신되는 사용자 요청이 안전한지 확인할 수 있습니다.

하나의 Blackboard Learn 인스턴스에서는 매일 많은 애플리케이션 HTTP 요청(과제 제출, 과제 저장, 시스템에 로그인하기, 시스템에서 로그아웃하기 등)을 처리할 수 있습니다. Blackboard Learn에는 각 요청에 대해 이러한 요청을 처리하는 코드에 올바른 값이 들어 있는지 확인할 책임이 있습니다. 입력 유효성 검사 필터에서는 규칙 집합을 통해 Blackboard Learn 내에서 잘 정의된 일련의 데이터 필드(예: 코스 ID 필드)를 간략하게 설명하고 각 필드에 대해 허용 가능한 항목인 기준 및 패턴을 명시적으로 나열합니다. 이러한 내용은 기본 규칙 집합에 정의되어 있습니다. 입력된 데이터가 규칙 기준과 일치하지 않는 경우 시스템에서는 'on-fail' 속성에 설정된 값에 따라 이 상황에 반응합니다.

속성 및 설명에 대해 자세히 알아보기

기본 규칙 집합을 수정할 수는 없지만, 기본 규칙 집합을 기반으로 사용자 지정 규칙 집합을 생성하여 독점 또는 타사 빌딩 블록을 보호할 수 있습니다. 기본 규칙 집합을 확인하면 시스템을 보호하고 있는 규칙을 확인할 수 있습니다. 또한 다양한 Blackboard Learn 페이지에 대한 매개변수, 이러한 매개변수에 대해 허용된 값, 제약 조건을 충족하지 못할 경우 발생하는 결과를 확인할 수 있습니다. 사용자 지정 규칙 집합을 사용하면 영향을 받는 빌딩 블록의 새로운 버전을 기다릴 필요 없이 시스템에서 필터를 적용할 빌딩 블록을 정의하고 보안 문제를 신속하게 해결할 수 있습니다.

관리자 패널 > 보안 > 입력 유효성 검사 필터에서 입력 유효성 검사 필터 기능을 찾아보십시오.


기본 규칙 집합

Blackboard Learn에서는 기본 규칙 집합을 사용하여 보안 문제를 신속하게 해결합니다. 기본 규칙 집합을 통해 다양한 Blackboard Learn 페이지에서 주어진 경로에 필요한 매개변수 및 데이터 유형에 대한 제한 사항이 정의됩니다. 또한 잘못된 값 유형이 입력된 경우 시스템이 반응하는 방식도 정의됩니다. 예를 들어, 한 학생이 코스 ID를 입력 중입니다. 규칙에 따라 코스 ID에는 숫자만 포함해야 하지만, 해당 학생은 이를 영숫자 또는 스크립트로 전송하기 위해 악의적으로 요청을 조작합니다. Blackboard Learn에서 이 악의적인 입력에 반응하는 방식은 규칙의 'on-fail' 속성에 정의되어 있습니다.

속성 및 설명에 대해 자세히 알아보기

관리자 패널 > 보안 > 입력 유효성 검사 필터로 이동하고 기본 규칙 세트를 선택합니다. 여기에서 다음과 같은 작업을 수행할 수 있습니다.

  • 기본 규칙 집합을 다운로드하고 확인하려면 규칙 집합(xml) 다운로드를 선택합니다. 사용자 지정 규칙 집합을 생성하기 위한 모델로 이를 활용합니다.
  • 기본 규칙 집합에 대한 스키마 정의를 다운로드하려면 스키마(xsd) 다운로드를 선택합니다. 그러면 사용자 지정 규칙 집합을 생성하는 데 필요한 형식이 정의됩니다.
  • 기본 규칙 집합 페이지의 상단에서 날짜를 확인합니다. 그러면 시스템에서 기본 규칙 집합이 마지막으로 업데이트된 시기를 알 수 있습니다.

기본 규칙 집합의 규칙은 다음과 같은 표준을 기반으로 개발되었습니다. 관리자는 이러한 표준을 기반으로 하는 사용자 지정 규칙 집합뿐만 아니라 시스템에서 처리할 사용자 지정 규칙도 개발해야 합니다.

필수 규칙 속성 및 선택 사항인 규칙 속성

규칙 속성
필수 규칙 속성과 선택 규칙 속성 비교 형식
필수 속성 <rule path="..." parameter="..."/>
선택 사항이지만 권장되는 속성 <rule path="..." parameter="..." constraint="..." on-fail="..."/>

또는

<rule path="..." parameter="..." constraint-name="..." on-fail="..."/>

선택 사항인 속성 <rule path="..." parameter="..." constraint="..." on-fail="..." min-version="..." max-version="..."/>

또는

<rule path="..." parameter="..." constraint-name="..." on-fail="..." min-version="..." max-version="..."/>

속성 및 설명

사용자 지정 규칙 집합은 선택 사항입니다. 독점 빌딩 블록 또는 타사 빌딩 블록에 대한 보호 기능을 추가하기 위해 또는 규칙 우선순위 지정 기능을 활용하여 기본 규칙 집합의 규칙을 덮어쓰기 위해 기본 규칙 집합을 기반으로 하여 사용자 지정 규칙 집합을 생성할 수 있습니다.

사용자 지정 규칙 집합을 사용하면 시스템에서 필터를 적용할 빌딩 블록을 정의하고 시스템의 특정한 문제를 해결할 수 있습니다(Blackboard의 솔루션을 받기 전에 해결할 수도 있음). 사용자 지정 규칙 집합을 생성하기로 결정하는 경우 해당 집합은 기본 규칙 집합과 함께 실행됩니다.


사용자 지정 규칙 집합 생성

  1. 보안의 '관리자 패널'에서 입력 유효성 검사 필터를 선택합니다.
  2. 사용자 지정 규칙 집합을 선택합니다.
  3. 규칙 집합(xml) 다운로드를 선택하여 기본 규칙 집합을 로컬 시스템에 저장합니다. 이는 필요에 따라 수정할 수 있으며 사용자 지정 규칙 집합을 생성하기 위한 발판으로 활용할 수 있습니다.
  4. 스키마(xsd) 다운로드를 선택하여 스키마를 저장하고, 이를 사용자 지정 규칙 집합에서 규칙을 구성하는 방법에 대한 가이드로 활용합니다. 자세히 알아보려면 다음과 같이 기본 규칙 집합을 확인하십시오.
  5. 사용자 지정 규칙 집합 페이지로 이동하고 업로드를 선택하여 새로운 사용자 지정 규칙 집합을 찾아보고 업로드합니다.
  6. 사용자 지정 규칙 집합을 업로드하면 다음과 같은 3가지 새 옵션이 나타납니다.
    1. 대체: 활성화되어 있는 사용자 지정 규칙 집합을 대체하고 새로운 사용자 지정 규칙 집합을 업로드할 수 있습니다. 이 옵션을 사용하면 사용자 지정 규칙 집합 업로드 페이지로 이동됩니다.
    2. 삭제: 사용자 지정 규칙 집합을 삭제할 수 있습니다.
    3. 다운로드: 사용자 지정 규칙 집합을 로컬 시스템에 저장하고 수정을 계속할 수 있습니다.

사용자 지정 규칙 집합 보존

  • 관리자는 모든 사용자 지정 규칙 집합의 개별 백업 사본을 유지 관리해야 합니다.
  • 입력 유효성 검사 필터 빌딩 블록이 제거되었다가 다시 설치된 경우 사용자 지정 규칙 집합은 보존되지 않습니다.
  • 입력 유효성 검사 필터 빌딩 블록이 업데이트된 경우 기존의 사용자 지정 규칙 집합은 보존되고 활성 상태로 유지됩니다.

규칙 우선순위

규칙 충돌은 경로 및 매개변수 속성에 대해 동일한 값을 지닌 두 개의 규칙으로 정의됩니다. 기본 규칙 집합과 사용자 지정 규칙 집합은 함께 실행됩니다. 따라서 규칙 집합 간에 규칙 충돌이 발생할 경우 기본 규칙 집합보다 사용자 지정 규칙 집합에 더 높은 규칙 우선순위가 부여됩니다. 사용자 지정 규칙과 기본 규칙이 모두 동일한 경로 속성 및 매개변수 속성에 정의되어 있는 경우 'on-fail' 등의 다른 속성과 관계없이 마지막에 선언된 규칙이 활성화됩니다.

충돌은 극히 드문 것으로 간주되며 사용자 지정 규칙 집합에 의해서만 발생합니다. 충돌을 피하고 시스템 성능을 예상 수준에 맞추려면 사용자 지정 규칙의 경로 및 매개변수 속성이 기본 규칙 집합 또는 사용자 지정 규칙 집합의 다른 규칙과 동일하지 않아야 합니다. 또는 규칙 우선순위 및 충돌을 활용하려면 사용자 지정 규칙 집합에서 기본 규칙 집합의 동작을 덮어쓰는 규칙을 정의합니다.

충돌 발생 시 파일 하단에 가까운 규칙이 사용되기 때문에 충돌이 정의된 경우 시스템 경고가 발생하지 않습니다.

충돌 시나리오
시나리오 시스템 동작
사용자 지정 규칙 집합의 규칙이 사용자 지정 규칙 집합의 규칙과 충돌하는 경우...
  • 충돌하는 규칙 중 파일 하단에 가까운 규칙이 사용됩니다.
  • 사용자 지정 규칙 집합에서 충돌하는 규칙 중 더 위에 있는 규칙은 무시됩니다.
사용자 지정 규칙 집합의 규칙이 기본 규칙 집합의 규칙과 충돌하는 경우...
  • 사용자 지정 규칙 집합에서 충돌하는 규칙이 사용됩니다.
  • 기본 규칙 집합에서 충돌하는 규칙은 무시됩니다.