SECTION 16 윈도우 서버 보안
1. 윈도우 시스템의 구조
■개요
○5개의 링 기반 구조
-하드웨어 → 하드웨어 추상화(HAL, Hardware Abstraction Layer) → 마이크로 커널 → 각종 관리자 → 응용프로그램 순서
-커널모드 : 하드웨어 ~ 각종 관리자 까지
-사용자모드 : 응용프로그램 계층
■윈도우 시스템의 구조
○HAL
-하드웨어와 개발된 소프트웨어 간에 원활한 통신이 가능하도록 도와주는 번역자 역할
-프로그래머가 하드웨어에 독립적인 프로그램을 작성하도록 함
○마이크로 커널
-본래 커널의 역할을 여러 관리자에게 분담시키고 자신은 하드웨어와의 통신만을 제어함
-%SystemRoot%\system32\ntoskrnl.exe 파일이 그 역할을 수행
○입출력 관리자 : 시스템의 입출력을 제어함
○객체관리자 : 파일, 포트, 프로세스, 스레드와 같은 객체에 대한 정보를 제공
○보안참조 관리자 : 데이터나 시스템 자원의 제거, 허가, 거부함으로써 강제적 시스템 보안 설정 책임
○프로세스 관리자 : 스레드를 생성하고 요청
○로컬 프로시처 호출 : 프로세스는 서로의 메모리 공간을 침범하지 못하기 때문에 프로세스 간에 통신이 필요한 경우에는 이를 대신해 줄 수 있는 장치
○가상 메모리 관리자 : 페이징 사용
○Win32 서브 시스템
-32비트 응용 프로그램이 동작할 수 있게 도와주고, 기본적인 윈도우의 사용자 인터페이스를 제공
-비디오 디스플레이, 키보드, 마우스 등을 지원하는 서브 시스템
○POSIX (Potable Operating System Interface) - 유닉스 운영체계에 기반을 두고 있는 일련의 표준 운영체계 인터페이스
○보안 서브 시스템 : 사용자가 로그인할 때 데이터를 보호하고 운영체제가 이를 제어할 수 있도록 만든 서비스 시스템
○OS/2 서브 시스템 : OS/2와 호환을 위한 서브시스템
2. 윈도우의 특징
○GUI 환경 : 아이콘이라는 그림 명령을 통해 쉽게 프로그램 접근
○Plug&Play : 하드웨어를 자동으로 인식하여 환경 설정을 해 주는 기능
○단축 아이콘(바로가기) : 프로그램이나 데이터를 빠르고 편리하게 실행시키기 위해 원하는 위치에 생성
○멀티태스킹 : 한 번에 여러 가지 작업을 동시에 수행
○OLE(Object Linking Embedding) : 객체 연결 포함 기능으로 프로그램 간에 객체(그림, 표 등)을 교환
○다중 모니터 지원 : 최대 8대 모니터를 연결 하여 사용 가능
○정보의 전송 통합
-두 개 이상의 응용프로그램에서 작업하여 상호 간의 정보를 한 응용프로그램에서 다른 응용 프로그램으로 전송 통합 할 수 있음
-클립보드를 통해 이루어짐
3. 윈도우 파일 시스템
■FAT16(File Allocation Table, 파일 할당 테이블)
○어느 영역에 파일이 속해 있는지, 공간에 여유가 있는지, 또 어디에 각 파일이 디스크에 저장되어 있는지에 대한 정보를 중심으로 하는 테이블을 이용
○FAT16 - 2GB까지 한 파티션으로 설정 가능
■FAT32
○총 32비트의 클러스터를 가짐 : 32GB까지 한 파티션으로 설정 가능
○파일의 크기(4GB)와 파일 이름 길이의 제한이 있음
○호환성이 좋아 리눅스, MAC, 디지털카메라, 게임기 등 다른 운영체제에 정보를 옮길 때 유용함
○접근제어를 설정할 수 없어, 보안에 취약함
■NTFS
○접근제어가 적용된 파일 시스템
-개별폴더와 파일에 사용권한을 설정 가능
-각 파일과 폴더에 해당 계정만 접근할 수 있도록 암호화 가능
○결함관리 기능이 존재하여 FAT나 FAT32 보다 성능이 좋음
○감사(Auditing) 기능 : 누가 몇 시 몇 분에 파일을 열거나, 열려다 실패한 경우 로그 발생
○FAT16, FAT32에서 NTFS로 변환 가능 하지만, NTFS에서 FAT로 변환 불가능
○NTFS 디스크 구조
-PBS(Partition boot Sector) : 부팅에 필ㅇ한 최소한의 정보가 저장됨
-MFT(Master File Table) : 모든 파일과 디렉터리에 대한 파일 이름, 크기, 생성 시간 등 모든 정보가 저장
-시스템 파일 : 파일 오류 시 이를 복구는데 사용할 디스크 사용에 대한 로그 파일, 디스크 볼륨 이름 등 디스크 자체에 대한
-파일 영역 : 실제 데이터가 저장됨
■XP, Server 2000/2003 부팅 순서
○1) POST : 하드웨어 스스로 시스템에 문제가 없는지 기본사항 검사
○2) 부팅 관련 설정(CMOS) 로드 : BIOS는 CMOS에 설정된 시스템 설정 사항 및 부팅 관련 정보를 읽어 시스템에 적용
○3) MBR 로드 : 파티션 첫번째 섹터에 위치한 512바이트 영역, 기본 파일시스템 정보가 들어 있음
○4) NTLDR 실행 : Server 2000의 가능한 부팅 옵션을 보여줌
○5) NTDETECT.com 실행 : 하드웨어 검사
○6) 커널 로드
■윈도우 비스타, 7
○위의 MBR 로드까지(1~3까지) 같음
○4) 윈도우 부트 메니져 실행 : 실행가능한 OS 보여줌
○5) 윈도우 OS 로더(winload.exe) 실행 : 각종 장치 드라이브 로더
○5) 커널 로드
3. 윈도우 계정과 권한
■윈도우 기본 계정
○Administrator : 관리자 권한
○SYSTEM
-최고 권한을 가진 계정으로 관리자 권한 보다 높음
-사용자가 로그인 하지 못함
○Guest : 기본으로 설정된 익명 계정으로 삭제는 불가능 하지만 이름 수정은 가능, 사용 불가
■SID(Security Identifer)
○유닉스/리눅스의 UID, RUID 같이 윈도우 계정을 코드값으로 표현 한 것.
○구성 : 시스템 , 도메인 컨트롤러 , 시스템 고유 숫자 , 고유 ID 로 구성
-맨 마지막 고유 ID에서 관리자 = 500, guest = 501, 일반 사용자 = 1000번 이상
■윈도우 인증 과정
○1) Winlogon: 사용자가 입력한 계정과 비밀번호를 msgina.dll을 로드시켜 LSA에 전달.
○2) LSA:(Local Security Authority) 수행
-모든 계정의 로그인(로컬, 원격 모두 포함)에 대한 검증,
-시스템 자원 및 파일 등에 대한 접근 권한 검사
-이름과 SID매핑
-SRM이 생성한 감사 로그 기록
-전달받은 계정과 비밀번호를 검증하기 위해 NTLM 모듈을 로드하고 이를 통해 SAM에 접근
○3) SAM(Security Account Manager) 수행
-사용자/그룹 계정 정보에 대한 DB를 관리
-SAM 파일 위치는 대게Windows\system32\config\sam 임
-사용자 로그인 정보와 SAM 데이터베이스와 비교해서 일치 여부를 SRM에게 알림
○4) SRM(Security Reference Monitor) 수행
-사용자에게 SID를 부여
-SID에 기반하여 자원(파일, 디렉터리)에 대한 접근 허용 여부를 결정함
○로컬 로그인에서는 Kerberos가 필요없음
4. 공유자료 관리
■네트워크 드라이브
○설정 명령어 : C:\> net use [드라이브명]: \\[ip주소] (ex: net use z: \\10.10.10.10)
○해제 명령어 : C:\> net use /delete [드라이브명]
■디렉토리 및 파일에 접근 권한 설정하기
○NTFS 접근 권한은 누적됨
-특정 폴더의 권한에 그룹A에는 읽기 권한을, 그룹B에는 쓰기 권한을 주었을 때, 그룹 A와 그룹B에 속하는 사옹자는 읽기, 쓰기 권한을 모두 가지고 있음
○파일에 대한 접근 권한이 디렉터리 접근 권한 보다 우선(파일 > 디렉터리)
○권한이 중첩되면 허용보다 거부가 우선
■윈도우 기본 공유폴더와 관리
○윈도우 기본 공유 폴더
-C$, D$ : C나 D드라이브에 대한 관리목적 공유 폴더, 연결된 하드드라이브 문자수만큼 공유됨
-IPC$ : (Inter Process Communication) 프로세스간 통신을 위한 통로
ㆍ널 세션이라고도 함
ㆍ네트워크 프로그램 간 통신에서 클라이언트와 서버 사이를 임시로 연결하는 데 사용됨
ㆍ네트워크 서버의 원격 관리에 주로 사용
-ADMIN$: 윈도우 설치 폴더에 접근하는 관리목적 공유 폴더
○관리 방법
-이름을 어렵게 해도 침입자에게 들키므로 공유 리소스를 설정할 때 이름 끝에 ‘$’기호를 붙여 네트워크창에 리소스 목록에서 안나타나게 함
ㆍnet use [드라이브명]: \\[ip주소\설정대상드라이브]$
-숨겨진 공유폴더는 CMD 창에서 net share 치면 나옴
-C$, D$, ADMIN$ 공유가 숨겨져도 침입자가 매우 잘 알고 있으므로 공유를 비활성화
ㆍ기본 공유가 중지된 후 운영체제 재부팅되면 운영체제가 다시 자동으로 기본공유폴더 생성
ㆍ완전한 공유 폴더 제거는 레지스트리 편집기에서 DWORD를 새로 만들어 0으로 설정
5. 레지스트리 활용
■레지스트리 개념
○시스템(하드웨어, 운영체제, 응용소프트웨어)의 정보와 설정 정보 등을 담고 있는 일종의 데이터베이스
○레지스트리의 저장되는 정보
-하드웨어 장치 정보, 하드웨어가 사용하는 리소스
-윈도우 시작시 읽어들일 장치 드라이버 목록
-윈도우 내부 설정
-특정 형식 파일을 특정 응용프로그램에 연결시키는 파일 연결 데이터
-배경, 화면배색 등 인터페이스 설정
-시작 메뉴, 작업표시줄 설정
-인터넷, 네트워크 연결 설정
-탐색기, 인터넷 익스플로러 등 프로그램 설정
-타사 응용 소프트웨어 설정
○레지스트리 내에 저장된 데이터는 크게 6개의 루트기를 기준으로 하여 저장된다
■레지스트리 편집기
○레지스트리를 읽기, 수정, 추가, 삭제하기 위한 소프트웨어
○[시작]메뉴의 검색/실행 란에 regedit 또는 regedt32 입력
■레지스트리 루트키
○개념 : 레지스트리 내에 저장된 데이터는 크게 5개(또는 6개)의 루트기를 기준으로 하여 저장됨
-실질적으로 중요한 키는 'HKEY_LOCAL_MACHINE' 과 'HKEY_USERS' 두가지이며, 나머지 3개는 이 두키에 속한 하위키로 보셔도 무방할
○HKEY_CLASSES_ROOT(HKCR)
-각종 프로그램과 프로그램에 연결된 확장자 명에 대한 정보와 단축키, 윈도우 시스템에 들어 있는 개체와 응용프로그램과 자동화(OLE)에 관련된 정보 등을 저장
-위치 : HKCU\SOFTWARE\Class 및 HKLM\SOFTWARE\Class의 데이터들임.
○HKEY_CURRENT_USER(HKCU)
-현재 로그인된 사용자의 설정 정보를 저장
-위치 : \Documents and settings\
○HKEY_USERS(HKU)
-해당 컴퓨터에서 사용 중인 모든 계정 정보를 저장
-current_user 정보를 포함하며, 데스크탑 설정, 네트워크 연결 정보 등을 저장
○HKEY_LOCAL_MACHINE(HKLM)
-하드웨어, 소프트웨어, SAM, Security, 등 모든 설정 정보를 저장
-특히, 하드웨어와 해당 하드웨어를 구동 시키는데 필요한 드라이버와 설정사항이 저장되어 있음
○HKEY_CURRENT_CONFIG(HKCC)
-현재 하드웨어 대한 프로필
-HKEY_LOCAL_MACHINE 의 하위키인 Config키(디스플레이에 관한 세부설정, 폰트 종류, 프린터 등)의 내용을을 저장
-위치 : HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\Current
○HKEY_PERFORMANCE_DATA(HKPD)
-Windows의 성능을 모니터링 하기위한 데이터를 저장
-레지스트리 편집기에서 확인 할 수 없으나 윈도우 API의 레지스트리 명령어를 이용하여 볼 수 있음
■레지스트리 공격
○부팅 시 악성프로그램 구동시키기 위해 레지스트리 변조함
○악성코드 구동을 위해 사용되는 레지스트리는 HKCU, HKLM
6. 윈도우 서버 보안 설정
■기본적으로 방화벽을 사용
○지속적으로 방화벽 상태를 확인
-시작 > 제어판 > 시스템 및 보안 > Windows 방화벽 > 방화벽 상태 확인
○접근 허용할 Port 등록
■사용자 계정 보안 설정
○Administrator 계정 명 변경 : 잘 알려진 계정이므로 이름 변경할 것
-로컬 보안 정책 > 로컬 정책 > 보안 옵셥 > 계정: Administrator 계정 이름 바꾸기 > (마우스 우클릭) 속성
○Guest 계정은 불필요할 경우 삭제 함
○일반 사용자 계정 관리
-사용하지 않는 계정, 의심스러운 계정은 점검하고 삭제 함
-원격 터미널 접속 제한 : 서버관리자 > 구성 > 로컬 사용자 및 그룹 > 사용자 > 일반 사용자 계정 > (마우스 우클릭) 속성
○계정 잠금 정책 활성화
-특정 횟수 이상 로그인 실패한 경우, 지정한 시간 만큼 접속을 차단
○패스워드 정책
-패스워드의 경우 복잡도 증가, 최대사용기간, 최소길이, 취약한 패스워드 점검으로 안전한 패스워드 사용을 하게 함
○보안 로그 활성화
-계정 접속 정보를 이벤트 뷰어로 남기도록 설정
○관리자 그룹은 반드시 권한이 필요한 사용자만 권한이 부여되도록 함
■공유 관련 설정
○불필요한 공유제거
○C$, D$, ADMIN$ 같은 기본 공유는 제거
-제거 방법: net share 공유이름 /delete, 또는 레지스트리 수정
○IPC$는 삭제할 경우 다른 서비스가 실행되지 않을 수 있으므로 제거하지 않음
■SAM 파일 접근 통제
○SAM 파일은 사용자 계정 및 비번 담고 있어 접근 통제 및 권한 설정이 필요
■세션을 적절히 유지하기 위한 보안 설정
○NULL Session 접근 차단 : 비인가된 사용자가 NULL Session으로 인증 없이 접근하지 못하게 함
○방화벽, 라우터 등에서 차단 함
○세션 관리: 세션 타임아웃 설정하여 세션에 대한 지속적인 인증
○세션 하이재킹이나, 패킷 스니핑에 대응하기 위해 암호화
■실행되는 서비스 관리
○서비스 확인 : C:\> netstat –nao | more
○사용하지 않는 불필요한 서비스 중지
■원격 터미널 접속(RDP) 보안
○원격 터미널 포트 변경
-기본 포트(3389)에서 임의 포트로 변경하여 노출을 예방
-레지스트리 편집기(regedit)를 이용하여 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\Terminal Server\Wds\rdpwd\Tds\tcp에서 PortNumber 변경
■FTP 보안 설정
○FTP 계정을 추가
-사용자 계정을 생성하여, 해당 사용자 계정만 FTP로 접속 할 수 있도록 설정
○SSL 보안 FTP 통신을 허용함
■SMTP 보안 설정
○연결제어
-사용자 인증방식이 아닌 허용할 IP나 도메인을 지정하여 액세스를 제어
-관리도구 > IIS 관리자 > SMTP > (마우스 우클릭) SMTP 속성 > 액세스 탭 > 연결제어 > 연결
○릴레이 제한
-악성 스팸 메일의 중계 서버로 이용되는 것을 막기 위해 릴레이 가능한 IP나 도메인 등을 추가
-해당 IP또는 도메인 에서만 메일을 발송할 수 있도록 설정
-SMTP 속성 > 액세스 > 릴레이 제한 > 릴레이
■HTTP 보안 설정
○사용하지 않은 기본 페이지 삭제
-IIS 관리자 > 웹 서버 > 기본 문서
○웹 디렉터리별 HTTP Method 제한
-클라이언트에서 웹 서버로 요청을 보낼 때 접속 목적을 알리는 Method 에 대한 권한을 부여함
-Method 종류 : GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE, CONNECT
○요청 필터링 설정
-특정 URL에 대한 필터링, 특정 파일 확장자에 대한 필터링, HTTP 헤더의 길이 제한, HTTP의 특정 동사에 대한 필터링 등을 통해 프로토콜 및 콘텐츠 동작을 제한
■레지스트리 보안
○레지스트리 편집 제한
-일반 사용자는 UAC(User, account Control)에 의해 레지스트리 편집기를 사용 못하게함
-시작 – gpedit.msc (엔터) > 로컬 그룹 정책 편집기 > 로컬 컴퓨터 정책 > 사용자 구성 > 관리 템플릿 > 시스템 > 레지스트리 편집 도구 사용안함 (더블클릭)
○현재 레지스트리 상태를 백업하여 복원 가능하게 함
-레지스트리 편집기(regedit) > 파일 > 내보내기
■이벤트 뷰어 활용
○Windows에서 제공하는 시스템 로그를 찾고 관리하여 시스템 상태를 모니터링하고 문제를 해결하는데 필요한 도구
○윈도우 시스템 이벤트 로그 종류
-응용프로그램 로그 : SW 개발자가 이벤트를 남기는 형태로 기록됨.
-보안 로그 : 로그온 시도, 파일 생성/삭제 등 자원 사용 이벤트 (감사정책에 따름)
-시스템로그 : 시스템 구성 요소가 기록하는 것(예: 부팅시 드라이버 로드 안 될 경우)
-디렉터리로그 : active directory 서비스 문제(예: 서버와 글로벌 카탈로그 사이 연결 문제)
-파일 복제 서비스 로그 : 도메인 컨트롤러가 시스템 볼륨 변경 업데이트 동안 파일 복제 실패 같은 WINDOWS 파일 복제시 로그
-DNS 서버 로그: window dns 서비스 이벤트
7. Windows 네트워크 서비스
■윈도우 네트워크 방식
○Workgroup 방식
-인증 및 보안 정책을 시스템 별로 개별 관리
-소규모 네트워크 적합
-보안은 SAM DB에 의해 관리됨
-Active Directory를 구축 안하며, 다른 시스템에 접근시 사용자 계정과 암호 필요
○Domain 방식
-모든 계정의 인증과 보안 정책을 특정 서버에서 통합 관리
-지정된 권한대로 다른 컴퓨터에 사용자가 접근
-Active directory가 구축된 상태에서만 사용가능한 방식
■액티브 디렉토리 (Active Directory)
○사용자, 사용자 그룹, 네트웍 데이터 등을 하나로 통합 관리하는 새로운 인터페이스
○목적 : 윈도우 기반의 컴퓨터들을 위한 인증 서비스를 제공
'기타 > 공부하기' 카테고리의 다른 글
[정보보안기사] SECTION 15 클라이언트 보안 (0) | 2018.03.07 |
---|---|
[정보보안기사] SECTION 14 보안 운영체제 (0) | 2018.03.07 |
[정보보안기사] SECTION 13 운영체제 주요 구성기술 (0) | 2018.03.07 |
[정보보안기사] SECTION 08 접근통제 개요 (0) | 2018.03.06 |
[정보보안기사] SECTION 07 키, 난수 (0) | 2018.03.06 |