외로운 Nova의 작업실

정보보안기사 필기 - 13(윈도우 서버 보안) 본문

Certification/정보보안기사

정보보안기사 필기 - 13(윈도우 서버 보안)

Nova_ 2022. 11. 16. 15:11

- 윈도우 파일 시스템

  • FAT16 : 파일의 최소단위인 cluster(32KB)를 2^16개 만들수 있다. 따라서 총 용량은 2GB이다. 하지만 얼마 지나지않아 작은 용량으로 여겨지고 이를 해결한 것이 FAT32이다.
  • FAT32 : 파일의 최소단위인 cluster(32KB)를 2^32개 만들 수 있다. 따라서 총 용량은 128TB 이다. 하지만, 접근제어를 설정할 수 없다는 큰 문제점이 있어서 보안과는 거리가 먼 파일 시스템이다.
  • NTFS(new technology file system) : 개별 폴더와 사용권한을 설정할 수 있고, 각 파일과 폴더에 해당 계정만 접근하여 읽을 수 있게 암호화할 수 있다. 암호화된 폴더나 파일은 복사나 이동해도 암호화 속성을 잃지않는다. 또한, 특정 계정의 사람이 언제 파일을 열었는지 감사 기능도 제공한다. 이에따라 NTFS 파일시스템은 보안관점에서 비교적 훌륭하다.

 

<NTFS 파일 시스템 구조>

  • MBR(master boot record) : 파티션 생성시 물리적 디스크의 첫번째 섹터에 위치하는 512-Byte 크기의 영역입니다. MBR은 부트 코드, 파티션 테이블, 시그니처로 구성되어있으며 운영체제가 부팅될때 BIOS에 의해 POST(power on self test) 과정을 마친후 MBR의 부트코드를 호출하고 부트코드는 파티션 테이블에서 부팅 가능한 파티션을 찾아 해당 파티션 VBR의 부트코드를 호출하여 운영체제를 가동시킵니다.
  • VBR(volume boot record) : 윈도우 부팅을 위한 기계어 코드와 볼륨 및 클러스터의 크기, MFT의 시작주소 등 설정 정보를 담고 있으며 파티션의 가장 마지막 섹터에 VBR 백업본을 가지고 있습니다.
  • MFT(master file table) : 파일 시스템에 존재하는 모든 파일과 디렉터리에 대한 정보를 담고 있는 테이블로 NTFS에서 가장 중요한 영역입니다. 파일의 위치, 시간 정보, 크기, 파일 이름 등 다양한 속성 정보들을 담고 있는 자료구조 입니다.
  • 시스템 파일 : 시스템이 오류를 일으키면 복구하는데 사용할 로그파일, 디스크 볼륨 이름등 디스크 자체에대한 정보를 담는 파일이 저장됩니다.
  • 파일 영역 : 각 파일에대한 실제 데이터가 저장됩니다.

 

- 디스크 파괴형 악성코드 특징 및 대처방안

<특징>

디스크 파괴형 악성코드는 MBR 영역의 모든 값을 쓰레기 값으로 덮어씌워 운영체제 부팅을 할 수 없도록 하거나 VBR을 훼손하여 파일시스템 복구가 불가능하도록 만듭니다.

 

<대처방안>

  • MBR 영역이 손상된 경우에는 부트 코드를 정상적인 디스크에서 복사하고 각각의 파티션 정보를 수집하여 파티션 테이블을 완성함으로써 복구가 가능합니다.
  • VBR 영역이 손상된 경우네는 파티션의 가장 마지막 섹터에 있는 VBR 백업본을 덮어써서 복구가 가능합니다.

- 윈도우 부팅 순서

