JEA(Just-Enough-Administration)를 사용한 PowerShell 보안 원격 접속

마지막 업데이트 : 17/12/2025
저자 : 이삭
  • JEA는 최소 권한 원칙을 적용합니다. PowerShell을 원격 접속을 줄이고, 관리자 권한을 가진 계정 수를 줄이며, 각 역할에 사용할 수 있는 cmdlet을 제한합니다.
  • .psrc 파일과 .pssc 파일을 함께 사용하면 역할 권한, 제한된 엔드포인트, 가상 계정 및 상세한 감사 기록을 정의할 수 있습니다.
  • GPO, AppLocker 또는 일반 엔드포인트와 같은 접근 방식과 비교했을 때, JEA는 훨씬 더 세밀한 제어 기능을 제공하며, 권한 있는 자격 증명을 노출하지 않고 작업을 위임할 수 있는 강력한 RBAC 모델을 제공합니다.
  • 이를 제대로 구현하려면 신중한 역할 설계, 테스트 및 지속적인 유지 관리가 필요하지만 생산성을 희생하지 않고 보안을 크게 향상시킬 수 있습니다.

파일 내부에 쓰기 위한 PowerShell 명령어

PowerShell 원격 접속은 이제 거의 모든 환경에서 필수적인 요소가 되었습니다. Windows 최첨단 기술이지만, 제어 권한 없이 원격 접속 권한을 부여하는 것은 데이터 센터 열쇠를 테이블 위에 놓아두는 것과 같습니다. 바로 이 지점에서 게임의 재미가 드러납니다. 적정량 관리(JEA)관리자 권한을 함부로 넘겨주지 않고도 작업을 위임할 수 있도록 해주는 보안 계층입니다.

JEA를 사용하면 특정 사용자만 실행할 수 있는 매우 제한적인 원격 액세스 포인트를 설정할 수 있습니다. 명령 더 높은 권한을 가진 계정으로 승인했지만 실제 자격증을 알지 못하거나 대본에서 벗어날 수 없는 상태에서이 모든 내용은 녹취록에 기록되었습니다. 로그 그러면 누가 언제 어디서 무엇을 했는지 자세히 확인할 수 있습니다.

적정량 관리(Just-Enough-Administration, JEA)란 무엇이며 왜 중요한가요?

Just-Enough-Administration은 PowerShell 기반 보안 기술입니다. JEA는 최소한의 권한으로 관리 권한을 위임하는 모델을 구현합니다. 실제로 JEA를 사용하면 사용자가 정의한 제한된 cmdlet, 함수, 스크립트 및 외부 명령 집합만 사용할 수 있는 원격 엔드포인트를 노출할 수 있습니다.

이러한 접근 방식 덕분에 여러분은 다음과 같은 이점을 누릴 수 있습니다. 관리자 권한을 가진 계정 수를 대폭 줄이십시오. 서버에서 일반 사용자를 대신하여 권한이 필요한 작업을 실행하는 가상 계정 또는 그룹 관리 서비스 계정(gMSA)을 사용할 수 있습니다. 사용자는 평소 사용하는 자격 증명으로 로그인하고 JEA 세션을 통해 더 높은 권한으로 백그라운드에서 실행되는 명령을 실행합니다.

JEA의 또 다른 핵심 기둥은 다음과 같은 능력입니다. 각 역할이 수행할 수 있는 작업을 정확하게 정의하기 위해역할 기능 파일은 사용자가 사용할 수 있는 cmdlet, 사용자 지정 함수, 외부 명령 또는 PowerShell 공급자를 정의합니다. 나머지 기능은 사용자에게 제공되지 않습니다. 즉, 사용자는 스크립트를 임의로 작성하거나 파일 시스템을 자유롭게 탐색하거나 지정하지 않은 서비스 또는 프로세스에 액세스할 수 없습니다.

