독까의 이야기

특정 고객사를 대상으로 침해 피해 발생. 

윈도우 구버전에서 사용되는 SAM 잠금 도구 (Syskey) 를 이용한 시스템 잠금. (ko.wikipedia.org/wiki/SAM_%EC%9E%A0%EA%B8%88_%EB%8F%84%EA%B5%AC)

고객사 관리자 계정 패스워드가 노출되어 원격 접속이 가능하게 된 상태에서 syskey 로  잠금 추정.

C:\Windows\System32\config\RegBack 폴더에 기존 레지스트리 정보 파일이 있을 경우에는 복구 가능. 

 

1. Windows 설치 CD 를 이용하여 부팅.

복구 모드 진입 후 문제 해결 선택.

고급 옵션 - 명령 프롬프트 선택

 

2. CMD 에서 레지스트리 파일 복사

copy c:\windows\system32\config\regback c:\windows\system32\config

복사 완료되었으면 리부팅으로 복구 작업 완료 됨. 

윈도우 버전 업그레이드 문의가 주기적으로 들어와서 버전업 테스트를 한다.

이번 테스트는 Windows Server 2012 R2 에서 Windows Server 2019 로 바로 업그레이드가 되는지 확인해본다.

업그레이드야 되겠지만, 내부 프로그램 및 설정도 정상 작동되는지 확인하고자 한다.


# Windows Server 2019 설치 이미지 삽입 후 실행하면 아래와 같이 나온다. 그냥 권장 사항대로 클릭하고 넘어간다.


# GUI 환경이 필요하니까 두 번 째 항목으로 선택 후 진행 한다.


# 라이선스 관련 나오긴 하는데 그냥 동의 하고 넘어간다.


# 유지할 항목 선택 하라고 나오는데, 2008 에서 두 단계 이상 업그레이드 시에는 "개인 파일, 앱을 유지합니다." 가 선택이 안되는데 2012 에서는 가능하다.

Windows Server 2016 에서 기능 추가 된 업데이트 버전이 Windows Server 2019 이기 때문이 것 같다. 

윈도우 데스크톱으로 치면, 2015년에 발매 된 Windows 10 은 기능 추가 및 업데이트가 진행되어도 계속 10 네이밍을 쓰는 것과 마찬가지로 보면 될 듯 하다.

아래 링크에서 윈도우 버전별 기능 비교가 가능하니 참고.

https://www.microsoft.com/ko-kr/cloud-platform/windows-server-comparison


# 온라인으로 업데이트 다운로드 및 설치가 진행된다.

이러다가 리부팅 한 번 하고 나면 아래와 같이 2019 계열로 변경되고 또 업데이트를 한다. 언제 끝나냐.


# 리부팅 몇 번 반복되고 나서 2019 로 업그레이드가 되었다.


기존 설치 프로그램들 실행해보니 정상 작동 확인 되었다.


정품 인증은 2019 버전으로 다시 진행해야 된다.




# OS 업그레이드 테스트 종료

Windows Server 2008 R2 이하 버전 서버를 2019 까지 업그레이드 하려면

2008 -->> 2012 -->> 2019 순서대로 진행하면 될 것 같다.

2016 은 스킵해도 되니깐 어느 정도 이득 봤다고 볼 수 있지 않나 싶다.



# Windows Server 설치 및 업그레이드 MS 기술 문서

https://docs.microsoft.com/ko-kr/windows-server/get-started/installation-and-upgrade


# Windows Server 2012 이상 버전의 가장 오래된 VSS 백업 복사본 삭제 / 2008 이하는 안 됨


1) 백업 복사본이 여러 파티션에 저장되는 경우 / 저장 영역의 볼륨을 지정

CMD 

WBADMIN DELETE BACKUP -backupTarget:f: -deleteOldest 


2) 백업 복사본이 단일 파티션에 저장되는 경우

CMD 

WBADMIN DELETE BACKUP -deleteOldest


# 스케쥴러 등록시 

위 명령어 실행시 'y' 를 입력해야 정상 작동 되므로 스케쥴러에 등록시에는 아래와 같이 한다. 

1) 배치 파일 생성

oldest_vss_del.cmd

@echo off

echo y| wbadmin delete backup -deleteoldest 


2) 작업 스케쥴러 등록

설정에 맞게 알아서 등록



# 정해진 복사본 수량만 남기고 전부 삭제 / 백업 복사본이 여러 파티션에 저장되어 있어도 설정한 값의 복사본 수량만 남기고 전부 삭제 됨

백업 복사본이 과하게 저장된 서버의 경우 아래 명령어 실행

CMD

WBADMIN DELETE BACKUP -keepVersions:30




# 기타

vssadmin 의 delete 명령어를 이용해서 백업 복사본 리스트 삭제 가능한데, 아래와 같이 오류 메시지 출력하면서 안되는 경우가 있다. 

vssadmin delete shadows /for=H: /Oldest


 


이렇게 되면 

DiskShadow 툴을 이용해서 백업 복사본 삭제를 해야 하는데, 이 프로그램으로 삭제 진행하면 백업 복사본 리스트에 등록 된 항목은 삭제되지 않는다. 

삭제 된 백업 복사본이 사용한 만큼의 디스크 공간은 확보가 되는데, 리스트에는 삭제 된 백업 복사본 항목이 호출 된다. 

CMD

diskshadow

delete shadows oldest H:


스케쥴러에 등록해서 사용시에는 아래와 같이 한다.

1) 스크립트 파일 생성

oldest_vss_del.txt

delete shadows oldest H:


2) 작업 스케쥴러 등록

diskshadow.exe -s h:\oldest_vss_del.txt


카탈로그 전체를 날릴게 아니라면 그냥 이런 방식이라도 사용해야 한다. 

파워쉘로 가능할 것 같은데........테스트 후 추가 해야 할 것 같다.