<윈도우 xp, 2000/2003의 부팅 순서>

  1. POST(power on self test) 실행 : 어떤 운영체제를 설치해도 POST 과정을 거치게되어 스스로 시스템에 문제가 없는지 기본사항을 검사한다.
  2. 기본 부팅 관련 설정사항 로드 : BIOS는 CMOS(complementary metal-oxide semiconductor)에 설정되어있는 시스템 설정사항 및 부팅과 관련된 여러가지 정보를 읽어 시스템에 적용합니다.
  3. MBR 로드 : MBR을 로드합니다.
  4. NTLDR(NT loader) 실행 : NTLDR은 하드디스크 부팅 파티션에 있는 프로그램으로, 윈도우서버 2000이 부팅될 수 있도록 간단한 파일 시스템을 실행하고 boot.ini 파일의 내용을 읽어 가능한 부팅 옵션을 보여줍니다.
  5. NTDETECT.com 실행 : NTDETECT는 NTLDR에서 제어건을 위임받아 시스템에 설치됩니다. 또한 하드웨어를 검사합니다.
  6. ntoskrnl.exe(NT os kernel) 실행 : ntoskrnl은 HAL.DRR(hardware absraction layer)을 로드합니다.

<윈도우 비스타, 2007,8의 부팅 순서>

  1. POST(power on self test) 실행 : 어떤 운영체제를 설치해도 POST 과정을 거치게되어 스스로 시스템에 문제가 없는지 기본사항을 검사한다.
  2. 기본 부팅 관련 설정사항 로드 : BIOS는 CMOS(complementary metal-oxide semiconductor)에 설정되어있는 시스템 설정사항 및 부팅과 관련된 여러가지 정보를 읽어 시스템에 적용합니다.
  3. MBR 로드 : MBR을 로드합니다.
  4. 윈도우 부트 서브 시스템(window voot manager) 실행 : 윈도우 부트 서브 시스템에서 bootmgr.exe가 실행되고 부트 설정 데이터(BCD, boot configuration data)를 읽어 실행 가능한 운영체제의 목록을 보여줍니다.
  5. 윈도우 os 로더(Winload.exe) 실행 : Winload는 NTDETECT와 같이 각종 장치 드라이브를 로드하고 ntoskrnl.exe를 실행합니다.

- 윈도우 설치시 중요사항

윈도우를 설치할때 하나의 물리적인 하드디스크에 논리적으로 분할 영역을 나누는 것을 파티션이라고합니다. 파티션을 나누면 서로 다른 드라이브로 인식하기 때문에 c드라이브에 심각한 오류가 발생해도 d드라이브에 있는 파일들은 안전하게 보존할 수 있습니다.

 

- 기본 사용자

윈도우를 설치할때 기본적으로 생성되는 계정을 정리하면 아래와 같습니다.

  • Administrator : 관리자 권한의 계정으로 사용자가 사용 가능한 계정 중 가장 강력한 권한을 가집니다.
  • SYSTEM : 시스템에서 최고 권한을 가진 계정으로 로컬에서 관리자보다 상위 권한을 가집니다. 원격 접속이 불가능하며 사용자가 이 계정을 사용하여 시스템에 로그인할 수 없습니다.
  • Guest : 매우 제한적인 권한을 가진 계정으로 기본 설정은 사용 불능입니다.

- 기본 그룹

윈도우를 설치할때 기본적으로 생성되는 그룹의 일부는 아래와 같습니다.

Admistrators : 도메인 자원이나 로컬 컴퓨터에대한 모든 권한이 있습니다.

Guests : 도메인 사용 권한이 제ㅐ한된 그룹으로 시스템의 설정 변경 권한이 없습니다.

User : 도메인과 로컬 컴퓨터를 일반적으로 사용하는 그룹입니다. 개개인에 할당된 사용자 환경을 직접 만들 수 있지만 설정할 수 있는 항목에는 한계가 있습니다. 시스템 서비스의 시작 및 종료 권한이 없으며 디렉터리 공유 설정을 할 수 없습니다.

 

- SID(security identifier)

SID는 윈도우의 각 사용자나 그룹에 부여되는 고유한 식별번호 입니다. 아래는 SID의 예시 및 설명입니다.

The SID for account NEWGERATION\admnistrator is
	S-1-5-21-1801674531-839522115-1708537768-500

S : SID를 의미합니다.

1 : revision number(SID 버전)

5 : Identifier authority value(윈도우 보안 권한, 48비트)

21-1801674531-839522115-1708537768 : 시스템의 고유한 숫자로 로컬 컴퓨터의 구분자입니다. 시스템을 설치할때 시스템의 특성을 수집하여 생서됩니다.

