보안기사/01. 시스템 보안

1. 윈도우 기본 학습

이우정 2022. 3. 30. 13:12
728x90

(1) 윈도우 인증 과정

1) 윈도우 인증 구성요소

- LSA : Local Security Authority

시스템 보안 정책 강화를 위한 윈도우 프로세스 (= 보안 서브시스템 Security Subsystem)

lsass.exe가 강제종료되면 재부팅 유발 (중요한 시스템 파일이라 악성 코드에 사칭될 수 있기 때문)

모든 계정 로그인 검증 (로컬 및 원격 로그인에 대한 검증 수행) / 시스템 자원 접근 권한 검사 / SRM이 생성한 감사 로그 기록 (계정명과 SID(Security ID)를 매칭하여) / NT 보안의 중심 서비스

 

- SAM : Security Account Manager

사용자, 그룹 계정 및 암호화된 패스워드정보를 저장하는 DB(SAM 파일) 관리

사용자/그룹 계정 정보 DB 관리 / 사용자 로그인 정보 (<- 비교 ->) SAM 파일의 사용자 패스워드 정보 => 인증 여부 결정 /

- SRM : Service Reference Monitor

인증된 사용자에게 SID(Security ID)를 부여

SID를 기반으로 파일 접근 허용 여부 결정 / 감사 메시지 생성 (LSA가 기록)

 


2) 로컬 인증

(1) (로그인 프로세스 시작) 윈도우 부팅 -> 로그인 창(Winlogon)화면 -> 아이디 & 패스워드 입력 -> LSA 서브시스템이 인증 정보 받음 -> NTLM 모듈에 넘김 -> SAM이 로그인 처리 => 접근 토큰 전달 (로그인 프로세스 완료)

 

Winlogon : 로그온 시 사용자 프로필을 로드, 화면 보호기 실행 중일 때 컴퓨터를 잠그는 역할

LSA : 사용자 로그인 검증

NTLM : NT Lan Manager - 윈도우 NT 인증 프로토콜 

* NT : 마이크로소프트가 개발한 운영체제의 커널

* NTLM 인증 흐름

Negotiate_Message (클라이언트 이름, 사용할 NTLM 버전, 해싱 방식 등)

Challenge_Message (서버가 임의로 생성한 Challenge 값 전달)

Authenticate_Message (암호를 기반으로 challenge 값을 해시 값으로 만들어 전달)

유저 응답 유효한지 확인 후 인증 완료

 

3) 원격(도메인) 인증

(1) 윈도우 부팅 -> 로그인 창(Winlogon 화면) -> 아이디 패스워드 입력 -> LSA 서브시스템이 인증 정보 받음 -> 로컬인증용인지 도메인 인증용인지 확인 => (도메인 인증임을 확인) -> 커버로스(kerberos) 프로토콜로 "도메인 컨트롤러"에 인증 요청

(2) 도메인 컨트롤러 : 인증 정보 확인, 접속하고자 하는 사용자에게 접근 토큰 부여 -> 해당 권한으로 프로세스 진행

 

* 도메인 : 가장 기본 단위, AD가 설치된 윈도우 서버가 하나의 도메인

* 윈도우 서버 도메인 (Windows Server Domain) : 윈도우 운영 체제가 설치된 컴퓨터들이 공용 디렉터리 DB를 공유하며 네트워크를 통해 참가하는 논리적 그룹, 서버를 중심으로 묶여 있음, 중앙 서버에서 설정한 인증 정보 적용

 * 도메인 컨트롤러 : 해당 도메인에 위치하여 도메인안의 여러 리소스를 사용하고자하는 사용자에게 이름, 암호를 받아 도메인 안에서 맘껏 돌아다니도록 해주는 인증 서비스

* Directory Service : 중앙 서버에 공통 DB를 두고 사용자 인증 및 권한 부여해 데이터를 사용하도록 하는 서비스

 

- 한 컴퓨터가 서버가 되어 AD를 설치하고 하나의 도메인이 된다. 다른 PC들을 클라이언트로써 연결 시키고 DNS 서버를 서버 컴퓨터의 IP로 설치한다. 본인을 서버에 연결시키는 것.

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=9674qzq&logNo=221468035149 

 

[Windows Server] (1)Active Directory 설치 및 유저 등록하기

<환경> Windows 10(HOST PC) VirtualBox Windows server 2016(GUEST PC/AD Serv...

blog.naver.com


https://haker.tistory.com/60

 

2. 액티브 디렉토리, 도메인 컨트롤러(DC), 글로벌 카탈로그(GC), 그룹

3. 액티브 디렉토리 1) 액티브 디렉토리의 이해 - 윈도우 서버에서 사용자, 그룹 등을 포함한 여러 관리 정보들 쉽게 찾을 수 있도록 모아두는 전반적 체계 - 여러 자원을 일괄적으로 관리 가능 -

