도메인 구성원 서버에서 원격 코드 실행을 방지하는 방법은 무엇입니까?

도메인 구성원 서버에서 원격 코드 실행을 방지하는 방법은 무엇입니까?

방화벽, 그룹 정책 설정 또는 기타 컨트롤을 사용하여 도메인 구성원에 로그인한 사람이 도메인 컨트롤러에서 원격으로 코드를 실행할 수 없도록 방지하는 방법이 있습니까(그렇지 않으면 네트워크 액세스 권한이 없음). 누군가의 도메인 관리자 자격 증명을 훔쳤을 수도 있나요? 아니면 일상적인 AD 멤버십에 필요한 네트워크 액세스가 원격 실행에 필요한 네트워크 액세스와 영원히 동일합니까?PsExec아니면 파워셸?

예를 간략하게 설명하려면 다음을 수행하세요.

  • Windows 서버 "member1"은 단순 AD 도메인의 도메인 구성원입니다.
  • Windows 서버 "dc1" 및 "dc2"는 이 단순 도메인의 도메인 컨트롤러입니다.
  • member1과 DC 사이에는 하드웨어 방화벽이 있으며, 해당 DC에만 하드웨어 방화벽이 있습니다.TCP 및 UDP 포트도메인 멤버십에 필요한 것은 member1과 DC 간에 허용됩니다.
  • 사용자 "Jack"은 "member1"의 사용자이며 이전 글머리 기호에서 설명한 액세스 외에 DC에 대한 네트워크 액세스가 없습니다.
  • Jack은 교활하며 사회 공학 공격이나 기타 방법을 통해 도메인 관리자 "Jill"의 자격 증명을 얻을 수 있습니다.
  • Jack은 이러한 자격 증명을 획득하고 member1에 로그인한 다음 다음을 사용하여 dc1 또는 dc2에서 원격으로 코드를 실행할 수 있습니다.PsExec또는 PowerShell은 .NET을 사용하여 자체 유틸리티를 롤업할 수도 있습니다. 왜냐하면 도메인 멤버십에 필요한 네트워크 액세스에는 이와 같은 원격 호출을 수행하는 데 필요한 네트워크 액세스가 포함되어 있기 때문입니다.

member1이 도메인에서 일상적인 AD 기능(인증, 그룹 정책 업데이트, 시간 동기화 등)만 수행할 수 있도록 하고 DC에서 프로세스의 원격 실행과 같은 다른 작업을 방지하여 이 공격을 중지하고 싶습니다.

답변1

이건 불가능 해. 도메인에 가입하면 해당 도메인은 사용자를 컴퓨터에 존재하도록 로그인하고 여기에 GPO를 적용할 수 있습니다. GPO로 인해 네트워크에서 소프트웨어가 설치되고 임의의 레지스트리 항목이 수정될 수 있습니다.

Enclave에서 RODC를 사용하면 Enclave에서 도메인을 보호할 수 있지만 도메인에서 Enclave를 보호하지는 않습니다. 하지만 이를 반대로 사용하여 보안을 강화할 수 있으며 모든 관리 컴퓨터가 RODC와만 통신하도록 하고 다른 DC만 쓰기 가능한 DC에 액세스하도록 허용할 수 있습니다.

도메인 손상으로부터 보호하려는 중요한 컴퓨터가 있는 경우 해당 호스트에 대해 별도의 도메인(별도의 포리스트)을 만들고 별도로 관리하는 것을 고려하십시오. 이는 보안 엔클레이브가 필요할 때 매우 일반적입니다. 특히 도메인이 거의 없는 경우 도메인에 전혀 가입하지 않는 것을 고려할 수도 있습니다.

귀하의 의견을 보면 귀하의 위협 모델이 무엇인지 잘 모르겠습니다.

정확히 무엇을 하느냐는 위협 모델에 따라 크게 달라집니다. 그러나 일반적으로 도메인 구성원과 임의 사용자는 도메인 컨트롤러에서 코드를 실행할 수 없습니다. 우려되는 공격인 경우 패치를 적용하는 것이 좋은 정책이며, 두 경우 모두 RODC를 사용하면 도메인에서 어떤 것도 변경할 수 없으므로 영향을 제한하는 데 도움이 될 수 있습니다.

