본문 바로가기
정보보안/시스템보안

윈도우 보안 공유자료 관리

by 피갓자 2025. 2. 3.

윈도우 보안 공유자료 관리
윈도우 보안 공유자료 관리

네트워크 드라이브의 이해

네트워크 드라이브는 대상 컴퓨터의 드라이브를 내 컴퓨터에서 네트워크 드라이브로 설정하여 내 컴퓨터의 드라이브처럼 사용할 수 있는 기능

설정 방법

  • 바탕화면의 내 컴퓨터에서 마우스 오른쪽 버튼을 클릭하여 네트워크 드라이브 설정 클릭
  • 명령 프롬프트에서 “net use 드라이브명: \\ip\설정대상드라이브$”를 실행하고 계정 및 패스워드 입력

파일과 폴더에 보안 권한 설정

  • 권한은 사용자나 그룹이 파일이나 폴더에 접근할 수 있는지 알려줌(예 : 다른 사용자가 파일이나 폴더를 수정하는 동안에는 파일이나 폴더의 콘텐츠를 읽기만 할 수 있음)
  • 윈도우는 폴더에 6가지(5가지, 폴더 내용 보기) 기본 권한설정을 제공하며, 파일에는 5가지(모든 권한, 읽기, 쓰기, 읽기 및 실행, 수정) 권한을 제공함
  • 윈도우 사용자는 보통 GUI를 통해서 접근제어리스트를 관리함. 파일이나 폴더 오른쪽 마우스 클릭 후 [속성] - [보안] - [편집]을 클릭하면 해당 개체의 [사용 권한] 대화상자가 나타나고, 개체는 파일이나 폴더의 이름으로 표시됨

디렉터리 및 파일에 대한 접근 권한 설정

윈도우의 NTFS에서 설정한 디렉터리 및 파일에 대한 접근 권한 설정은 규칙을 가짐

1. NTFS 접근 권한은 누적됨

개별 사용자가 여러 그룹에 속한 경우 특정 파일이나 디렉터리에 대한 접근 권한은 누적됨

2. 파일에 대한 접근 권한이 디렉터리에 대한 접근 권한에 우선함

파일이 포함된 디렉터리의 권한보다 파일에 대한 권한 설정이 우선함

3. ‘허용’보다 ‘거부’가 우선함

윈도우에서는 유닉스 계열과 달리 ‘허용’ 권한 없음이 ‘거부’의 의미는 아님. 윈도우는 ‘허용’과 ‘거부’ 중 반드시 하나를 선택할 필요는 없음.

공유 폴더 숨기기

공유 폴더 이름을 알기 어려운 이름으로 변경해도 침입자는 어떻게든 알게 됨. 이를 방지하기 위해 리소스를 공유하면서도 숨길 수 있음

공유 리소스를 설정할 때 공유 이름 끝에 ‘$’ 기호를 붙이면 됨. 예를 들어, 드라이브 L:을 공유하도록 설정할 때 공유 이름을 ‘L$’로 사용하면 됨. 네트워크 창에서 원격 컴퓨터를 열 때 리소스 목록에 나타나지 않음

숨겨진 공유 폴더 보기

  • [보조 프로그램] - [명령 프롬프트] - ‘net share’ 입력 후 Enter
  • C$, D$, ADMIN$ 공유가 숨겨졌더라도 매우 잘 알려져서 침입자가 네트워크에 액세스 할 수 있는 위험 존재. 취약점을 막기 위해서 공유를 비활성화해야 함
  • 단순히 기본 공유를 중지시켰다고 해서 기본 공유 기능이 완전히 중지된 것이 아님. 기본 공유가 중지된 이후에 운영체제가 재시작되면 운영체제가 다시 자동으로 기본 공유 폴더를 생성함
  • 완전히 제거하려면 레지스트리 편집기(\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\parameters)에서 DWORD를 새로 만들어 0(기본값은 0)으로 설정

윈도우 공유 폴더

C$ 혹은 D$ 등

  • C드라이브에 대한 관리 목적 공유 폴더. 연결된 하드 드라이브 문자 수만큼 공유되어 있음. 만약 하드 드라이브가 E드라이브까지 있다면 C$, D$, E$까지 표시됨
  • C$와 D$와 같은 기본 공유 폴더를 통해서 인가받지 않은 사용자가 하드디스크 내의 모든 폴더나 파일에 접근할 수도 있음
  • 보안 측면에서 상당히 위험한 상황이 기본 공유 폴더를 통해 발생할 수 있음. 기본 공유 폴더를 이용하여 바이러스가 침투한 사례도 있음

ADMIN$

  • 윈도우 설치 폴더에 접근하는 관리 목적 공유 폴더. 이 공유로 접근하면 그 컴퓨터의 윈도우 설치 폴더가 열림
  • 윈도우 버전마다 윈도우 설치 폴더가 다르므로(WinXP의 경우 C:\windows, Win2000의 경우 C:\WinNT) 모든 위도우를 대상으로 어떠한 파일을 복사하거나 변경할 필요가 있을 때 주로 사용

IPC(Inter Process Communication)$

  • ‘프로세스 간 통신’이라는 뜻으로 풀이되며, 네트워크 등에서 프로세스 간의 통신을 위해서 사용하는 통로 같은 것
  • 동시에 수행될 개별 프로그램을 생성하고 다룰 수 있게 해주는 인터페이스(Interface)
  • 단일 사용자의 요구가 운영체제에서 여러 프로세스를 수행하는 결과를 가져올 수 있기 때문에 이러한 사용자를 위해 프로세스 간 통신이 필요하며 IPC 인터페이스가 이를 가능하게 함
  • IPC$를 제거하면 네트워크 서비스 일부에 문제가 발생할 수 있으므로 레지스트리 값을 수정해서 익명 사용자의 네트워크 접근이 불가능하도록 설정하는 것이 좋음