또한 모든 JEA 세션은 생성하도록 구성할 수 있습니다. 전체 녹취록 및 감사 일정명령, 매개변수, 출력, 오류, 사용자 ID 및 실행 시간을 캡처하는 것은 규제 요건을 충족하는 데 도움이 될 뿐만 아니라 보안 사고 또는 운영 실패를 조사할 때 매우 유용합니다.

특권 계좌의 위험성과 JEA가 이를 완화하는 방법

높은 권한을 가진 로컬, 도메인 또는 애플리케이션 관리자 계정은 다음을 의미합니다. 조직 내 가장 심각한 위험 요소 중 하나공격자가 이러한 자격 증명 중 하나를 획득하면 네트워크를 통해 측면으로 이동하고, 권한을 상승시키고, 중요한 데이터, 핵심 서비스에 접근하거나 심지어 전체 시스템을 마비시킬 수도 있습니다.

권한 제거는 항상 간단한 일은 아닙니다. 대표적인 예로는 다음과 같은 경우가 있습니다. DNS와 Active Directory 도메인 컨트롤러를 모두 호스팅하는 서버DNS 팀은 DNS 서비스 문제를 해결하기 위해 로컬 관리자 권한이 필요하지만, 이들을 도메인 관리자 그룹에 추가하면 사실상 전체 포리스트에 대한 제어 권한과 해당 시스템의 모든 리소스에 대한 액세스 권한을 부여하는 것과 마찬가지입니다. 이는 운영 편의성을 위해 보안을 희생한 전형적인 사례입니다.

JEA는 다음 사항을 엄격하게 적용함으로써 이러한 딜레마를 해결합니다. 최소 권한의 원칙DNS 관리자에게 도메인 관리자 권한을 부여하는 대신, 캐시 지우기, 서비스 재시작, 로그 검토 등과 같은 작업에 필요한 cmdlet만 노출하는 전용 DNS JEA 엔드포인트를 생성할 수 있습니다. 이렇게 하면 운영자는 Active Directory를 검사하거나 파일 시스템을 탐색하거나 임의의 스크립트를 실행하거나 잠재적으로 위험한 유틸리티를 실행하지 않고도 업무를 수행할 수 있습니다.

  Outlook Express: Windows 10에서 다운로드 및 사용

JEA 세션을 구성할 때 임시 권한이 있는 가상 계정이 조치는 더욱 흥미로운데, 사용자가 관리자 권한이 없는 자격 증명으로 접속하여 해당 세션에서 일반적으로 관리자 권한이 필요한 작업을 실행할 수 있기 때문입니다. 이를 통해 많은 사용자를 로컬 또는 도메인 관리자 그룹에서 제외하면서도 운영을 유지하고 공격 표면을 크게 강화할 수 있습니다.

JEA를 뒷받침하는 보안 개념

JEA는 갑자기 생겨난 것이 아닙니다. 이는 여러 가지 잘 정립된 보안 원칙과 모델을 기반으로 합니다. 이는 시스템에 일관성과 견고성을 부여합니다. 첫 번째는 앞서 언급한 최소 권한 원칙으로, 사용자와 프로세스 모두 각자의 기능에 필수적인 권한만 가져야 한다는 것입니다.

두 번째 주요 기둥은 모델입니다. 역할 기반 접근 제어(RBAC)JEA는 역할 기능 파일을 통해 RBAC(역할 기반 접근 제어)를 구현합니다. 이 파일에서 특정 역할이 원격 세션 내에서 수행할 수 있는 작업을 정의합니다. 예를 들어, 헬프데스크 역할은 서비스 목록을 조회하고, 이벤트를 보고, 특정 서비스를 재시작할 수 있는 반면, SQL Server 관리자 역할은 특정 서비스와 관련된 cmdlet만 실행할 수 있습니다. 데이터베이스 그리고 조금 더.

