Computer >> 컴퓨터 >  >> 시스템 >> Windows Server

그룹 정책 기본 설정(GPP)으로 Windows 프록시 설정 중앙 관리하기

이 글에서는 Active Directory 도메인 환경에서 그룹 정책(Group Policy)을 사용해 Windows 10 컴퓨터의 프록시 설정을 중앙 집중식으로 구성하는 방법을 살펴봅니다. Microsoft Edge, Google Chrome, Internet Explorer, Opera 등 대부분의 인기 브라우저와 다양한 응용 프로그램은 Windows에 설정된 프록시 설정을 자동으로 사용하여 인터넷에 접속합니다. 아울러 Windows에서 WinHTTP 프록시를 설정하는 방법도 함께 알아보겠습니다.

여기서 다루는 내용은 지원되는 버전의 Windows(Windows 10, 8.1, Windows Server 2012/2016/2019)를 기준으로 합니다. 참고로 지원이 종료된 Windows 7/Server 2008 R2 또는 Windows XP/Server 2003에서는 프록시 설정 방식이 다르므로 주의가 필요합니다.

GPO로 Windows 프록시 설정 구성하기

과거에는 Active Directory 도메인 환경에서 Internet Explorer 설정(프록시 포함)을 그룹 정책으로 중앙 관리할 때 Internet Explorer Maintenance(IEM) 정책을 사용했습니다. 이 정책은 사용자 GPO의 사용자 구성 → 정책 → Windows 설정 → Internet Explorer Maintenance 경로에 위치해 있었습니다. 그러나 Windows Server 2012/Windows 8부터 IEM 정책은 더 이상 지원되지 않으며(deprecated), 최신 Windows 10/Windows Server 2016/2019 버전에는 해당 섹션이 존재하지 않습니다.

최신 Windows 버전에서는 GPO 편집기에서 IE 및 프록시 설정을 구성할 때 그룹 정책 기본 설정(Group Policy Preferences, GPP)을 사용해야 합니다. Internet Explorer Administration Kit 11(IEAK 11) 확장을 활용하는 방법도 있지만 실무에서는 거의 사용되지 않습니다.

먼저 도메인 GPO 편집기 콘솔(그룹 정책 관리 콘솔, GPMC.msc)을 실행하고, 프록시 설정을 적용할 사용자가 속한 OU를 선택한 뒤 이 도메인에 GPO 생성 후 여기에 연결 메뉴로 새 정책을 생성합니다.

다음으로 사용자 구성 → 기본 설정 → 제어판 설정 → 인터넷 설정으로 이동하여 마우스 오른쪽 버튼 클릭 후 새로 만들기 → Internet Explorer 10을 선택합니다.

Windows 10/Windows Server 2016에서 프록시 설정을 구성하려면 반드시 Internet Explorer 10 항목을 사용해야 합니다.

팁: Internet Explorer 11 전용 옵션은 별도로 없지만, Internet Explorer 10 정책은 IE 10 이상의 모든 버전에 적용됩니다. 정책 파일인 InternetSettings.xml을 확인하면 해당 옵션이 IE 10.0.0.0부터 99.0.0.0까지 모든 버전에 유효함을 알 수 있습니다.

<FilterFile lte="0" max="99.0.0.0" min="10.0.0.0" gte="1" type="VERSION" path="%ProgramFilesDir%\Internet Explorer\iexplore.exe" bool="AND" not="0" hidden="1"/>

정책을 저장하면 Windows 제어판의 인터넷 옵션과 거의 동일한 GPP 전용 IE 설정 화면이 나타납니다. 예를 들어 일반 탭의 홈 페이지 필드에서 시작 페이지를 지정할 수 있습니다.

중요: 그룹 정책 편집기에서 변경 사항을 단순히 저장하는 것만으로는 부족합니다. Internet Explorer 10 설정 항목에는 빨간색과 초록색 밑줄이 표시되는데, 빨간색 밑줄은 해당 설정이 적용되지 않음을 의미합니다. 특정 설정을 저장하고 적용하려면 F5 키를 눌러야 하며, 초록색 밑줄이 표시된 항목만 GPP를 통해 실제로 적용됩니다.

사용 가능한 기능 키는 다음과 같습니다.

  • F5 – 현재 탭의 모든 설정 활성화
  • F6 – 선택한 설정만 활성화
  • F7 – 선택한 설정 비활성화
  • F8 – 현재 탭의 모든 설정 비활성화

프록시 설정을 지정하려면 연결 탭으로 이동한 후 LAN 설정 버튼을 클릭합니다. 프록시 서버는 다음 세 가지 방식 중 하나로 구성할 수 있습니다.

  • 설정 자동 검색 – wpad.dat 파일을 이용한 자동 설정 감지
  • 자동 구성 스크립트 사용 – 자동 구성 스크립트(proxy.pac) 지정
  • 프록시 서버 – 프록시 서버의 IP 주소 또는 DNS 이름을 정책에 직접 입력하는 가장 간단한 방식

여기서는 사용자 LAN에 프록시 서버 사용 옵션을 체크하고, 주소포트 필드에 프록시 서버의 IP/FQDN 이름과 연결 포트를 입력하는 방식을 사용하겠습니다.