500 : 관리자는 500번, Guest는 501번, 일반 사용자는 1000번 이상의 숫자를 갖습니다.

 

- 윈도우의 권한 상승 방법

윈도우의 권한 상승방법은 Administrator와 SYSTEM으로 실행되고 있는 프로세스의 권한을 빼앗는 것입니다. 권한을 빼앗는 방법은 기본적으로 상위 권한으로 수행되고 있는 프로그램의 프로세스에 다른 작업을 끼워넣기 입니다. 즉, 상위 권한 으로 실행된 프로세스가 정상적인 프로세스가 아닌 공격자의 프로세스를 실행시키도록 끼워넣는 것입니다.

 

- 윈도우 인증의 구조

 

윈도우 인증의 구조중 가장 중요한 구성요소는 LSA와 SAM, SRM입니다.

  • SRM(service reference monitor) : LSA로부터 SID를 받아 사용자에게 부여하며 SID에 기반하여 파일이나 디렉터리에대한 접근을 허용할지 결정하고 감사 메시지를 설정합니다.
  • LSA(local security authority) : 모든 계정의 로그인에대한 검증을하고 접근 권한에 대해 검사합니다. SID를 생성하여 이름과 매칭하며 SRM이 생성한 감사로그를 기록하는 역할도 합니다. 보안 서브시스템이라고 불리기도합니다.
  • SAM(security account manager) : 사용자/그룹 계정에대한 데이터베이스를 관리합니다.

- 공유 자료

<네트워크 드라이브>

네트워크 드라이브는 다른 컴퓨터의 드라이브를 내 컴퓨터의 드라이브로 설정하여 내 컴퓨터의 드라이브처럼 사용할 수 있는 기능으로 내컴퓨터에서 마우스 오른쪽 버튼을 클릭하여 네트워크 드라이브 설정을 클릭하면 기능을 이용할 수 있습니다.

 

<파일과 폴더에대한 권한>

윈도우는 폴더에는 6가지 기본 권한을 제공하며 파일에는 5가지 권한을 제공합니다.

  • 읽기 : 디렉터리의 내용을 읽기만 가능합니다.
  • 쓰기 : 해당 디렉터리의 서브 디렉터리와 파일을 생성할 수 있으며 소유권이나 접근 권한의 설정 내용을 확인할 수 있습니다.
  • 읽기 및 실행 : 읽기를 수행할 수 있으며 디렉터리나 파일을 이동할 수 있습니다.
  • 폴더 내용 보기(폴더만 해당) : 디렉터리의 파일이나 서브 디렉터리이의 이름을 볼 수 있습니다.
  • 수정 : 폴더를 삭제할 수 있으며, 읽기 및 실행과 쓰기와 동일한 권한을 갖습니다.
  • 모든 권한 : 디렉터리에 대한 접근 권한과 소유권을 변경할 수 있으며 서브 폴더와 파일을 삭제할 수 있습니다.

<디렉터리 및 파일에대한 접근 권한 규칙>

  1. NTFS 접근 권한은 누적된다 : A그룹에서 읽기 권한 B그룹에서 쓰기 권한을 얻었다면 읽기와 쓰기 권한을 얻습니다.
  2. 파일에대한 접근 권한이 디렉터리에대한 접근 권한에 우선한다 : 파일이 포함된 디렉터리의 권한보다 파일에 대한 권한 설정이 우선합니다.
  3. 허용보다 거부가 우선한다 : 규칙1에서 권한이 중첩되어 적용되지만, A그룹에서 읽기 권한 허용 B 그룹에서 읽기 권한 거부 권한을 받았다면 읽기 권한이 거부됩니다.

<공유 폴더 숨기기>

공유 리소스를 설정할때 공유 이름 끝에 $기호를 붙이면 네트워크창에서 원격 컴퓨터를 열때 리소스의 목록에 나타나지 않습니다. 즉, 다른사람이 리소스의 존재를 알 수 없습니다. 하지만 CMD 창에서 net share을 입력하면 숨겨진 폴더가 보여지기떄문에 숨기는것 보단 기본 공유 비활성화를 해야합니다.