La JEA의 기술적 기반은 PowerShell과 원격 접속 인프라입니다.PowerShell은 언어, cmdlet 및 원격 통신 계층(WinRM/WS-Management)을 제공하며, JEA는 여기에 제한된 엔드포인트, 가상 계정 및 사용 가능한 명령에 대한 세부적인 제어 기능을 추가합니다.

또 다른 중요한 개념은 다음과 같습니다. 제한된 관리, a와 유사 Windows 11 키오스크 모드에서 할당된 액세스JEA는 운영자에게 완전한 셸을 제공하는 대신, 스크립팅 언어가 제한되고(기본값은 NoLanguage), 새 함수나 변수 생성이 차단되고, 반복문과 조건문 사용이 금지되며, 승인된 cmdlet만 실행할 수 있는 세션을 구성합니다. 이는 해당 세션에 접근하는 데 성공한 공격자의 능력을 크게 제한합니다.

주요 구성 요소: .psrc 및 .pssc 파일

JEA 배포의 핵심에는 두 가지 유형의 파일이 있습니다. 역할 기능 파일(.psrc) 및 세션 구성 파일(.pssc)이 둘은 함께 범용 셸을 특정 사용자를 위한 완벽하게 맞춤화된 엔드포인트로 변환합니다.

역할 기능 파일에서 정의합니다. 해당 역할에서 사용할 수 있는 명령은 정확히 무엇인가요?가장 중요한 요소들은 다음과 같습니다.

  • VisibleCmdlet허용되는 cmdlet 목록을 제공하며, 매개변수까지 제한할 수 있습니다.
  • 가시 함수세션에 로드되는 사용자 지정 함수입니다.
  • VisibleExternalCommands: 접근하는 특정 외부 실행 파일.
  • VisibleProviders: 세션에 표시되는 PowerShell 공급자(예: FileSystem 또는 Registry).

반면, .pssc 세션 구성 파일은 그들은 JEA 엔드포인트를 그렇게 설명하고 이를 역할과 연결합니다.다음과 같은 요소들이 여기에 선언됩니다:

  • 역할 정의사용자 또는 보안 그룹을 역할 기능에 매핑하는 것입니다.
  • 세션 유형여기서 'RestrictedRemoteServer'는 일반적으로 세션 보안을 강화하기 위해 설정됩니다.
  • 대본 디렉토리각 회의록이 저장되는 폴더입니다.
  • 가상 계정으로 실행 가상 계정을 특정 그룹에 추가할지 여부와 같은 관련 옵션도 포함됩니다.

JEA는 다음과 같은 형태로 구체화됩니다. 시스템에 등록된 PowerShell 원격 엔드포인트이러한 엔드포인트는 다음과 같은 cmdlet을 사용하여 생성 및 활성화됩니다. New‑PSSessionConfigurationFile, PSSessionConfiguration 등록 또는 JEA Helper Tool과 같은 그래픽 도구를 사용하면 구문에 어려움을 겪지 않고도 .pssc 및 .psrc 파일을 더 쉽게 생성할 수 있습니다.

JEA 세션 수명 주기

완전한 JEA 환경을 설정할 때, 일반적으로 일련의 논리적인 단계를 따릅니다. 그들은 개방형 원격 시스템을 엄격하게 통제되는 시스템으로 바꿉니다.일반적인 순서는 다음과 같습니다.

먼저 보안 그룹 또는 여러 그룹 위임하려는 역할을 나타내는 그룹(예: HelpdeskDNS, 웹 운영자, SQL 운영자)을 만드세요. 그룹 사용은 필수는 아니지만, 환경이 커짐에 따라 관리가 훨씬 간편해집니다.