로컬 주소는 프록시 서버를 사용하지 않음 옵션을 활성화하면 응용 프로그램과 브라우저가 로컬 리소스(https://localnetwork 형식)에 접근할 때 프록시를 우회합니다. 다만 https://web1.woshub.lochttps://192.168.1.5처럼 FQDN 또는 IP 형태의 주소는 Windows가 로컬 주소로 인식하지 못합니다. 따라서 프록시 없이 접근해야 하는 리소스 주소는 고급 버튼을 눌러 다음으로 시작하는 주소는 프록시 서버를 사용하지 않음 필드에 직접 추가해야 합니다. 예시 형식은 다음과 같습니다: 10.1.*;192.168.*;*.woshub.loc;*.local.net

팁: Google Chrome의 프록시 설정 역시 특수 관리 템플릿을 통해 GPO로 구성할 수 있으며, Mozilla Firefox에도 유사한 솔루션을 적용할 수 있습니다.

정책을 저장하면 도메인 컨트롤러의 정책 폴더에서 지정된 브라우저 설정이 담긴 InternetSettings.xml 파일을 확인할 수 있습니다.

\\UKDC1\SYSVOL\woshub.com\Policies\{PolicyGuiID}\User\Preferences\InternetSettings\InternetSettings.xml

GPP의 항목 수준 대상 지정(Item Level Targeting) 기능을 활용하면 정책을 더욱 세밀하게 사용자/컴퓨터에 적용할 수 있습니다. 공통 탭에서 항목 수준 대상 지정 옵션을 활성화하고 대상 지정 버튼을 클릭합니다.

열리는 창에서 정책 적용 조건을 지정합니다. 예를 들어 프록시 구성 정책이 proxy_users 도메인 보안 그룹에 속한 사용자에게만 적용되도록 설정할 수 있습니다. 조직의 요구 사항에 맞게 자유롭게 논리를 구성하면 됩니다.

이제 프록시 정책을 사용자가 있는 AD 컨테이너에 연결하고 클라이언트에서 정책을 갱신하면 됩니다. 정책이 적용된 후에는 새로운 IE 설정이 사용됩니다. Windows 10에서는 설정 → 네트워크 및 인터넷 → 프록시에서 현재 프록시 설정을 확인할 수 있으며, 도메인 정책에 지정된 프록시 설정이 적용된 것을 볼 수 있습니다.

추가로 사용자가 임의로 프록시 서버 설정을 변경하지 못하도록 차단하는 정책도 함께 구성하는 것이 좋습니다.

레지스트리와 GPO로 프록시 설정 구성하기

GPP 정책을 통해 레지스트리를 수정하는 방식으로도 IE 설정을 구성할 수 있습니다. 예를 들어 프록시 서버를 활성화하려면 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings 레지스트리 키에 다음 매개변수들을 설정해야 합니다. GPO 편집기에서 사용자 구성 → 기본 설정 → Windows 설정 → 레지스트리 섹션으로 이동하여 지정된 레지스트리 키 아래에 세 개의 레지스트리 값을 생성합니다.

  • ProxyEnable (REG_DWORD) = 00000001
  • ProxyServer (REG_SZ) = 192.168.0.11:3128
  • ProxyOverride (REG_SZ) = https://*.woshub.com;192.168.*;10.1.*;*.contoso.com;<local>

여기서도 항목 수준 대상 지정을 사용해 특정 사용자나 장치에만 정책을 적용할 수 있습니다.

사용자별(per-user)이 아니라 컴퓨터 전체(per-computer) 단위로 프록시 정책을 만들어야 한다면, GPO의 컴퓨터 구성 → 기본 설정 → Windows 설정 → 레지스트리 섹션을 사용하고 HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings 키 아래에 동일한 레지스트리 값을 설정하면 됩니다.

GPO로 WinHTTP 프록시 설정 변경하기

일부 시스템 서비스나 응용 프로그램(예: Wususerv 업데이트 서비스, PowerShell)은 기본적으로 사용자의 프록시 설정을 사용하지 않습니다. 이런 응용 프로그램이 정상적으로 작동하고 인터넷에 접속하려면 Windows의 WinHTTP 프록시 설정을 별도로 구성해야 합니다.

컴퓨터에 WinHTTP 프록시가 구성되어 있는지 확인하려면 다음 명령을 실행합니다.

netsh winhttp show proxy

응답이 "Direct access (no proxy server)"라면 프록시가 설정되어 있지 않다는 의미입니다.

다음 명령으로 컴퓨터에 WinHTTP 프록시를 수동으로 설정할 수 있습니다.

netsh winhttp set proxy proxy.woshub.com:3128 "localhost;10.1.*;192.168.*;*.woshub.com"

또는 사용자의 Internet Explorer 설정에서 프록시 정보를 가져올 수도 있습니다.

netsh winhttp import proxy source=ie

그러나 WinHTTP는 GPO를 통해 직접 구성할 수 없습니다. GPO 편집기에 해당 매개변수가 없으며, 설정값이 이진(binary) 레지스트리 속성에 저장되어 직접 편집에 적합하지 않기 때문입니다.

GPO로 Windows에서 WinHTTP 프록시를 설정하는 유일한 방법은 다음과 같습니다. 먼저 기준(reference) 컴퓨터에서 WinHTTP 프록시를 구성한 뒤, HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections 레지스트리 키의 WinHttpSettings 값을 내보내고, 이 값을 GPP 레지스트리 확장을 통해 도메인 컴퓨터들에 배포하는 것입니다.