독까의 이야기

# 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 에서 빨리 해당 문제를 확인하고 패치를 진행해야 할텐데. 


일반적으로 윈도우 데스크탑, SERVER OS 를 이용하는 사용자들은 MS 에서 매달 제공하는 윈도우 업데이트를 진행한다.

MS 서버에 등록 된 업데이트 파일을 다운로드 및 설치를 하게 되는데, 해당 기능을 업데이트 전용 서버 구축을 통해 내부적으로도 이용이 가능하다. 

윈도우 서버에서 제공하는 WSUS (Windows Server Update Services) 구축 및 테스트를 진행한다. 


구성 서버 : WSUS 기반 서버 (W1) / 클라이언트 서버 1 (C1) / 클라이언트 서버 2 (C2)

OS : Windows 2012 R2 STD


# 1 서비스 설치 


W1 서버 관리자에서 역할 및 기능 추가



Default 로 쭉쭉 간다. 


컨텐츠 위치 선택에서 임의 지정한 경로를 입력한다. 



IIS 설치 관련도 그냥 Default 로 간다. 



설치 완료 후, Windows Server Update Services 를 실행하면, 아래와 같이 나오는데 그냥 실행 하면 된다. 

설치 완료까지 시간이 소요 될 수 있다. 



설치 마법사 나오는데 또 Default 로 간다. 



업스트림 서버에 연결 부분에서 시간이 많이 소요되는 것 같다. 서버나 네트워크 환경에 따라 달라질 것 같다. 



언어 선택도 그냥 Default 로 간다. 



업데이트 제품 선택이 나오는데 Default 로 정해진 옵션을 사용해도 되고, 원하는 항목을 추가해도 된다.

선택 항목에 따라 다운로드 해야하는 파일이 증가한다. 

테스트 목적이기 때문에 Windows Server 2012 R2 항목만 체크했다. 

업데이트 제품은 나중에도 추가, 제거 가능하다. 



업데잍 등급 선택이 나오는데 이것도 나중에 추가, 제거 가능하니깐 Default 로 간다. 



동기화 일정도 본인이 편한대로 하면 된다. 대부분 자동을 선택하겠지만. 



마무리 단계에서 초기 동기화 시작을 체크하고 다음을 진행한다. 




업데이트 서비스 실행하면 이런 화면을 볼 수 있다. 추가 구성은 클라이언트 세팅 후 한다. 





# 2 클라이언트 환경 설정


C1, C2 에서는 W1 에서 업데이트 항목을 받아오는 설정을 진행해야 한다. 


실행에서 gpedit.msc 입력 



컴퓨터 구성 - 관리 템플릿 - Windows 구성 요소 - Windows 업데이트 - 인트라넷 Microsoft 업데이트 서비스 위치 지정 선택



상태 : 사용

옵션에는 W1 의 주소값을 입력한다. (ex: http://W1:8530) / 내 경우에는 hosts 파일에 아이피 호스트명을 직접 등록했기 때문에 예시와 같이 설정이 가능하다. 

일반적으로는 http://192.168.1.5:8530 으로 입력한다. 



설정 했으면 실행에서 gpupdate /force 입력해서 적용해준다. 



레지스트리에서 확인하면 아래와 같다. 


[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]




업데이트 실행하면 "시스템 관리자가 관리합니다." 로 변경되어 있음을 확인 할 수 있다. 

하단 "Windows 업데이트에서 온라인 업데이트 확인" 누르면 기존처럼 MS 업데이트 서버에서 다운로드 되니깐 본인 편한대로 하면 된다. 





# 3 업데이트 항목 호출


W1 으로 돌아와서 컴퓨터 카테고리를 누르면 C1, C2 가 추가 된 것을 확인 할 수 있다. 

그룹에 할당되지 않았기 때문에 "할당되지 않은 컴퓨터 그룹"에 자동으로 들어간다. 

표시되는 정보는 클라이언트의 정보를 그대로 갖고 오기 때문에 수정은 안 된다. 


테스트용 그룹을 만들어서 그룹 이동을 진행한다. 



그룹 구성원 변경 확인 되었다. 



업데이트 카테고리- 모든 업데이트 - 전체 선택 - 우클릭 - 승인 - WSUS_TEST 그룹 선택 - 설치 승인




C1 을 선택 후 상태 보고서를 실행하면 업데이트 현황에 대해 확인 가능하다. 

OS 설치 후 업데이트를 진행하지 않았기 때문에 설치 내역을 확인 할수가 없다. 



W1 을 통해 다운로드 및 설치 가능한 업데이트 항목을 확인 할 수 있다. 



C1, C2 에서 업데이트 확인을 다시 누르면 설치 가능 업데이트 항목이 출력 된다. 




WSUS 를 통해서 업데이트하면 수동으로 업데이트 승인 및 선택, 설치를 해야하기 때문에 번거로울 수 있으나, 특정 업데이트만 설치를 하고자 할 경우에는 유용 할 수 있다. (WSUS 에 해당 업데이트 파일이 존재해야 함)

물론 특정 업데이트도 MS 업데이트 카탈로그에서 검색하면 다운로드 받을 수 있다. (https://www.catalog.update.microsoft.com/Home.aspx)



MS 를 통한 보안 업데이트시에는 아래와 같이 자동으로 필요한 항목들에 대해서만 정보를 갖고 온다. 



그러므로 가급적이면 MS 업데이트 사용을 권장한다. 


폐쇄망 네트워크로 인해 외부 접근이 용이하지 않은 업체에서나 WSUS 기능을 이용하는 것이지, 일반 네트워크 환경은 MS 업데이트를 이용하는 것이 낫다.

굳이 불편을 감수할 필요는 없을 것 같다. 


간혹 MS 업데이트 서비스 비정상 작동으로 80072EE2 오류 코드 출력될 때 이용하는 것도 좋은 방법이다. 

2018.05월 MS 보안 업데이트 (KB 4093120)를 진행 한 일부 사용자들에게서 원격 접속 (RDP) 불가 관련 이슈가 발생하고 있다. 


MS 에서 2018.03월에 CredSSP 업데이트 공지를 한 바 있으며, 4월 패치 진행시 컴퓨터 구성 -> 관리 템플릿 -> 시스템 -> 자격 증명 위임 항목에 "Encryption Oracle Remediation" 이 추가 된 것을 확인 할 수 있다. 


5월 패치 진행시 "Encryption Oracle Remediation" 이 "암호화 Oracle 수정" 로 변경 됨을 확인 하였다. 


테스트를 위하여 Windows 2016 OS 가 설치 된 서버에서 5월 패치 진행 후, 5월 패치를 진행하지 않은 Win 8.1 PC 에서 접속시 정상 접속이 가능 했다. 


5월 패치 적용 된 서버에서 "암호화 Oracle 수정" 구성하지 않을 경우, 패치 여부와 상관 없이 클라이언트 접속이 가능한 것으로 확인 된다. 


만약 클라이언트에서 서버로 접근이 불가능 할 경우, "암호화 Oracle 수정" 을 사용 으로 변경 하고 보호 수준을 "취약" 으로 설정하면 접근이 가능하다. 


MS 기술 문서 링크를 확인하면 좋을 듯 하다. 


https://support.microsoft.com/ko-kr/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018


# 추가 

시스템 - 원격 설정 - 원격 데스크톱 설정 부분에서 "네트워크 수준 인증을 사용하여 원격 데스크톱을 실행하는 컴퓨터에서만 연결 허용(권장)" 을 체크 해제시에는 접속 오류 발생하지 않는 것으로 확인 되었다.