하지만 단순히 기본 공유 비활성화를 한다고해서 완전히 중지된것은 아닙니다. 기본 공유가 중지된 이후에 운영체제가 재시작되면 운영체제가 다시 자동으로 기본 공유 폴더를 만들기 때문입니다. 따라서 완전히 제거하려면 레지스트리 편집기(\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\parameter)에서 DOWRD로 새로 만들어 0으로 설정합니다.

 

<윈도우 기본 공유폴더>

C$ : C드라이브에대한 관리 목적 공유폴더입니다. 인가 받지 않은 사용자가 기본 공유 폴더에 접근하여 바이러스가 침투한 사례가 있어 상당히 보안적으로 위험합니다.

ADMIN$ : 윈도우 설치 폴더에 접근하는 관리 목적 공유 폴더입니다. 공유 폴더에 접근하면 윈도우 설치폴더가 열리게됩니다.

IPC$(inter orocess communication) : 프로세스간 통신이 필요할때 사용하는 인터페이스 입니다. IPC$를 제거하면 네트워크 서비스 일부에 문제가 발생할 수 있으므로 레지스트리 값을 수정해서 익명 사용자의 네트워크 접근 이 불가능하도록 설정하는 것이 좋습니다. 또한 윈도우 2000, 2003, 테, 7 버전은 net use 192.168.0.200\ IPC$" "\u" " 명령어와 같이 원래 IPC$ 공유폴더에 접근할때 IPC$ 옆의 ""사이에 비밀번호를 입력해줘야하지만, 아무것도 입력하지않은 null 을 넣어줘도 동작합니다. 이를 널세션 동작이라고 합니다.

 

- 폴더 및 파일, 볼륨 암호화

< 폴더 및 파일 암호화>

파일 암호화 시스템 EFS(encrypting file system)은 윈도우 운영체제 에서 모든 파일을 암호화할 수 있는 기능을 제공합니다. 파일 속성 - 일반 - 고급 부분에서 암호화할 수 있는 설정란이 있습니다.

 

<볼륨 암호화>

볼륨 암호화를 지원하는 BitLocket은 윈도우 운영체제에서 제공하는 데이터 암호화 기능입니다. 여기서 말하는 볼륨은 파티션과 같은 만ㄹ입니다. 다만, 컴퓨터를 시작하는데 필요한 시스템 파티션 부분은 암호화 하지 않습니다. 악의적인 사용자가 시스템에 물리적으로 접근한다하더라도 암호화되어있어서 읽을  수 없게됩니다.

 

- 레지스트리(registry)

레지스트리는 윈도우 시스템이 운영되는데 필요한 정보를 담고 있습니다. 설치된 소프트웨어정보부터 환경 설정, 임시 저장값까지 시스템의 거의 모든 정보를 담고 있으므로 사고분석에 있어 공격자의 중요한 흔적을 찾을 수 있습니다.

 

<레지스트리 편집기>

사용자가 레지스트르리를 조작하는 작업은 레지스트리 편집기라는 프로그램을 통해 이뤄지고 실행하려면 시작 메뉴란에 regedit 또는 regedt32를입력하고 enter를 누르면 실행됩니다.

레지스트리는 윈도우 부팅시 하이브 파일에서 값을 읽어들여 구성됩니다. 하이브 파일은 시스템의 중요한 정보들을 비화발성 메모리에 저장한 파일들입니다. 하이브 파일에서 직접 읽어 들여 구성되는 키를 Master Key라고 하며, Master Key로부터 값을 가져와서 재구성한 키를 Derived Key라고 합니다. 

  • Master Key : HKEY_LOCAL_MACHINE, HKEY_USERS
  • Derived Key : HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_CURRENT_CONFIG

<Root key>

