Samba에서 Badlock 보안 취약점 - CVE-2016-2118

Public Date: April 12, 2016, 13:48
갱신됨 April 15, 2016, 11:07 - Chinese, Simplified 영어 (English) French Japanese
Resolved 상태
Important Impact
Red Hat 제품 보안팀은 DCE/RPC-기반 SAMR 및 LSA 프로토콜에서 ( Microsoft Windows Active Directory 인프라에서 사용) 취약점을 인지하고 있습니다. 이러한 문제는 CVE-2016-2118 에서 다루고 있으며 중요한 보안 영향을 미치는 것으로 평가 되고 있습니다. Samba에서의 중요한 보안 취약점에 설명된 (2016년 4월 12일에 게재) 보통 영향에서 심각한 영향을 미치는 것으로 평가되는 기타 관련 취약점도 공개되어 있습니다.
알림: 이는 프로토콜 관련 문제로 이 프로토콜을 구현하는 모든 애플리케이션에 영향을 미칩니다. (Samba - CVE-2016-2118 및 Microsoft Windows - CVE-2016-0128 포함)

배경 정보

DCE/RPC는 API 및 네트워크 프로토콜 모두를 정의하는 원격 프로시저 호출 메커니즘에 대한 사양입니다. SAM (Security Account Manager) 원격 프로토콜 (클라이언트-서버 간) 은 사용자 및 그룹이 포함된 계정 저장소 또는 디렉토리에 대한 관리 기능을 제공합니다. 프로토콜은 로컬 및 원격 Microsoft  Active Directory 도메인에 대해 “계정 데이터베이스”를 제공합니다. LSA (Local Security Authority) (도메인 정책) 원격 프로토콜은 다양한 시스템 및 도메인 보안 정책을 관리하는데 사용됩니다. 이러한 프로토콜은 약간의 예외를 제외하고 원격 정책 관리 시나리오를 가능하게 합니다. SAMR 및 LSA 프로토콜 모두는 DCE 1.1 RPC 프로토콜을 기반으로 합니다.
이러한 프로토콜은 일반적으로 모든 Windows 설치 뿐 만 아니라 모든 Samba 서버에서 사용할 수 있습니다. 이는 SAM (Security Account Manager)  데이터 베이스를 유지 관리하는데 사용됩니다. 이는 모든 역할 (예: 독립형, 도메인 컨트롤러, 도메인 구성원)에 적용됩니다.

감사의 말

Red Hat은 본 문제에 대해 보고해 주신 Samba프로젝트에게 감사의 말씀을 전합니다. 업스트림에서는 원래 보고자인 Stefan Metzmacher (SerNet)에게도 감사의 말씀을 전합니다.

영향을 받는 제품

본 문제는 Red Hat 제품 보안팀에 의해 중요한 보안 영향을 미치는 것으로 평가되고 있습니다. Samba에서의 중요한 보안 취약점에 설명된 (2016년 4월 12일에 게재) 보통 영향에서 심각한 영향을 미치는 것으로 평가되는 기타 관련 취약점도 공개되어 있습니다. Badlock에 대한 추가 정보는 Badlock: Samba에서의 SAMR 및 LSA 프로토콜 중간 가로채기 공격 (CVE-2016-2118)에서 확인하실 수 있습니다. .

영향을 받는 Red Hat 제품 버전은 다음과 같습니다:

  • Red Hat Enterprise Linux 4*
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Gluster Storage 3
Red Hat Enterprise Linux 서버와 Red Hat Gluster Storage에 탑재된 모든 Samba 패키지 버전은 본 결함에 의한 영향을 받습니다.

*RHEL 4에서 이러한 패치에 액세스하려면 활성 ELS 서브스크립션이 필요합니다. 사용 계정에 활성 ELS 서브스크립션이 없을 경우 보다 자세한 내용은 Red Hat 영업팀 또는 해당 영업 담당자에게 문의하시기 바랍니다.