그런 다음 하나 이상이 준비됩니다. 역할 기능 파일 .psrc 여기에는 허용되는 작업 목록이 있습니다. cmdlet, 함수, 스크립트, 외부 명령, 별칭, 공급자 및 추가 제한 사항(특정 매개변수, 허용 경로 등)을 지정할 수 있습니다. 예를 들어, 여기서는 Get-으로 시작하는 모든 cmdlet을 허용하고, Restart-Service는 스풀러 서비스로 제한하며, FileSystem 공급자만 승인할 수 있습니다.

  새로운 YouTube 사기: 사기성 링크로 콘텐츠 제작자에게 맬웨어 배포

다음은 생성된 내용입니다. 세션 구성 파일 .pssc New-PSSessionConfigurationFile을 사용합니다. 이 파일은 SessionType = RestrictedRemoteServer, TranscriptDirectory 경로, 가상 계정 사용 여부, 그룹을 역할 기능에 연결하는 RoleDefinitions 블록(예: 'DOMAIN\HelpdeskDNS' = @{ RoleCapabilities = 'HelpdeskDNSRole' })과 같은 옵션을 정의합니다.

.pssc 파일이 이미 준비되었으므로, 엔드포인트는 다음을 사용하여 등록됩니다. Register‑PSSessionConfiguration -Name JEASession Name -Path Path\File.pssc그 시점부터 Get-PSSessionConfiguration 명령으로 사용 가능한 구성 목록이 표시되면 새 연결 지점이 연결을 수신할 준비가 된 것으로 나타납니다.

사용자는 자신의 컴퓨터에서 이 엔드포인트에 연결합니다. Enter‑PSSession -ComputerName Server -ConfigurationName JEASession Name 또는 New-PSSession을 사용한 다음 Invoke-Command를 사용하여 세션을 생성할 수 있습니다. 세션에 진입하면 사용자의 연결된 역할 기능에 정의된 제한 사항이 자동으로 적용됩니다.

세션 중, PowerShell 원격 접속은 암호화된 채널을 사용하는 WinRM을 이용합니다.통합 인증(일반적으로 도메인 내 Kerberos)과 서비스에 대해 정의된 방화벽 규칙이 적용됩니다. RunAsVirtualAccount가 활성화된 경우, 임시 가상 계정이 생성되어 필요한 그룹에 추가되고 세션이 종료될 때 삭제됩니다.

마지막으로 JEA 세션을 마무리하면서, 감사 기록 ​​및 이벤트가 저장됩니다. 이러한 로그는 실행된 명령, 결과 및 사용자 컨텍스트에 대한 명확한 기록을 남깁니다. 그런 다음 이러한 로그를 SIEM 시스템으로 전송하거나 시스템 내에서 상호 연관시켜 경고를 생성하고 추가 분석을 수행할 수 있습니다.

PowerShell 원격 접속, 접근 제어 및 보안 강화

PowerShell 원격 접속은 서비스에서 지원합니다. 윈도우 원격 관리(WinRM) WS-Management 프로토콜은 원격 컴퓨터에서 명령 및 스크립트를 중앙 집중식으로 실행할 수 있도록 합니다. 이는 자동화, 대규모 서버 관리, 디버깅 및 원격 지원을 위한 강력한 도구입니다.

기본, 로컬 관리자 및 원격 관리 사용자 그룹 구성원 이들은 표준 PowerShell 엔드포인트를 사용할 수 있습니다. 많은 환경에서 이 기능은 관리자 권한이 없는 사용자가 원격 작업을 실행할 수 있도록 허용하는 데 사용되어 왔는데, 이는 본질적으로 위험한 것은 아니지만 제대로 통제되지 않으면 악용될 소지가 큽니다.

보안 태세를 강화하기 위한 일반적인 전략은 다음과 같습니다. 원격 PowerShell 액세스를 관리자 계정으로만 제한합니다. 또는, 더 나은 방법은 특정 사용자에게만 필수적인 접근 권한을 부여하는 JEA 엔드포인트를 사용하여 해당 제한 사항을 결합하는 것입니다. 이는 다음과 같은 방법을 통해 구현할 수 있습니다.

  • WinRM을 사용할 수 있는 그룹과 기본 엔드포인트를 정의하는 GPO입니다.
  • 서브넷 또는 관리 컴퓨터에서만 WinRM을 허용하는 방화벽 규칙.
  • 표준 엔드포인트의 ACL에서 원격 관리 사용자 그룹을 제거합니다.