루트키란 Master Key 와 Derived Ket를 합친 5가지의 키를 의미합니다. HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_CURRENT_CONFIG 이 있습니다.

 

  • HKEY_LOCAL_MACHINE(HKLM) : 컴퓨터에 설치된 하드웨어어와 하드웨어를 구동시키는 필요한 드라이버나 설정 사항에 관련된 정보를 가지고 있으며 루트키 중에서 가장 다양한 하이브(구조)로 구성되어 있습니다. 주요서브키는 아래와 같습니다.

  • HKLM/HARDWARE : 부팅시 감지된 모든 하드웨어와 그 하드웨어 장치의 드라이버 맵핑 정보들이 보관됩니다. 
  • HKLM/SAM : 사용자의 패스워드, 소속 그룹, 도메인 정보와 같은 로컬 계정 정보와 그룹 정보를 가지고 있습니다.
  • HKLM/SECURITY : 시스템 범위의 보안 정책과 사용자 권리 할당 정보를 가지고 있습니다.
  • HKLM/SOFTWARE : 소프트웨어 목록과 그 환경 설정 정보가 저장되어 있습니다. 환경 설정 정보에는 애플리케이션 이름, 경로, 라이선스 정보, 만료 날짜등이 있습니다.
  • HKLM/SYSTEM : 시스템이 부팅될때 필요한 시스템 범위의 환경설정 정보를 가지고 있으며 여기에는 로드할 디바이스 드라이버, 시작시킬 서비스 목록등이 포함됩니다. 이러한 정보는 시스템을 시작할때 매우 중요하기때문에 성공적으로 부팅됬을때의 값을 복사본으로 만들어 두었다가 시스템이 비정상적으로 종료되었을때 복사해둔 정보를 바탕으로 부팅할 수 있는 옵션을 사용자에게 제공합니다.
  • HKEY_USERS(HKU) : 시스템에 있는 모든 계정과 그룹에 관한 정보를 저장하고 있습니다. 모든 계정의 프로파일이 있다는 것을 제외하고는 HKCU와 동일합니다. 윈도우를 사용하는 사용자가 한명일경우 모든 설정 사항이 HKCU의 내용과 일치합니다.
  • HKEY_CLASSES_ROOT(HKCR) : 시스테메 등록된 파일 확장자와 그것을 열때 필요한 애플리케이션에대한 맵핑 정보 그리고 COM 오브젝트 등록 정보를 저장하고 있습니다.
  • HKEY_CURRENT_USER(HKCU) : 현재 시스템에 로그인하고 있는 사용자와 관련된 시스템 정보를 저장하고 있습니다. HKCU는 HKU보다 우선권을 갖게됩니다. 만약 HKCU가 변경된다면 HKU의 보안 식별자에 해당되는 키의 내용도 변하게됩니다.
  • HKEY_CURRENT_CONFIG(HKCC) : 시스템이 시작할때 하드웨어 프로파일에대한 정보를 저장하고 있습니다. 레지스트리 부분에서 가장 단순한 곳이며 HKLM에 서브로 존재하는 config의 내용만 담고 있습니다. 따라서 디스플레이와 프린터에대한 설정 정보를 갖고 있습니다.

<레지스트리 보호>

레지스트리 접근 제한 : 다른사람이 레지스트리 편집기를 사용하지 못하게 막아야합니다. 윈도우에서는 사용자 계정 컨트롤에 의해 일반 사용자는 관리자 암호를 모르면 레지스트리 편집기를 사용할 수 없습니다.

현재 레지스트리 상태 저장 : 윈도우 시스템의 복원 기능을 활용하여 현재 레지스트리 상태를 저장하고 시스템이 뭔가 잘못되면 시스템 복원 프로그램이 시스템 상태를 이전으로 되돌려줍니다.

레지스트리 키를 디스크에 복사 : 키의 디스크 백업은 .reg인 텍스트파일에 저장하는 작업입니다. 이렇게해두면 문제가 생기더라도 .reg파일을 불러들여 파일에 있는 상태로 되돌릴 수 있습니다.

 

<레지스트리 공격>

악성코드 감염시 시스템에서는 파일 생성 혹은 레지스트리 변경등의 시스템 변화가 일어나기때문에 이러한 변화를 분석할 수 있다면 악성 코드를 탐지해낼 수 있습니다.

  • 부팅 시 악성코드 실행 공격 : 레지스트리를 변조하여 부팅시 악성프로그램을 구동시키게합니다. 이때 사용되는 레지스트리는 HKLM과 HKCU입니다. 아래는 사용자에따른 구체적인 파일 위치와 예시입니다.
  • 개별사용자 지속용 : HKCU\Software\Microsoft\Windows\CurrentVersion\Run
  • 개별사용자 일회용 : HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • 전체사용자 지속용 : HKLM\Software\Microsoft\Windows\CurrentVersion\Run
  • 전체사용자 일회용 : HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce

