SAM(Security Accounts Manager), 캐시된 로그온 정보?

이는 도메인 서비스 환경에서 사용자가 도메인 서비스에 연결이 되지 않을 때, 특정 횟수 동안 도메인 연결없이 기존 로그인한 정보를 토대로 시스템에 로그인을 허용하는 것을 말한다.

즉, 기존 로그인 성공한 계정을 통해 일정 횟수동안 패스워드가 맞다면, 도메인 연결이 되지 않아도 로그인을 할 수 있다.

 

이는 보안상으로 볼때는 좋지 않으나, 사용자 입장에서 네트워크가 불가능 할 때 시스템에 접근할 수 있는 편의성의 제공한다.

 

아래 값을 조절하여, 캐시된 로그인 허용 건수를 조절 할 수 있다.

0을 기입하면, 캐시된 로그인을 허용하지 않게 된다.

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\Winlogon\

ValueName: CachedLogonsCount

형식: REG_SZ

값: 0 – 50

[내용]레지스트리에 설정된 캐시된 로그인 허용 개수

 

하지만 사용자 편의성이 증가한 만큼 보안적으로는 로그인 정보를 로컬에서 가지고 있기 때문에, 좋지 않은 설정이라고 할 수 있다. 해당 부분에 대해서는 이후 SAM database에서 다루겠다.

-박스종료-

 

SAM(Security Accounts Manager)

서비스 사용자 이름과 로컬 시스템 그룹들이 저장된 데이터베이스를 관리한다.(동일한 이름의 파일 sam은 바로 다음에 설명된다. 여기서 SAM은 약어로 역활을 뜻한다.)

이러한 서비스 들은 LSASS에 실행되는 Lsasrv.dll(%Systemroot%\System32\samsrv.dll)에서 구현된다.

 

SAM Database(Registry)

로컬의 사용자 및 그룹을 저장하고 있으며 해당 패스워드와 그 밖의 속성들을 저장한다.

이 데이터베이스는 레지스트리 HKEY_LOCAL_MACHINE\SAM에 위치하며,

실제 파일은 %Systemroot%\System32\config\sam으로 레지스트리로 하이브된다.

SAM파일은 계정 보안과 관련해 중요하므로 내부까지 자세히 알아보도록 하자.

단지 이부분은 도메인 로그인이 아닌 로컬 로그인시 사용되는 부분이다.(도메인 환경에서는 Ntds.dit라는 별도 데이터베이스를 이용하여 계정을 관리한다.)

윈도우에서 계정들은 SID(Security ID)로 관리되는데 각 SID는 환경설정 정보는 HKEY_USERS에서, 보안관련 정보는 이 SAM 파일과 보안 설정등이 연결되어 사용된다.

그럼 각 SID의 구성 값들을 확인해 보자

SID는 크게 4개의 값으로 구분할 수 있으며, 하위 권한 식별이 필요시 –A가 추가되는 구조이다.

S-R-I-A[-A]

S: 고정된 값

S = Identifies a SID.

R: 보정값

1 = 현재는 1이 사용된다. 변경될 수 있다.

I: 권한 식별

    0 = Null, 1 = World (Everyone), 2 = Local, 3 = Creator, 4 = non-unique ID,

5 = NT authority

A: 하위 권한 식별

0 = null, 1 = dialup, 2 = network, 3 = batch, 4 = interactive, 5 = logon, 6 = service,

7 = anon logon, 8 = proxy, 21 = NT non-builtin IDs, 32 = NT built-in

 


S-1-1-0 = Null (Everyone을 의미함)

S-1-5-21-1017080363-1132274894-948791989-500 = Administrator 계정을 의미함

S-1-5-32-545 = 로컬 유저 그룹을 의미함

Facebook Comments

Leave A Reply

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.