Show Menu
화제×

CSRF 공격 방지

CSRF 공격 작동 방식

CSRF(교차 사이트 요청 위조)는 유효한 사용자의 브라우저가 iFrame을 통해 악성 요청을 전송하는 데 사용되는 웹 사이트 취약성입니다. 브라우저가 도메인을 기준으로 쿠키를 보내기 때문에 사용자가 현재 애플리케이션에 로그인되어 있는 경우 사용자의 데이터가 손상될 수 있습니다.
예를 들어 브라우저에서 관리 콘솔에 로그인한 시나리오를 생각해 보십시오. 링크가 포함된 이메일 메시지를 수신합니다. 링크를 클릭하면 브라우저에서 새 탭이 열립니다. 연 페이지에는 인증된 AEM 양식 세션의 쿠키를 사용하여 양식 서버에 악의적인 요청을 하는 숨겨진 iFrame이 포함되어 있습니다. 사용자 관리는 유효한 쿠키를 수신하므로 요청을 전달합니다.

허용되는 참조 작업 방식

AEM 양식은 CSRF 공격을 방지하는 데 도움이 되는 레퍼러 필터링을 제공합니다. 다음은 레퍼러 필터링의 작동 방식입니다.
  1. 양식 서버는 호출에 사용되는 HTTP 메서드를 확인합니다.
    • POST인 경우 양식 서버가 참조 헤더 확인을 수행합니다.
    • GET인 경우 CSRF_CHECK_GETS가 true로 설정되어 있지 않으면 양식 서버가 참조 검사를 건너뜁니다. 이 경우 참조 헤더 검사가 수행됩니다. CSRF_CHECK_GETS는 응용 프로그램의 web.xml 파일에 지정됩니다. (강화 및 보안 안내서의 "교차 사이트 요청 위조 공격으로부터 보호" 참조하십시오.)
  2. 양식 서버는 요청된 URI가 허용 목록에 포함되어 있는지 여부를 확인합니다.
    • URI가 허용 목록에 있으면 서버가 요청을 전달합니다.
    • 요청한 URI가 화이트리스트에 포함되지 않은 경우 서버는 요청의 참조를 검색합니다.
  3. 요청에 참조가 있는 경우 서버는 해당 참조가 허용된 참조인지 여부를 확인합니다. 허용되는 경우 서버는 참조 예외를 확인합니다.
    • 예외인 경우 요청이 차단됩니다.
    • 예외가 아닌 경우 요청이 전달됩니다.
  4. 요청에 참조가 없으면 서버는 Null 참조가 허용되는지 여부를 확인합니다.
    • null 참조가 허용되면 요청이 전달됩니다.
    • Null 참조가 허용되지 않으면 서버는 요청된 URI가 Null 참조 예외인지 확인하고 그에 따라 요청을 처리합니다.

허용된 참조 구성

Configuration Manager를 실행하면 기본 호스트 및 IP 주소 또는 양식 서버가 Allowed Referer 목록에 추가됩니다. 관리 콘솔에서 이 목록을 편집할 수 있습니다.
  1. 관리 콘솔에서 설정 > 사용자 관리 > 구성 > 허용된 참조 URL 구성을 클릭합니다.허용된 참조 목록이 페이지 하단에 나타납니다.
  2. 허용된 참조를 추가하려면:
    • 허용된 참조 상자에 호스트 이름 또는 IP 주소를 입력합니다. 한 번에 둘 이상의 허용된 참조를 추가하려면 새 줄에 각 호스트 이름 또는 IP 주소를 입력합니다.
    • HTTP 포트 및 HTTPS 포트 상자에서 HTTP, HTTPS 또는 둘 다에 대해 허용할 포트를 지정합니다. 이러한 상자를 비워 두면 기본 포트(HTTP의 경우 포트 80, HTTPS의 경우 포트 443)가 사용됩니다. 상자에 0 (영)을 입력하면 해당 서버의 모든 포트가 활성화됩니다. 특정 포트 번호를 입력하여 해당 포트만 활성화할 수도 있습니다.
    • 추가를 클릭합니다.
  3. 허용된 참조 목록에서 항목을 제거하려면 목록에서 항목을 선택하고 삭제를 클릭합니다.
    #이 비어 있으면 CSRF 기능의 작동이 중지되고 시스템이 안전하지 않게 됩니다.
  4. 허용된 참조 목록을 변경한 후 AEM Forms 서버를 다시 시작합니다.