HKLM\Software\Microsoft\Windows\CurrentVersion\Run 파일로 전체 사용자가 재부팅시에 항상 시작되는 프로그램입니다. 안랩 백신 프로그램과 Rtk 오디오 관련 프로그램 SH 보안관련 프로그램이 모든 사용자가 부팅시에 항상 시작되는 것을 확인 할 수 있습니다.

 

  • 특정 확장자 실행시 악성코드 실행 공격 : 파일의 확장자에따라 어떤 프로그램이 연결되어 실행할지는 HKEY_CLASSES_ROOT 위치의 값을 공격자가 임의로 조작하여 특정 확장자 실행시 악성프로그램을 실행시킬수 있습니다. 아래는 exe파일을 Hacker.exe를 삽입하여 윈도우 프로그램 실행시마다 hacker.exe를 구동할 수 있는 예시입니다.

원본 : HKEY_CLASSES_ROOT\exefile\shell\open\command @= ""%1"%*"

변조 : HKEY_CLASSES_ROOT\exefile\shell\open\command @=hacker.exe ""%1"%*"

 

- 윈도우 방화벽 설정

방화벽은 PC 내부로 유입되는 패킷뿐만 아니라 나가는 패킷까지 모두 차단하고 사용자에게 해당 네트워크 패킷의 적절성 여부를 확인합니다. 윈도우의 파일 공유처럼 취약점에 잘 노출되는 서비스는 기본적으로 차단하기도하며 최근에는 운영체제 수준에서 방화벽을 제공합니다. 

윈도우 방화벽은 제어판-관리도구-서버관리자-구성-고급 보안이 설정된 window 방화벽에서 인바운드/아웃바운드 규칙을 통해 설정할 수 있습니다. 최근에는 윈도우보안-방화벽 및 네트워크 보호 - 고급 경로로 설정할 수 있습니다.

 

 

- 계정 관리

  • Administrator 계정 이름 바꾸기 : 관리자 계정의 이름을 변경함으로써 공격자가 패스워드뿐만 아니라 계정이름을 쉽게 유추하지 못하도록 하여야합니다. 컴퓨터관리-로컬 사용자 및 그룹-Admisitrator-이름바꾸기 를 통해 이름을 변경할 수 있습니다.

  • Guest 계정 상태 : 일반적으로 Guest 계정은 비활성화 되어있으나 화성화가 되었다면 Gurest 계정으로 로그인하여 시스템의 정보를 확인하거나 관리자 그룹에 추가하여 악용할 수 있는 위험이 존재하므로 불필요한 경우에는 사용못하게 변경해야합니다. 컴퓨터관리-로컬 사용자 및 그룹-Guest-속성-계정 사용안함으로 설정 변경이 가능합니다.

  • 계정 잠금 임계값과 잠금기간 설정 : 계정 잠금 임계값 설정을 적용하여 로그인 실패 횟수를 제한하고 계정 잠금 기간 설정을 사용하여 임계값을 넘었을때 계정을 잠금하여 잠금이 해제될때까지 접근을 할 수 없게합니다. 따라서 공격자가 자동으로 암호를 추측하는 것이 어렵게되어 암호공격 효과를 낮출 수 있습니다. 로컬보안 설정-계정 잠금 정책에서 설정할 수 있습니다.

  • 관리자 그룹에 최소한 사용자 포함 : 관리 엄무를 위한 계정과 일반 업무를 위한 계정을 분리하여 사용하는 것이 바람직합니다. 관리자 그룹에는 가능한 최소한의 사용자만 포함하도록 해야합니다. 컴퓨터관리-로컬 사용자 및 그룹-Administrator 에서 설정이 가능합니다. 즉, User를 제거합니다.

  • 암호화 패스워드 정책 설정 : 사용자가 최초 패스워드 설정시 추측하지 못하게하도록 패스워드 복잡도를 설정합니다. 최소 암호길이8문자, 최대 사용기간 90일, 최소 사용기간 1일 등을 통하여 안전한 패스워드를 사용하도록 설정합니다. 로컬 보안 설정-암호 정책에서 설정할수 있습니다.

 

