독까의 이야기

# 1

신규 고객사의 서버를 세팅하던 중, 로컬 보안 정책 일부 수정을 위해 프로그램을 실행했다.

시작 - secpol.msc - 로컬 정책 - 보안 옵션 을 클릭했는데, 아래와 같은 오류 창이 호출 됐다.


신규 설치 된 서버 2대 와 테스트용으로 사용하는 서버에서 동일 증상이 확인 됐다. 

해당 장비들의 OS 는 Windows Server 2016 STD 이다. 



# 2

오류가 발생 된 서버들의 wsecedit.dll 파일을 확인해 본다. 

C:\Windows\System32\wsecedit.dll

파일의 수정 날짜가 2020.09.02 로 확인 된다. 

2020년 9월 보안 업데이트 후 파일이 변경 된 것으로 확인되었다. 


9월 보안 업데이트를 진행하지 않은 서버에서 보안 옵션 호출 및 파일 수정 날짜를 확인 한다.


보안 옵션 호출 정상이며, 파일 수정 날짜는 2020.04.08 로 확인된다. 



# 3

이전 버전의 wsecedit.dll 파일로 교체를 진행한다. 

보안 옵션 호출이 정상 실행되는 서버에서 wsecedit.dll 을 복사해서 임의 경로에 저장한다. 

여기서 두 가지 방법으로 파일 교체가 가능하다.

1) 서버 전원 종료 후 복구 모드 진입해서 CMD 에서 파일 덮어쓰기

2) wsecedit.dll 파일 사용자 권한 변경 후 삭제 / 이전 버전 파일 복사


1) 의 경우 전원 종료가 불가피하므로 지양한다. 따라서 2) 의 방식으로 해결 한다. 


일반적으로 system32 폴더 안의 파일들은 권한 문제로 삭제 및 덮어쓰기가 불가하다. 



CMD 실행 후 아래의 작업을 순차 진행한다. 


wsecedit.dll 파일의 소유권을 가져온다.

takeown /f C:\Windows\System32\wsecedit.dll 


사용자 계정에 권한을 부여한다.

cacls C:\Windows\System32\wsecedit.dll /G 사용자계정:F 


wsecedit.dll 파일을 삭제하고, 이전 버전의 파일로 대체한다.

del C:\Windows\System32\wsecedit.dll 

copy c:\wsecedit.dll c:\Windows\System32\


대체 된 파일의 수정 일자를 확인한다.

 dir -filename wsecedit.dll


이전 버전 파일로 대체 후 보안 옵션 호출 정상 확인 되었다. 



# 4

해당 오류가 Windows Server 2016 버전에 한해서 발생되는 문제인지는 명백히 확인이 되지 않았으나, 

9월 보안 업데이트를 진행한 Windows Server 2012 R2 서버에서 확인 된 wsecedit.dll 파일의 수정 일자는 2020.08.04 이다. 


보안 옵션 호출도 정상 실행된다. 



# 5

Windows Server 2016 OS 가 설치 된 서버는 2020년 9월 보안 업데이트는 넘어가는게 좋겠다. 

동일 커널을 사용하는 2019 에서도 문제가 발생할 것 같긴한데 위험을 감수하고 테스트 하고 싶지는 않다. 

MS 에서 빨리 해당 문제를 확인하고 패치를 진행해야 할텐데.