Windows Server
윈도우 서버 · Windows
는 계정·보안 정책·파일 공유·원격 관리 같은 서버 역할을 제공하는 운영체제 제품군이다. 사용자의 이름만으로 권한을 판단하지 않고 가 들어 있는 과 객체의 를 연결한다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
01무엇이고, 어떤 일을 하나
- 보안 주체와 그룹을 로 구별하고 의 권한 판정에 반영한다.
- 파일·공유·서비스와 원격 접속 기능을 정책 및 역할 단위로 제공한다.
- 이벤트 기록과 관리 인터페이스를 통해 서버 상태와 작업 결과를 추적한다.
02어떤 순서로 동작하나
- 로그온 검증
입력한 자격 증명을 해당 인증 경로에서 검증하고 로그온 허용 조건을 적용한다.
- 토큰 생성
사용자 ·그룹 ·권한 등 실행 주체를 나타내는 을 만든다.
- 객체 접근 요청
가 읽기·쓰기처럼 필요한 접근 권한을 지정해 파일 등 객체를 연다.
- 접근 검사
과 의 ACE를 토큰에 대입하여 승인하거나 거부하고 결과를 프로그램에 반환한다.
03먼저 알아둘 용어와 구성요소
- 계정과 그룹은 라는 식별자로 구별한다.
- 로그인 후 만들어진 은 사용자 , 그룹 , 권한 등의 정보를 담고 가 객체에 접근할 때 사용된다.
- 파일·폴더·레지스트리 같은 객체의 는 소유자와 /SACL 등을 가질 수 있다.
- 단순 판정의 입력은 요청한 권한 집합, 실제 주체의 토큰, 순서가 있는 ACE 목록이다. 소유권·특권·다른 보안 계층이 관여하는 특수 경우와 구분한다.
- 객체 접근을 허용하거나 거부하는 ACE 목록이다. 과 주체의 을 목록의 순서 및 접근 검사 규칙에 따라 비교한다.
- 계정 정책, 사용자 권리, 서비스 보안과 은 서로 다른 정책 영역이다.
RDP 서비스·리스너·방화벽·계정의 네 경계 확인하기
접속의 전제 조건을 서비스 화면과 리슨·그룹 조회 결과로 나누어 읽는다.
실습 구성과 전제
- 서비스와 방화벽 화면, PowerShell 조회는 여러 실습 환경의 사례다. 한 컴퓨터에서 모두 확인한 연속 증거로 취급하지 않는다.
- 지원되는 호스트와 허용된 관리 계정을 가정한다. 명령은 상태 조회이며 공개망으로 포트를 개방하지 않는다.
서비스 실행과 시작 유형을 구분한다
- Remote Desktop Services의 Running은 현재 실행 상태이고 Automatic은 시작 설정이다. 둘이 보인다고 RDP 포트의 실제 수신이나 사용자 로그온 권한까지 확인된 것은 아니다.
- 클라이언트 접속 전에는 해당 서비스와 소켓의 관계를 확인한다. 서비스 이름은 표시 언어와 실제 서비스 식별자가 다를 수 있다.
powershellGet-Service -Name TermService Get-NetTCPConnection -LocalPort 3389 -State Listen호스트에서 서비스와 리스너를 조회하는 예시다.
원본 크기로 보기 ↗- Remote Desktop Services 행이 Running으로 표시된다.
- Startup Type은 Automatic으로 표시되어 현재 상태와 시작 방식이 별도 열에 있다.
확인 기준서비스 상태 다음에는 실제 리슨 포트와 주소를 확인한다.
방화벽 규칙의 프로토콜과 적용 범위를 읽는다
- RDP의 3389 수신 허용 규칙이 활성화되어 있다. 규칙의 사용 여부만 보지 말고 적용 프로필·원격 주소 범위·상충하는 차단 정책을 함께 확인해야 한다.
- 현재 네트워크 프로필이 규칙 적용 프로필과 다르면 목록에 Enabled가 보여도 기대한 경로가 열리지 않을 수 있다.
원본 크기로 보기 ↗- 원격 데스크톱 사용자 모드 TCP 수신 규칙이 Allow와 Enabled 상태로 보인다.
- 프로토콜은 TCP, 로컬 포트는 3389로 표시되어 어떤 연결을 다루는지 알 수 있다.
확인 기준규칙이나 다른 포트의 허용을 3389의 증거로 대신하지 않는다. 실제 클라이언트 경로에서 확인한다.
리스너와 사용자 자격을 연결하되 로그온 성공은 따로 본다
- 별도 PowerShell 화면은 · 리슨, 활성 로컬 사용자, Remote Desktop Users 그룹을 조회한다. 각 출력은 접속 조건의 일부를 확인한다.
- 그룹 소속 외에도 원격 로그온 허용·거부 권리, NLA 인증, 계정 제한이 작용한다. 을 경유하면 브라우저→게이트웨이와 게이트웨이→RDP 연결도 따로 확인해야 한다.
powershellGet-LocalUser -Name labuser Get-LocalGroupMember -SID "S-1-5-32-555"labuser는 재구성 계정이다. 는 Remote Desktop Users 기본 그룹을 언어와 무관하게 지정한다.
원본 크기로 보기 ↗- 3389에 대해 IPv4와 IPv6 Listen 행이 보인다.
- 테스트 사용자의 Enabled=True와 Remote Desktop Users 그룹 구성원 조회 결과가 함께 표시된다.
확인 기준계정 활성화나 그룹 조회만으로 실제 RDP 로그인 성공을 선언하지 않는다. 실패 시 인증과 로그온 권리의 사건을 같은 시각으로 추적한다.
실습에서 확인한 동작 원리
- 서비스 실행·포트 리슨·방화벽 허용·로그온 권한은 각각 독립된 필요 조건이다.
- 게이트웨이를 쓸 때에는 사용자 브라우저의 성공 화면과 실제 RDP 세션 수립을 구분한다.
04예제로 따라가기
- 공유 폴더에서 읽기는 되지만 쓰기가 안 되면 공유 권한과 NTFS 권한을 요청한 동작별로 함께 읽는다.
- 그룹을 변경한 뒤 이미 열려 있는 로그온 세션은 이전 토큰을 사용할 수 있어 새 로그온의 결과와 구별한다.
- RDP로 접속한 사용자가 파일을 열지 못하는 경우 원격 로그온 허용과 파일 객체의 읽기 허용은 각각 다른 검사이다.
05혼동하기 쉬운 점과 확인 기준
- 새 그룹 가입 이후 새 로그인과 기존 의 결과가 다르면 토큰에 반영된 ·활성 상태를 비교한다. 계정 관리 화면만으로 실행 중 의 권한을 판정하지 않는다.
- 파일 한 개만 실패한다면 부모 폴더와 대상 파일의 상속 상태·명시 ACE·소유자를 나누어 본다. 상위 폴더 권한 표시가 자식 파일의 최종 과 반드시 같지는 않다.
06상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
함께 보는 학습 자료
아래 공식 자료를 본문의 개념·예제와 함께 읽어 보세요. 자료별로 확인할 위치와 관찰할 내용을 적었습니다.
Windows AccessCheck의 ACE 순서 도해
DACLs 절의 Thread A·Thread B 그림에 을 각각 대입한다. 검사 종료 조건을 따라가면 ‘deny는 항상 이긴다’라는 요약만으로 설명할 수 없는 ACE 순서를 이해할 수 있다.
- 토큰 와 ACE의 주체가 일치하는지
- 모든 요청 비트를 허용했을 때 검사가 끝나는 시점
- 같은 ACE 목록도 요청자에 따라 달라지는 결과
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.