또한, 다음과 같은 옵션을 선택할 수 있습니다. 관리자 권한이 없는 사용자는 PowerShell을 완전히 차단합니다. AppLocker와 같은 솔루션을 사용하면 일반 사용자가 로컬에서 악성 스크립트를 실행하는 것을 방지하면서도 권한 있는 계정은 PowerShell을 사용하여 관리 및 자동화 작업을 수행할 수 있습니다.

JEA와 다른 PowerShell 제한 방법 비교

PowerShell 원격 접속을 통해 사용자가 수행할 수 있는 작업을 제한하는 방법에는 여러 가지가 있습니다. JEA는 더 얇고 유연한 옵션으로 적합합니다. 다음과 같은 보다 광범위한 접근 방식을 포함하는 범위 내에서:

한편, 사용 GPO를 사용하여 기본 PowerShell 엔드포인트에 액세스할 수 있는 사용자를 제어합니다.Microsoft PowerShell은 관리자에게만 접근 권한을 부여하거나, 모든 사용자의 접근을 차단하여 특정 엔드포인트만 사용하도록 강제할 수 있습니다. 이는 무차별 대입 방식으로 접근을 제한하는 데 유용하지만, 권한의 세분화 문제를 해결하지는 못합니다. 즉, 접근 권한을 얻은 사용자는 사실상 무엇이든 할 수 있게 됩니다.

반면에 다음과 같은 애플리케이션 제어 도구도 있습니다. 앱락커 또는 소프트웨어 제한 정책이러한 방법을 사용하면 경로, 게시자 또는 해시를 기준으로 일반 사용자의 PowerShell.exe 또는 pwsh.exe 실행을 차단할 수 있습니다. 이 방법은 워크스테이션 보안을 강화하고 모든 사용자가 PowerShell을 실행하지 못하도록 하는 데 유용하지만, 사용자 계정에서 제한된 관리자 작업을 수행하도록 허용하려는 경우에는 제약이 있습니다.

또 다른 옵션은 완전한 JEA에 도달하지 않고 제한된 엔드포인트JEA에서 제공하는 역할 모델, 가상 계정 또는 구조화된 RBAC에 크게 의존하지 않고도 cmdlet, 함수 및 모듈에 대한 접근을 제한하는 사용자 지정 세션 구성을 만들 수 있습니다. 이는 간단한 시나리오에는 적합한 중간 단계이지만, 대규모 환경에서는 확장성이 떨어질 수 있습니다.

  Hyper-V에서 검사점을 만들고 사용하기 위한 완전한 가이드: 유형, 관리 및 모범 사례

JEA는 여러 분야의 장점을 결합합니다. 엄격한 명령 제한, RBAC(역할 기반 접근 제어), 제어된 관리자 권한 실행 및 포괄적인 로깅따라서 이 방법은 관리자가 아닌 사용자에게 완전한 관리 환경을 제공하지 않고도 PowerShell 원격 접속을 활성화해야 할 때 권장되는 솔루션입니다.

고급 기능: 다른 계정으로 실행 및 로그인

JEA의 가장 강력한 기능 중 하나는 다음과 같습니다. 본인 자격 증명을 노출하지 않고 더 높은 권한을 가진 다른 계정으로 명령을 실행할 수 있습니다.이는 "X를 하려면 이 서비스의 비밀번호를 알려줄게"라는 식으로 비밀번호를 주고받은 후, 비밀번호가 변경되지 않아 큰 위험으로 이어지는 전형적인 문제를 해결합니다.