Red Hat Enterprise Linux ELS (Extended Life Cycle Support) 애드온은 무엇입니까?

공격 내용 및 영향

클라이언트가 서버에 대해 개시한 인증된 DCE/RPC 연결은 중간 가로채기(man-in-the-middle ) 공격자서버 상의 SAMR 또는 LSA 서비스에 대해 인증된 사용자로 가장하여 사용될 수 있습니다. 그 결과 공격자는 모든 암호 및 기타 다른 기밀 정보를 유출할 수 있는 SAM (Security Account Manager) 데이터베이스에 대한 읽기/쓰기 권한을 얻을 수 있습니다.
이러한 경우 클라이언트가- 선택한 애플리케이션 프로토콜, 인증 유형 (예: Kerberos 또는 NTLMSSP), 인증 수준 (NONE, CONNECT,  SIGN, SEAL)은 문제가 되지 않습니다. 중간 가로채기 (man-in-the-middle ) 공격자가 CONNECT로 인증 수준을 다운그레이드하여 연결을 탈취할 수 있습니다. Badlock 문제는 다음에 문서화되어 있는 CVE에 따라 수정되어 있습니다:

취약점 노출 관련 이해 사항

AD 환경에서 도메인 구성원으로 Samba를 사용하는 고객의 경우:

  • 검색 방법: 'security = ads' (smb.conf 파일)
    • RHEL5에서 samba3x (3.6)로 마이그레이션하거나 RHEL6/samba (3.6) 또는 RHEL7/samba (4.2)로 마이그레이션할 것을 권장합니다
    • 마이그레이션은 자동으로 진행되지 않으므로 미리 계획해 두어야 합니다. (특히 IDMAP 경우 3.0 -> 3.6 및 3.6 -> 4.x으로 변경됨)

NT 환경에서 도메인 구성원으로 Samba를 사용하는 고객의 경우:

  • 검색 방법: 'security = domain' (smb.conf 파일)
    • RHEL5에서 samba3x (3.6)로 마이그레이션하거나 RHEL6/samba (3.6) 또는 RHEL7/samba (4.2)로 마이그레이션할 것을 권장합니다
    • 마이그레이션은 자동으로 진행되지 않으므로 미리 계획해 두어야 합니다. (특히 IDMAP 경우 3.0 -> 3.6 및 3.6 -> 4.x으로 변경됨)

파일 서버로 Samba를 사용하는 고객의 경우:

  • 검색 방법: 'security = user' 또는 'security = ads' 또는 'security = domain' 또는 'security = standalone' 및 공유 (smb.conf 파일에 정의)
    • RHEL5에서 samba3x (3.6)로 마이그레이션하거나 RHEL6/samba (3.6) 또는 RHEL7/samba (4.2)로 마이그레이션할 것을 권장합니다
    • 마이그레이션은 자동으로 진행되지 않으므로 미리 계획해 두어야 합니다. (특히 IDMAP 경우 3.0 -> 3.6 및 3.6 -> 4.x으로 변경됨)

