서버 메시지 블록 서명 개요

이 문서에서는 SMB(서버 메시지 블록) 2.x 및 3.x 서명과 SMB 서명이 필요한지 여부를 확인하는 방법을 설명합니다.

소개

SMB 서명(보안 서명이라고도 함)은 SMB 프로토콜의 보안 메커니즘입니다. SMB 서명은 모든 SMB 메시지에 세션 키를 사용하여 생성된 서명이 포함되어 있음을 의미합니다. 클라이언트는 전체 메시지의 해시를 SMB 헤더의 서명 필드에 넣습니다.

SMB 서명은 Microsoft Windows 2000, Microsoft Windows NT 4.0 및 Microsoft Windows 98에 처음 등장했습니다. 서명 알고리즘은 시간이 지남에 따라 진화했습니다. SMB 2.02 서명은 SMB1에서 사용된 1990년대 후반의 이전 MD5 메서드를 대체하는 해시 기반 메시지 인증 코드(HMAC) SHA-256을 도입하여 개선되었습니다. SMB 3.0에 AES-CMAC 알고리즘이 추가되었습니다. Windows Server 2022 및 Windows 11 AES-128-GMAC 서명 가속을 추가했습니다. 최상의 성능과 보호 조합을 원하는 경우 최신 Windows 버전으로 업그레이드하는 것이 좋습니다.

SMB 서명이 연결을 보호하는 방법

전송 중에 누군가가 메시지를 변경하면 해시가 일치하지 않으며 SMB는 누군가가 데이터를 변조했음을 알 수 있습니다. 서명은 보낸 사람의 ID와 수신자의 ID도 확인합니다. 이렇게 하면 릴레이 공격이 방지됩니다. 세션 키가 강하게 시작되도록 NTLMv2 대신 Kerberos를 사용하는 것이 가장 좋습니다. IP 주소를 사용하여 공유에 연결하지 말고 CNAME 레코드를 사용하지 않거나 Kerberos 대신 NTLM을 사용합니다. 대신 Kerberos를 사용합니다. 자세한 내용은 DNS CNAME 레코드 대신 컴퓨터 이름 별칭 사용을 참조하세요.

SMB 서명에 대한 정책 위치

SMB 서명에 대한 정책은 컴퓨터 구성>Windows 설정보안 설정>>로컬 정책>보안 옵션에 있습니다.

  • Microsoft 네트워크 클라이언트: 디지털 서명 통신(항상)
    레지스트리 키: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
    레지스트리 값: RequireSecuritySignature
    데이터 형식: REG_DWORD
    데이터: 0(사용 안 함), 1(사용)
  • Microsoft 네트워크 클라이언트: 디지털 서명 통신(서버가 동의하는 경우)
    레지스트리 키: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
    레지스트리 값: EnableSecuritySignature
    데이터 형식: REG_DWORD
    데이터: 0(사용 안 함), 1(사용)
  • Microsoft 네트워크 서버: 디지털 서명 통신(항상)
    레지스트리 키: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters
    레지스트리 값: RequireSecuritySignature
    데이터 형식: REG_DWORD
    데이터: 0(사용 안 함), 1(사용)
  • Microsoft 네트워크 서버: 디지털 서명 통신(클라이언트가 동의하는 경우)
    레지스트리 키: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters
    레지스트리 값: EnableSecuritySignature
    데이터 형식: REG_DWORD
    데이터: 0(사용 안 함), 1(사용)

참고 이러한 정책에서 "always"는 SMB 서명이 필요하다는 것을 나타내고 , "서버가 동의하는 경우" 또는 "클라이언트가 동의하는 경우"는 SMB 서명이 사용하도록 설정되어 있음을 나타냅니다.

"RequireSecuritySignature" 및 "EnableSecuritySignature" 이해

SMB2+ 클라이언트 및 SMB2+ 서버에 대한 EnableSecuritySignature 레지스트리 설정은 무시됩니다. 따라서 이 설정은 SMB1을 사용하지 않는 한 아무 것도 수행하지 않습니다. SMB 2.02 이상 서명은 필요 여부에 의해서만 제어됩니다. 이 설정은 서버 또는 클라이언트에 SMB 서명이 필요한 경우에 사용됩니다. 둘 다 서명이 0 으로 설정된 경우에만 서명이 발생하지 않습니다.

- 서버 – RequireSecuritySignature=1 서버 – RequireSecuritySignature=0
클라이언트 – RequireSecuritySignature=1 서명 서명
클라이언트 – RequireSecuritySignature=0 서명 서명되지 않음

참조

신뢰도를 사용하여 SMB 서명 구성

SMB 클라이언트 방어를 통해 가로채기 공격으로부터 사용자를 방어하는 방법

Windows 10 SMB 2 및 SMB 3 보안: 서명 및 암호화 키 분석

SMBv1은 기본적으로 Windows 10 버전 1709, Windows Server 버전 1709 이상 버전에 설치되지 않습니다.

Netdom 컴퓨터 이름