도메인 시나리오가 일반적으로 사용됩니다. 그룹 관리형 서비스 계정(gMSA) 이를 통해 JEA 엔드포인트는 중앙에서 관리되는 서비스 ID로 작업을 실행할 수 있으며, 암호는 자동으로 변경되고 운영자는 암호를 알 필요가 없습니다. 다른 경우에는 사용자가 연결할 때 임시로 생성되고 세션이 종료될 때 삭제되는 로컬 가상 계정이 사용됩니다.

감사 관점에서 각 JEA 세션은 다음과 같이 구성할 수 있습니다. PowerShell 스크립트와 풍부한 이벤트 로그 항목을 모두 생성합니다.일반적으로 수집되는 정보는 다음과 같습니다.

  • 입력한 명령 및 매개변수의 전체 기록입니다.
  • 생성된 출력 및 오류 메시지.
  • 세션 시작 및 종료 시간과 세션 지속 시간을 기록합니다.
  • 로그인한 사용자의 신원 및 할당된 역할/권한.

이러한 흔적들을 다음과 같은 기능들과 결합하면 PowerShell 모듈 로깅 및 스크립트 GPO를 통한 로깅 차단로그를 SIEM으로 전송하면 관리 엔드포인트에서 발생하는 상황을 확실하게 파악할 수 있습니다. 이는 규정 준수(SOX 감사, ISO 27001 등)와 사고 탐지 및 대응에 매우 중요합니다.

실제 환경에서의 일반적인 JEA 사용 사례

JEA는 특히 필요할 때 빛을 발합니다. 관리자 권한이 없는 팀에게 매우 구체적인 작업을 위임하는 것실제로 흔히 볼 수 있는 몇 가지 예는 다음과 같습니다.

기술 지원 분야에서는 최고 수준의 기술 전문가를 제공할 수 있습니다. JEA를 통해 서비스 재시작, 이벤트 로그 보기 및 프로세스 상태 확인이 가능합니다. 서버에 대한 접근 권한은 있지만 소프트웨어를 설치하거나 중요한 구성을 수정하거나 Active Directory에 접근할 권한은 없습니다. 일반적인 헬프데스크 역할에는 특정 서비스에 대한 Get-Service, Restart-Service와 같은 cmdlet, 읽기 전용 모드의 Get-EventLog, 그리고 일부 네트워크 진단 cmdlet이 포함될 수 있습니다.

운영팀이나 개발팀에서 다음과 같이 구성할 수 있습니다. IIS 관리 또는 웹사이트 유지 관리와 같은 특정 작업에 중점을 둔 역할예를 들어, 애플리케이션 풀 관리 cmdlet, 웹 사이트 재시작, 제한된 디렉터리에서 로그 조회, 특정 서비스에 대한 인증서 관리 등에 대한 액세스는 허용하되, 전체 서버를 재시작하거나 보안 정책을 수정할 수 있는 기능은 제외하는 것입니다.

하이브리드 및 클라우드 환경에서 JEA는 다음과 같은 용도로 자주 사용됩니다. 각 팀이 할 수 있는 일을 제한합니다. 가상 머신, 저장 또는 네트워크부서의 가상 머신만 관리할 수 있도록 엔드포인트를 노출하거나, 특정 세그먼트의 방화벽 규칙을 수정하거나, 특정 서비스 계정 집합을 관리할 수 있도록 하여 인프라의 나머지 부분과 액세스를 분리할 수 있습니다.

동시에 JEA는 다음과 매우 잘 어울립니다. 특권 접근 관리(PAM) 전략특권 세션은 일시적으로 부여되고, 기록되며, 개인 신원에 귀속되므로 계정 공유를 방지하고 각 특권 작업과 관련된 위험을 최소화합니다.

Windows 5에서 공유 폴더에 대한 권한 및 액세스 제한
관련 기사 :
Windows에서 공유 폴더에 대한 액세스를 단계별로 제한하는 방법