자주 하는 질문

  1. 내 Samba 서버 및 클라이언트를 업데이트했습니다. 다시 시작해야 할 서비스가 있습니까?
    • 아니요. 시스템에 업데이트가 적용되면 smb 서비스는 자동으로 다시 시작됩니다.
  2. 내 인프라에 있는 Samba 서버 및 Samba 클라이언트 모두에 패치를 적용해야 합니까?
    • 최소한 Samba 서버를 업데이트해야 합니다. Badlock은 프로토콜 관련 결함이기 때문에 Samba 인프라 설정에 따라 서버 및 클라이언트 모두 영향을 받을 수 있습니다. Red Hat 제품 보안팀은 서버 및 클라이언트 모두를 업데이트할 것을 권장합니다.
  3. 업데이트된 패치가 적용되더라도 이전의 오래된 Samba 버전을 실행하고 있는 기존 클라이언트가 있는 경우 문제가 될 수 있습니까?
    • 이 보안 권고는 Samba 설정을 위해 사용된 일부 보안 옵션에 제한되어 있습니다. 따라서 Samba 서버를 업데이트하지만 클라이언트를 업데이트하지 않을 경우 설정을 손상시킬 수 있습니다. 상호 운용성을 지속하기 위해 (예: smb.conf 파일에서 allow dcerpc auth level connect = yes를 설정) 이전의 오래된 비보안 옵션으로 롤백할 수 있지만 이는 공격 벡터에 다시 노출 될 수 있으므로 Red Hat 제품 보안팀은 이러한 방법을 사용하는 것을 권장하지 않습니다.
  4. 내 Samba 서버 인스턴스는 Windows 도메인에 연결되어 있지 않습니다. 이러한 경우에도 여전히 취약점의 영향을 받게 됩니까?
    • 예. 관리자가 비보안 클라이언트를 사용하여 Samba 서버와 통신하거나 보안 클라이언트를 사용하여 비보안 Samba 서버와 통신할 경우 중간 가로채기 공격자가 이 옵션을 사용하여 결함을 악용할 수 있습니다.
  5. MITM 공격에 대응하기 위해 암호화하는 것이 보안 방법이 될 수 있습니까?
    • 파일을 일반 텍스트로 전송하는 동안 SMB 프로토콜은 기본값으로만 인증 정보 및 명령을 암호화합니다. 보안 및 개인 정보 보호 관련 중요 상황에서 모든 통신을 보안하기 위해 암호화를 사용하는 것이 좋습니다. 암호화는 Samba 3.2 버전에 추가되어 있지만 Samba 클라이언트 용으로 제한됩니다. Microsoft는 Windows 8 및 Windows Server 2012에서 SMB 3.0에 SMB 암호화 지원을 추가했습니다. 하지만 이러한 암호 유형 모두 파일 전송과 같은 통신만을 보안하고 SMB 협상 및 명령을 실행한 후 작동합니다. 이러한 단계에는 위의 취약점이 포함되어 있기 때문에 Samba/SMB 암호화는 좋은 보안 방법이지만 취약점에 대한 보안 방법으로는 충분하지 않습니다.
  6. 어떤 Samba 버전이 수정되었습니까?
    • Red Hat은 IPA, OpenChange, libraries libtalloc, libtdb 및 libevent와 같은 종속 패키지를 포함하여 현재 지원되는 모든 제품에 대해 Samba 4.2, 4.1, 4.0, 3.6, 3.0 버전의 패키지 (samba, samba3x, samba4)를 업데이트하고 있습니다.

영향 받는 설정

Samba 서버가 도메인 멤버로 있는 Active Directory 인프라는 본 결함에 취약합니다. 중간 가로채기(man-in-the-middle) 공격자는 클라이언트로 가장하여 도메인 멤버와 도메인 컨트롤러 사이의 DCE/RPC 트래픽을 가로채기하여 인증된 사용자 계정과 동일한 권한을 얻을 수 있습니다.
파일 또는 인쇄 서버로 구성된 모든 Samba 서버도 본 결함에 취약합니다.

영향 받는 제품 업데이트