haker.tistory.com

액티브 디렉토리

1) 액티브 디렉토리의 이해

- 윈도우 서버에서 사용자, 그룹 등을 포함한 여러 관리 정보들 쉽게 찾을 수 있도록 모아두는 전반적 체계

- 여러 자원을 일괄적으로 관리 가능

- 윈도우 운영체제가 설치된 클라이언트들을 묶어 관리하기 편리

- 도메인(Domain) 단위로 컴퓨터 자원 관리 가능

- 규모가 작은 기업 : 네트워크 패킷 증가, 속도 감소 등 문제 발생 가능

- 충분한 학습 후 도입 필요

 

2) AD 장점

- 여러 컴퓨터를 하나로 묶어 통합 관리

- 사용자 계정 인증 관리 중앙 처리 -> 보안상 안정

- 그룹 정책으로 각 컴퓨터 중앙 관리

- 관리 위임, 디렉터리 정보 복제, DNS와의 통합 관리 등

 

3) 액티브 디렉터리 (AD)

* AD는 기본적으로 AD DS를 지칭

Active Directory (AD) 설명
AD DS (Domain Services) AD 구성시 해당 역할을 추가한 후 설정
AD FS (Federation Services - Federatin = 연방, 연합) Domain Federation 및 웹 기반 단일 로그인 관리
- 사용자 계정과 응용 프로그램이 완전히 다른 네트워크나 조직에 있을 때 액세스 가능하도록 웹 기반 클라이언트를 제공하는 ID 액세스 솔루션 (SSO 제공) 
* SSO (Single Sign On) : 한번의 로그인으로 다른 시스템 및 사이트에서 사용자 정보 관리 수행
AD LDS (AD Lightweight Directory Services) LDAP 디렉토리 방식 구현
AD RMS (AD Rights Management Services) AD 권한 관리 및 정보보호
AD CS (AD Certificate Services) 인증서 및 공개키 관리

 

4) Workgroup VS Active Directory 

  Workgroup Active Directory
인증  각 컴퓨터마다 계정 존재, 권한 부여 받아야 함 DC에서 한번 권한을 설정해두면 GC를 통해 하나의 계쩡으로 사용 가능
자원 관리 각 컴퓨터에 직접 가서 로그인 후 자원 관리 직접 컴퓨터에 가지 않고 GC를 통해 관리 가능 

* GC : Global Catalog : 도메인 내 개체 정보 모음 DB

 

5) 도메인 (Domain)

- AD의 기본 단위, AD의 영향이 미치는 범위

- 관리를 위해 범위를 구분 짓는 역할

- 자식 도메인에 구성된 모든 기능, 부모 도메인이 접근 가능

 

6) 도메인 컨트롤러 (DC, Domain Controller)

- 도메인 관리 서버

- 도메인 내 공통 정보 보유

- 도메인 당 최소 한 개 이상 구성

 

7) OU (Organization Unit) 조직 단위

- 도메인 내 AD에 존재하는 개체를 그룹으로 관리하는 단위 (도메인 내 폴더)

- 사용자 계정, 서비스 계정 또는 컴퓨터 계정과 같은 개체를 논리적으로 그룹화

- 조직 구성 단위 별로 그룹 정책 설정, 컴퓨터 관리

 

8) 트러스트 관계 (Trust Relationship)

- 서로 다른 도메인으로 AD 확장할 때의 신뢰 관계

- 단방향, 양방향 연결 가능

- 전이적 및 비전이적 설정 가능

- 부모 및 자식 트러스트, 트리-루트 트러스트, 프리스트 트러스트, 영역 트러스트, 외부 트러스트

* 트리 : 도메인의 집합

* 포리스트 : 하나 이상의 도메인을 그룹화하는데 사용되는 논리적 구문

(도메인 < 트리 < 포리스트)

 

9) 글로벌 카탈로그 (GC, Global Catalog)

- 포리스트 내 모든 도메인에 있는 개체에 대한 정보를 모아 놓은 DB

- GC를 이용해 자주 사용하는 개체의 사본을 저장하여 효율적인 검색 가능

 

10) 읽기 전용 도메인 컨트롤러 (RODC, Read Only Domain, Controller)

- 데이터 추가 및 변경 불가 도메인 컨트롤러

- 주 DC에서 데이터를 받아 사용

- 본사와 멀리 떨어진 곳에서 DC 부하를 분담하기 위해 사용

 

