Loading

Apache Log4j2 취약점(Log4shell) - Tableau Bridge 완화 단계

게시 일자: Jan 30, 2022
상세 설명
최근 노출된 취약점으로 인해 Log4j Apache 라이브러리를 사용하는 제품에서 원격 코드 실행이 가능하게 되었습니다.
 

Cause

Apache Log4j 2 라이브러리의 보안 취약점 CVE-2021-44228 및 CVE-2021-45046
솔루션

옵션 1: Tableau 업데이트

유지 관리 유효 기간이 지나지 않은 고객님의 경우, 영향을 받는 버전(2021년 12월 15일 이전의 모든 제품 릴리스)을 업데이트하지 않았거나 2021년 12월 15일 제품 릴리스로 업데이트한 경우 다음과 같은 더 새로운 릴리스 중 하나로 업데이트하세요.

2021년 12월 15일 Tableau 제품 릴리스에서 Log4j2 파일을 2.15 버전으로 업데이트했습니다. 아직 진단 또는 보조 구성 요소가 남아 있을 수 있습니다. 취약한 JNDI 조회 기능을 사용하지 않도록 구성을 변경하여 이러한 미해결 구성 요소를 완화했습니다.

2021년 12월 19일 Tableau Product 릴리스에서 JNDI 조회를 기본적으로 사용하지 않도록 설정하는 Log4j 2.16 릴리스를 통합했습니다. 이 조치는 CVE-2021-44228 CVE-2021-45046을 모두 해결합니다.

2021년 12월 19일 발표된 제품 릴리스로 업데이트하면 현재 CVE-2021-44228 CVE-2021-45046에서 식별된 보안 문제를 해결하게 됩니다.

    옵션 2: 다음과 같은 경우 옵션 2에 설명된 완화 단계를 실행하세요.

    • 2021년 12월 15일에 발표된 제품 릴리스로 업데이트했고, 더 새로운 릴리스로 업데이트할 수 없음(이유: 유지 관리 유효 기간이 지남, 또는 회사 업데이트 기간을 벗어남 등)
    • 영향을 받는 버전(2021년 12월 15일 이전에 릴리스된 모든 제품 버전)을 사용 중이며 더 새로운 릴리스로 업데이트할 수 없음
    • 지원되는 버전 2020.1 이상에만 해당함

    Tableau Bridge

    1. 7zip을 다운로드하여 c:\7zip에 설치합니다.
    2. 관리 PowerShell 창을 엽니다.
    3. 디렉터리를 Tableau Bridge bin 디렉터리로 변경합니다. 기본 설정은 C:\Program Files\Tableau\Tableau Bridge\bin입니다.

    cd C:\Program Files\Tableau\Tableau Bridge\bin 

    4. jdbcserver.jar에서 ReadOnly를 사용하지 않도록 설정합니다.

    Set-ItemProperty jdbcserver.jar -Name IsReadOnly -Value $false 

    5. oauthservice.jar에서 ReadOnly를 사용하지 않도록 설정합니다.

    Set-ItemProperty oauthservice.jar -Name IsReadOnly -Value $false

    6. jdbcserver에서 JndiLookup.class를 제거합니다.

    c:\7zip\7z d jdbcserver.jar org/apache/logging/log4j/core/lookup/JndiLookup.class -r 

    7. oauthservice에서 JndiLookup.class를 제거합니다.

    c:\7zip\7z d oauthservice.jar org/apache/logging/log4j/core/lookup/JndiLookup.class -r

      8. jdbcserver.jar에서 ReadOnly를 다시 사용하도록 설정합니다.

    Set-ItemProperty jdbcserver.jar -Name IsReadOnly -Value $true 

    9. oauthservice.jar에서 ReadOnly를 다시 사용하도록 설정합니다.

    Set-ItemProperty oauthservice.jar -Name IsReadOnly -Value $true 

    10. 디렉터리를 Tableau Bridge bin32 디렉터리로 변경합니다. 기본 설정은 C:\Program Files\Tableau\Tableau Bridge\bin32입니다.

    cd C:\Program Files\Tableau\Tableau Bridge\bin32

    11. jdbcserver.jar에서 ReadOnly를 사용하지 않도록 설정합니다.

    Set-ItemProperty jdbcserver.jar -Name IsReadOnly -Value $false

    12. oauthservice.jar에서 ReadOnly를 사용하지 않도록 설정합니다.

    Set-ItemProperty oauthservice.jar -Name IsReadOnly -Value $false

    13. jdbcserver에서 JndiLookup.class를 제거합니다.

    c:\7zip\7z d jdbcserver.jar org/apache/logging/log4j/core/lookup/JndiLookup.class -r 

    14. oauthservice에서 JndiLookup.class를 제거합니다.

    c:\7zip\7z d oauthservice.jar org/apache/logging/log4j/core/lookup/JndiLookup.class -r

    15. jdbcserver.jar에서 ReadOnly를 다시 사용하도록 설정합니다.

    Set-ItemProperty jdbcserver.jar -Name IsReadOnly -Value $true

    16. oauthservice.jar에서 ReadOnly를 다시 사용하도록 설정합니다.

    Set-ItemProperty oauthservice.jar -Name IsReadOnly -Value $true
     

    확인이 필요한 파일이 제거됨:
    1) 위 단계를 모두 순서대로 다시 실행합니다.
    2) 이 단계를 반복할 때 JndiLookup.class 파일을 제거(6, 7, 13, 14단계)하는 명령의 출력에 “Delete data from archive(아카이브에서 데이터 삭제)” 줄 항목이 없는 경우 클래스가 더 이상 없음을 의미하며, 이 완화 단계가 완료되었다고 간주할 수 있습니다.

    예:
    파일이 처음 제거되는 경우, “Delete data from archive line item(아카이브 줄 항목에서 데이터 삭제)”이 표시됩니다.



    명령을 두 번째로 실행하면 “Delete data from archive(아카이브에서 데이터 삭제)” 줄 항목이 표시되지 않습니다.

    Knowledge 기사 번호

    001534232

     
    로드 중
    Salesforce Help | Article