Red Hat Enterprise Linux 4 - Extended Lifecycle Support* samba (v3.0) RHSA-2016:0625
Red Hat Enterprise Linux 5 samba (v3.0) RHSA-2016:0621
Red Hat Enterprise Linux 5 samba3x (v3.6) RHSA-2016:0613
Red Hat Enterprise Linux 5.6 Long Life samba (v3.0) RHSA-2016:0623
Red Hat Enterprise Linux 5.6 Long Life samba3x (v3.6) RHSA-2016:0624
Red Hat Enterprise Linux 5.9 Long Life samba (v3.0) RHSA-2016:0623
Red Hat Enterprise Linux 5.9 Long Life samba3x (v3.6) RHSA-2016:0624
Red Hat Enterprise Linux 6 samba (v3.6) RHSA-2016:0611
Red Hat Enterprise Linux 6 samba4 (v4.0) RHSA-2016:0612
Red Hat Enterprise Linux 6.2 Advanced Update Support** samba (v3.6) RHSA-2016:0619
Red Hat Enterprise Linux 6.2 Advanced Update Support** samba4 (v4.0) RHSA-2016:0620
Red Hat Enterprise Linux 6.4 Advanced Update Support** samba (v3.6) RHSA-2016:0619
Red Hat Enterprise Linux 6.4 Advanced Update Support** samba4 (v4.0) RHSA-2016:0620
Red Hat Enterprise Linux 6.5 Advanced Update Support** samba (v3.6) RHSA-2016:0619
Red Hat Enterprise Linux 6.5 Advanced Update Support** samba4 (v4.0) RHSA-2016:0620
Red Hat Enterprise Linux 6.6 Extended Update Support samba (v3.6) RHSA-2016:0619
Red Hat Enterprise Linux 6.6 Extended Update Support samba4 (v4.0) RHSA-2016:0620
Red Hat Enterprise Linux 7 samba (v4.2) RHSA-2016:0612
Red Hat Enterprise Linux 7.1 Extended Update Support samba (v4.1) RHSA-2016:0618
Red Hat Gluster Storage 3 (EL6) samba (v4.2) RHSA-2016:0614
Red Hat Gluster Storage 3 (EL7) samba (v4.2) RHSA-2016:0614

*RHEL 4에서 이러한 패치에 액세스하려면 활성 ELS 서브스크립션이 필요합니다. 사용 계정에 활성 ELS 서브스크립션이 없을 경우 보다 자세한 내용은 Red Hat 영업팀 또는 영업 담당자에게 문의하시기 바랍니다.

Red Hat Enterprise Linux ELS (Extended Life Cycle Support) 애드온은 무엇입니까?

**RHEL 6.X AUS에서 이러한 패치에 액세스하려면 활성 AUS 서브스크립션이 필요합니다.

완화 방법

위험 완화 방법으로 수정 사항이 포함된 패키지가 적용될 때 까지 권한 계정을 사용하여 SMB/CIFS 서비스에 액세스하지 않습니다. 인증에 네트워크 통신이 필요하지 않도록 물리적 하드웨어 (콘솔, 서버)에 대한 관리 액세스를 제한합니다.

해결 방법

새로운 smb.conf 설정 옵션
이 업데이트에는 다음과 같은 새로운 smb.conf 파일 구성 옵션을 소개하고 있습니다:
allow dcerpc auth level connect (G)
이 옵션은 DCE/RPC 서비스가 인증 정보를 제공하지만 -메세지별 무결성 (SIGN) 또는 개인 정보 보호 (SEAL)를 제공하지 않는 DCERPC_AUTH_LEVEL_CONNECT와 함께 사용할 수 있는지에 대한 여부를 제어합니다.
SAMR, LSARPC,, netlogon과 같은 일부 인터페이스는 기본값이 no로 하드코딩되어 있으며 epmapper, mgmt, rpcecho는 기본값이 yes로 하드코딩되어 있습니다.
동작은 'allow dcerpc auth level connect:interface = yes'를 지정하여 인터페이스 이름 (예: lsarpc, , netlogon, samr, srvsvc, winreg, wkssvc)에 따라 덮어쓰기할 수 있습니다.
이 옵션은 특정 구현 -제한 사항보다 우선합니다. 예:
  • drsuapi 및 backupkey 프로토콜에는 DCERPC_AUTH_LEVEL_PRIVACY가 필요합니다.
  • dnsserver 프로토콜에는 DCERPC_AUTH_LEVEL_INTEGRITY가 필요합니다.
기본값: allow dcerpc auth level connect = no
예: allow dcerpc auth level connect = yes

Comments