11) 그룹의 종류

(1) 배포 그룹 : 권한 부여용으로는 사용 불가, but 이메일 배포 가능

(2) 보안 그룹 : 접근 권한 및 사용자 권한 부여 목적

그룹 범위 설명
Domain Local Group 조인 대상 : 포리스트 내 모든 사용자 및 컴퓨터
공유 범위 : 해당 도메인 내 자원
Global Group 조인 대상 : 해당 도메인 내의 사용자 및 컴퓨터
공유 범위 : 포르스트 내 모든 자원
Universal Group 조인 대상 : 포리스트 내 모든 사용자 및 컴퓨터
공유 범위 : 포리스트 내 모든 자원
도메인 로컬 + 글로벌 그룹 형태

 

12) 그룹의 편성

(1) 그룹 전략 : 그룹을 편성하여 업무 진행에 효율성 증대

(2) 명칭

- A : 사용자 계정

- DL : 도메인 로컬 그룹

- G : 글로벌 그룹

- U : 유니버설 그룹

- P : 권한

- L : 로컬 그룹 (DL과 같은 의미로 이전 버전에서 사용)

(3) 권장 그룹 : AGP, ADLP, AGLP = AGDLP, AGUDLP

 

13) OU (Origanization Unit) vs Group

- OU : 정책 관리용

- 그룹 : 공유 및 권한 부여용


4) SAM 파일 접근 통제 설정 (시스템 취약점 분석 및 평가 항목)

* LSA : lsass.exe : 계정 로그인 검증, NT 보안 중심 서비스
* SAM : 사용자, 그룹 계정 및 암호화된 PW 저장 파일(SAM 파일) 관리
* SRM : 사용자 SID 부여, 파일 접근 허용 여부 결정

 

SAM을 통해 패스워드 관리, LSA를 통한 인증 제공 등 중요한 파일

- 접근 통제 필요

- 패스퉈드 공격 시도에 따른 정보 노출 위험 존재

- Administrator 및 System 외에는 접근 제한

- everyone과 같이 불필요한 그룹 및 계정은 권한 제거


(2) 윈도우 보안 식별자(SID : Security Identifier)

1) 개요

SID(보안 식별자) : 사용자, 그룹에 부여되는 고유한 식별번호, SAM 파일에 저장됨

사용자 로그인 -> 접근 토큰(액세스 토큰) : 로그인 사용자와 사용자가 속한 모든 작업 그룹의 SID 정보 담김

-> 접근 토큰 사본이 사용자가 시작한 모든 프로세스에 할당

 

2) SID 구조

https://schmidtiana95.tistory.com/entry/%EC%8B%9C%EC%8A%A4%ED%85%9C1-2-%EC%9C%88%EB%8F%84%EC%9A%B0-%EB%B3%B4%EC%95%88-%EC%8B%9D%EB%B3%84%EC%9E%90

윈도우 관리명령 콘솔 (WMIC : Windows Management Instruction Console)로 확인 가능

실행 > wmic > useraccount list brief 명령 실행

WMI (Windows Management Instrumentation) : Windows 드라이버 모델의 확장 집합

WMIC.exe : WMI (Windows Management Instrumentation)에 액세스하는 데 사용되는 console 유틸리티

WMIC 명령어로 시스템 정보를 확인할 수 있다. 

 

걔정별 SID 구조

계 정 SID
Administrator S-1-5-21-[10자]-[10자]-[10자]-500
Guest S-1-5-21-[         30자         ]-501 
일반 사용자 S-1-5-21-[         30자         ]-1001

S-1 : 윈도우 시스템

5-21 : 시스템이 도메인 컨트롤러 이거나 단독 시스템임

[30자] : 시스템 고유 식별자, 컴퓨터에 깔리는 윈도우 별로 다름 (동일 컴퓨터에 다시 깔아도 동일한 값 X)

사용자 식별자 (ID)

- 500 : 관리자 / 501 : 게스트 / 1000 이상 : 일반사용자

+ WDAGUtilityAccount (Windows Defender Application Guard 유틸리티계정) : Windows Defender Application Guard에서 관리하고 사용하는 시스템 계정

마이크로소프트에 따르면 WDAG가 활성화되고 사용자가 PC에 대한 공격을 실행할 수 있는 감염된 사이트를 방문하면 해당 사이트는 가상화를 기반으로 별도의 컨테이너에서 열립니다. 취약한 웹사이트가 공격을 하면 가상화 기반의 컨테이너에서 열려 있기 때문에 이러한 공격은 성공하지 못합니다.

 

 


 

728x90