1. 계정 관리
(1) Administrator 계정 이름 변경
1) 개요
- 관리자 계정은 컴퓨터 전체에 대한 모든 권한을 가진 계정이므로 관리 필요
- 기본 관리자 계정명인 Administrator 그대로 사용할 경우, Brute Force Attack에 취약할 수 있다(윈도우 관리자 계정의 경우, 로그온 실패 횟수에 제한이 없는 특징을 악용).
2) 관리자 계정명 확인
- 제어판 -> 관리도구 -> 컴퓨터 관리 -> 로컬 사용자 및 그룹 -> 사용자 -> 계정 확인
3) 관리자 계정명 변경
- 제어판 -> 관리도구 -> 로컬보안정책 -> 로컬정책 -> 보안옵션 -> 계정:Administrator 계정 이름 바꾸기
(2) Guest 계정 사용 제한
1) 개요
- Guest 계정은 소프트웨어나 하드웨어 설치, 설정 변경, 암호 만들기 등을 할 수 없고, 외부 사용자가 컴퓨터를 잠시 접근할 수 있는 계정
- Guest 계정은 불특정 사용자의 시스템 접근을 허용하는 취약한 계정으로 사용제한을 권장하며, 불특정 다수의 접근이 필요한 경우에는 일반 사용자 계정을 생성하여 사용하도록 권장
2) Guest 계정 사용 제한
- 제어판 -> 관리도구 -> 컴퓨터 관리 -> 로컬 사용자 및 그룹 -> 사용자 -> Guest 계정 선택 후 계정 사용 안함 적용
(실행에서 lusrmgr.msc 입력하면 로컬 사용자 및 그룹으로 이동)
(3) 불필요한 계정 제거
- 제어판 -> 관리도구 -> 컴퓨터 관리 -> 로컬 사용자 및 그룹 -> 사용자 -> 불필요한 계정에 대해 삭제 또는 사용안함
(4) 관리자 그룹에 최소한의 사용자 포함
- 제어판 -> 관리도구 -> 컴퓨터 관리 -> 로컬 사용자 및 그룹 -> 그룹 -> Administrators 그룹에서 불필요한 계정 제거
(5) 암호/패스워드 정책 설정
- 제어판 -> 관리도구 -> 로컬보안정책 -> 계정 정책 -> 암호 정책
1) 패스워드 복잡성 설정
- 대소문자/숫자/특수문자 중에서 2가지 종류를 조합했을 때 10자리 이상, 3가지 이상 종류 조합했을 때 8자리 이상
2) 최근 패스워드 기억 설정
- 사용자가 최근 사용했던 패스워드를 동일하게 사용할 수 없도록 설정한다. 12개 이상 설정 권장
3) 패스워드 최대 사용기간 설정
- Brute Force Attack에 대비하여 최대 암호 사용 기간 90일 이하 권장, 계정 속성의 "암호 사용 기간 제한 없음" 해제
4) 패스워드 최소 사용기간 설정
- 패스워드 변경에 시간적 제약이 없다면 최근 패스워드 기억 설정을 무력화 시킬 수 있으므로 0보다 큰 값으로 설정 권장(일반적으로 1일 설정)
5) 패스워드 최소 길이 설정
- 최소 암호 길이 8자 이상 권장
6) 해독 가능한 암호화 사용 설정
- 해독 가능한 암호방식으로 저장할 경우, 공격자의 암호공격에 노출될 수 있다. 따라서 반드시 필요한 경우를 제외하고는 "사용안함" 설정
(6) 계정 잠금 정책
- 제어판 -> 관리도구 -> 로컬보안정책 -> 계정 정책 -> 계정 잠금 정책
1) 계정 잠금 기간
- 패스워드 틀린 횟수가 임계값에 도달했을 때, 지정한 시간동안 계정을 잠근다. 60분 이상 설정 권장
2) 계정 잠금 임계값
- 로그온 실패 횟수에 대한 제한으로서, 5이하의 값 권장(Administrator 계정은 잠기지 않는다)
3) 다음 시간 후 계정 잠금 수를 원래대로 설정
- 실패한 로그온 시도 후 실패한 로그온 시도 카운트가 0으로 설정될 때까지의 시간을 지정한다. 60분 이상 설정 권장
2. 서비스 관리
(1) 하드디스크 기본 공유 제거
1) 개요
- Windows는 프로그램 및 서비스를 네트워크나 컴퓨터 환경에서 관리하기 위해 시스템 기본 공유 항목을 자동 생성
- 하드디스크 기본 공유 : C$, D$ 등 -> 제거하지 않으면 기본 공유 폴더를 통해 인가받지 않은 사용자가 하드디스크 내 폴더나 파일에 접근하거나 바이러스 침투하는 경로가 될 수 있다.
- 원격 관리 및 IPC용 기본 공유 : ADMIN$, IPC$
- 하드디스크 기본 공유 설정시, 실행창에서 \\192.168.0.150(IP주소)\C$ 로 파일 접근 가능
2) 하드디스크 기본 공유 설정 확인
- 제어판 -> 관리도구 -> 컴퓨터 관리 -> 시스템 도구 -> 공유 폴더 -> 공유 -> C$나 D$ 등 확인
- cmd에서 net share 명령어
3) 하드디스크 기본 공유 제거
- cmd에서 net share C$ /del 하고 net share D$ /del 로 기본 공유 폴더 제거
- 단, 공유 중지를 해도 운영체제 재시작되면 재생성되므로 레지스트리 수정 필요
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 에서 AutoShareServer 0으로 설정
(2) 공유 권한 및 사용자 그룹 설정(기본 공유 폴더 제거하지 않은 경우)
- 공유 폴더에 Everyone 그룹이 포함되어 있으면 제3자에 의한 접근이 가능하므로 Everyone 그룹 제거해야 한다.
- 제어판 -> 관리도구 -> 컴퓨터 관리 -> 시스템 도구 -> 공유 폴더 -> 공유 -> 사용권한 확인, Everyone 그룹 제거
(3) 불필요한 서비스 제거
- 주요 취약 서비스 : Alerter(서버에서 클라이언트로 경고메시지 전송), Clipbook(서버 내 Clipbook을 다른 클라이언트와 공유), Messager(net send 명령어를 이용하여 클라이언트에 메시지 전송), Simple TCP/IP Services
- 제어판 -> 관리도구 -> 서비스 -> 불필요한 서비스 확인 후 사용안함 설정
- 서비스 시작 유형 : 사용안함(설치되어 있으나 실행되지 않음), 수동(다른 서비스나 응용프로그램에서 해당 기능 필요로 할 때만 시작함), 자동(부팅시 운영체제에 의해 시작함)
3. 로그 관리
(1) 감사 정책 설정
- 윈도우 운영체제에서의 감사 정책은 어떤 로그를 남길 것을 정의한 규칙이다.
- 제어판 -> 관리도구 -> 로컬보안정책 -> 로컬 정책 -> 감사 정책
- 감사 항목 설명
감사 항목 | 권장값 | 설명 |
개체 엑세스 | 감사안함 | 파일, 디렉터리, 레지스트리, 프린터 등의 객체에 대한 접근 성공/실패 여부를 기록할지를 결정 |
계정 관리 | 실패 | 사용자 계정 또는 그룹의 생성, 변경, 삭제, 암호의 설정 및 변경 등의 이벤트 성공/실패 로그를 기록 |
계정 로그온 이벤트 | 성공, 실패 | 도메인 계정에 대한 로그온 성공/실패 관련 이벤트 로그를 기록할지를 결정 |
권한 사용 | 실패 | 권한 사용의 성공/실패를 감사할 경우 사용자 권한을 이용하려고 할 때마다 이벤트 생성 |
디렉터리 서비스 엑세스 | 실패 | Active Directory 개체의 시스템 엑세스 컨트롤 목록(SACL)에 나열된 사용자가 해당 개체에 엑세스 시도할 때 이벤트 생성 |
로그온 이벤트 | 성공, 실패 | 로컬 계정에 대한 로그온/오프 성공/실패에 대한 이벤트 기록할지를 결정 |
시스템 이벤트 | 감사안함 | 시스템 시작, 종료, 보안 로그에 영향을 미치는 이벤트 등을 감사할지 여부를 결정 |
정책 변경 | 성공, 실패 | 감사 정책 변경의 성공/실패를 감사 |
프로세스 추적 | 감사안함 | 실행되는 프로세스에 대한 자세한 추적 정보를 감사하는 경우, 프로세스 생성/종료/핸들복제/간접 개체 엑세스와 같은 프로세스 관련 이벤트 감사할지 여부를 결정 |