사용자가 원격으로 명령을 실행하거나 도메인 컨트롤러에 로그인하는 것이 걱정된다면(일종의 권한 상승 익스플로잇 등을 사용하지 않고 도메인에 소프트웨어를 배포하는 등의 작업을 수행할 수 있는 권한을 부여하지 않음) 이를 방지할 수 있습니다. 그룹 정책에 따라 DC에 로그인하지 못하게 됩니다.

이에 대한 설정은 DC에 적용되는 GPO에 있습니다. Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment수행하려는 작업인 경우 ... 아래에 있습니다.

사용자(및 기타 보안 주체)는 도메인이나 컴퓨터에 바인딩되지만 둘 다에 바인딩되지는 않습니다. AD에서 연결하는 컴퓨터에 따라 도메인 관리자 권한을 거부하는 등의 작업을 실제로 수행할 수는 없습니다. 그러나 RODC가 아닌 DC에 대한 네트워크 액세스를 제한할 수 있으며 이는 위협 모델에 따라 임의 사용자 워크스테이션의 관리 작업을 방지하는 데 충분할 수 있습니다. 사용자가 RODC를 피벗 포인트로 사용하는 것을 방지하려는 경우(원하는 작업입니까?) RODC에 대한 모든 로그인 권한을 거부할 수 있지만 그렇게 하면 관리가 다소 어려워질 수 있습니다. 대신에 RODC만 허용하는 것이 좋습니다. RODC와 다른 DC 사이의 방화벽에 있는 DS 복제 포트.

열어야 하는 포트는 RODC 배포 설명서에 식별된 포트입니다. "필수 통신 포트" 섹션을 참조하세요.https://technet.microsoft.com/library/dd728028%28v=ws.10%29.aspx. 그러나 아쉽게도 RPC는 허용되어야 하며 이것이 psexec가 작동하는 방식입니다. 이렇게 하면 RDP와 같은 로그인만 금지할 수 있습니다.

이를 마무리하고 도난당한 자격 증명으로 psexec를 사용하는 것을 방지하려면 쓰기 가능한 도메인 컨트롤러에서 앞서 언급한 GPO를 통해 도메인 관리자가 일괄 작업 로그인을 항상 금지할 수 있습니다. 이렇게 하면 관리 효율성이 약간 떨어지지만 결정은 사용자가 내릴 수 있습니다. 이에 대한 유용한 문서와 도메인 관리자 계정 보안에 대한 기타 팁이 있습니다.https://technet.microsoft.com/en-us/library/dn487454.aspx. 포괄적인 도메인 관리자 대신 위임을 통해 관리 계정에 특정 관리 권한이 부여되는 위임된 액세스를 사용하는 것도 하나의 옵션일 수 있습니다.

답변2

도메인 컨트롤러에서 액세스하려면 무엇이 필요합니까? member1과 도메인 컨트롤러 사이에 방화벽이 있으므로 dc1과 dc2에 대한 모든 액세스를 차단한 다음 member1이 액세스할 수 있는 방화벽 외부에 읽기 전용 도메인 컨트롤러나 웹 프런트 엔드 등을 배치할 수 있습니다.

답변3

사전에 승인한 실행 파일을 제외하고 SRP 또는 AppLocker를 사용하여 DC에서 실행되는 모든 실행 파일(exe, bat, ps1 등)을 차단함으로써 다른 방향에서 이 문제를 공격할 수 있습니다. 그렇게 하면 접근 권한을 얻더라도 심각한 방해를 받게 됩니다.

그러나 누군가가 관리자 권한을 가지고 있다고 가정하면 대부분의 컴퓨터에서 도메인에 대해 원하는 모든 작업을 수행할 수 있습니다. DC는 대부분 인증을 위해 존재합니다.

그리고 Todd가 말했듯이 Jill을 믿을 수 없다면 여기서 권한을 제거하는 것이 좋습니다...

답변4

간단히 말해서 도메인 관리자는 자신이 원하는 모든 작업을 수행할 수 있습니다(따라서 도메인 관리자입니다!). 도메인 관리자 자격 증명을 훔친 사람을 차단할 수 있는 방법은 없습니다. 그는 당신이 마련한 보안 조치를 무시할 수 있습니다.

관련 정보