- 서비스 관리

  • Everyone 공유계정 삭제 : 기본 공유 폴더이외의 공유폴더에 Everyone이 공유계정에 포함되어 있으면 익명 사용자의 접근이 가능하므로 확인하고 삭제해줘야합니다.
  • 불필요한 공유제거 : 기본 공유 폴더 이외에 사용하지 않는다면 제거해야합니다. 제거 방법은 net share 폴더이름 /delete 명령어로 가능하며 레지스트리 HKML\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\AutoShareServer의 키값을 0으로 수정합니다. 만약 없다면 새로 생성합니다.

  • NULL Session 접근 차단 설정 : 비인가된 사용자가 NULL Session을 통해 인증을 거치지 않고 서버에 접근 시 시스템 내부로의 접근이 가능한 취약점이 존재하므로 인증된 사용자만 접속하도록 설정해야합니다. HKLM\SYSTEM\CurrentControlSet\Control\LSA\restrictanonymous 키값을 0에서 1이나 2로 변경하여줍니다.

  • 불필요한 서비스 제거 : 필요하지 않는 취약한 서비스들이 디폴트로 설치되어 실행되고 있으며 이러한 서비스는 공격 지점이 될 수 있으므로 중지후 시작유형을 사용안함으로 설정해줘야합니다. 서비스 앱에서 설정이 가능합니다. 아래는 취약한 서비스들의 목록입니다.
  • Alerter : 서버에서 클라이언트로 경고 메시지를 보내는 서비스
  • Clipbook : 서버 내의 Clipbook을 다른 클라이언트와 공유하는 서비스
  • Messennger : net send 명령어를 이용하여 클라이언트에 메시지를 보내는 서비스
  • Simple TCP/IP Service : Echo, Discard 등 명령어를 수행하는 서비스

  • Anonymous FTP 금지 : 기본적인 FTP 서비스는 계정과 서비스가 암호화되지 않은 채로 전송되어 간단한 sniffer에 의해 스니핑이 가능하므로 FTP 서비스를 사용하지 않을 것을 권고합니다. 불가피하게 사용해야하는 경우 FTP Defalt 설정에서 익명연결 허용을 차단하고 특정 IP 주소에서 접속하도록 접근제어 설정을 적용하여야합니다.

 

- 패치 관리

감사 설정이 너무 낮으면 보안관련 문제 발생시 원인을 파악하기 어려우며 법적 대응의 충분한 증거로 사용될 수 없습니다. 그러나 감사 설정이 너무 높으면 보안 로그에 불필요한 항목이 많이 기록되므로 매우 중요한 항목과 혼동할 수 있으며 시스템 성능에도 영향을 줄 수 있습니다. 따라서 법적 요구 사항과 조직의 정책에따라 필요한 로그를 남기도록 설정해야합니다. 설정방법은 로컬 보안 설정-감사 정책 에서 설정할 수 있습니다.

- 보안 관리

SAM 파일 접근 통제 설정 : SAM은 사용자와 그룹 계정의 패스워드를 관리합니다. 따라서 SAM 파일에 대한 패스워드 공격시도로 인해 패스워드 데이터베이스 정보가 노출 될 수 있으므로 Administrator 및 System 그룹 외에는 SAM 파일에 대한 접근을 제한해야합니다.이는 C:\Windows\System32\config\SAM 파일 속성에서 설정 변경할 수 있습니다.

- 네트워크 서비스

Active Directory : 회사내 네트워크상의 개체에대한 정보를 저장하여 관리자와 사용자가 정보를 쉽게 찾아 사용할수 있게해줍니다. 일반적으로 서버, 볼륨, 프린터 등의 공유 리소스와 네트워크 사용자 및 컴퓨터 계정이 포함됩니다.

Comments