본문 바로가기
운영체제 (LNX,WIN)

그룹 정책을 통한 하드웨어 제한 관리

by 날으는물고기 2010. 2. 23.

그룹 정책을 통한 하드웨어 제한 관리

  • 하드웨어 설치 제한
  • 특정 장치 제한
  • 장치 클래스 제한
USB 디스크 키와 이동식 장치는 개인적 삶은 편하게 해 주지만 직업적 삶은 어렵게 합니다. 설치할 수 있는 하드웨어 장치와 설치할 수 없는 하드웨어 장치를 제어할 방법이 필요하기 때문입니다.
다행히 Windows Vista™와 차기 버전 Windows Server®(코드명 "Longhorn")의 그룹 정책을 사용하면 USB 마우스는 허용하고 열쇠고리형 USB 드라이브는 허용하지 않거나, CD-ROM 리더는 허용하고 DVD 라이터는 허용하지 않거나, Bluetooth는 허용하고 PCMCIA는 허용하지 않을 수 있습니다.
그룹 정책의 두 섹션인 컴퓨터 구성 | 관리 템플릿 | 시스템 | 이동식 저장소 액세스(그림 1 참조)와 컴퓨터 구성 | 관리 템플릿 | 시스템 | 장치 설치 | 장치 설치 제한(그림 2 참조)을 통해 하드웨어 보안을 강화할 수 있습니다.
 
그림 1 그룹 정책의 미리 정의된 하드웨어 제한
 
그림 2 제한할 하드웨어 종류 사용자 지정
첫 번째 집합인 이동식 저장소 액세스에서는 그 이름에서 알 수 있듯이 이동식 저장소(CD/DVD, 플로피 디스크 등)에 대한 정책 설정을 활성화하여 필요한 경우 해당 장치 유형 전체의 읽기 또는 쓰기를 제한할 수 있습니다. 그러나 장치 설치 제한만큼 강력하지는 않습니다.
이동식 저장소 액세스에는 사용자 지정 클래스: 읽기 권한 거부와 사용자 지정 클래스: 쓰기 권한 거부라는 정책 설정 그룹이 있습니다. 그런데 이동식 저장소 액세스 정책은 실제로 드라이버의 설치를 차단하지 않습니다. 하드웨어가 발견될 때는 해당 클래스의 드라이버가 이미 설치된 상태입니다. 정책이 실제로 차단하는 것은 장치의 읽기 또는 쓰기입니다. 다음 절에서는 장치 설치 제한 정책 설정을 살펴보면서 드라이버를 완전히 사용하지 못하도록 해 보겠습니다.

클래스와 ID에 대한 핸들 얻기
먼저 제한할 대상을 파악해야 합니다. 제한할 대상은 구체적 또는 포괄적으로 지정할 수도 있습니다. 즉, 특정 장치 "클래스"를 제한할 수도 있고 더 구체적으로 하나의 하드웨어 유형만 제한할 수도 있습니다. 또는 반대로 USB 마우스와 같은 특정 장치 클래스만 허용할 수도 있습니다. 그런데 이러한 작업이 실제로 효과를 내려면 제한하고자 하는 하드웨어를 찾아내야 합니다.
따라서 조이스틱 드라이버를 설치할 수 없게 하거나 USB 마우스만 설치할 수 있게 하려면 조이스틱과 USB 마우스를 가지고 있어야 합니다. 다른 방법은 인터넷을 사용하여 하드웨어 ID, 호환 가능 ID 또는 장치 클래스를 찾아내는 것입니다. 그런데 실제로 장치가 있으면 훨씬 간단해집니다. 장치가 있으면 이를 시스템에 연결하여 하드웨어 ID, 호환 가능 ID 또는 장치 클래스를 직접 확인할 수 있기 때문입니다. 이러한 정보를 확인하고 나면 장치를 사용하거나 사용하지 못하게 하는 방법을 정확히 알 수 있게 됩니다.
다음 예제에서는 Creative AutoPCI ES1371/ES1373이라는 특정 사운드 카드 제품군을 사용하지 못하도록 해 보겠습니다. 특정 USB 장치, USB 포트 등의 다른 장치를 사용하지 못하도록 할 때도 원하는 장치로 바꿔 이 방법을 사용하면 됩니다.
하드웨어 항목이 이미 설치된 시스템에서 장치 관리자를 엽니다. 장치를 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 자세히 탭을 선택합니다. 기본적으로 "장치 설명"이 표시됩니다. 이 정보는 흥미롭긴 하지만 그다지 유용하지는 않습니다. 속성 드롭다운을 선택하고 그림 3에서처럼 "하드웨어 ID"를 선택합니다.
 
그림 3 장치의 자세히 탭
하드웨어 ID 페이지에는 장치 ID가 위에서부터 가장 구체적인 것부터 가장 포괄적인 것 순으로 표시됩니다. 하드웨어 ID 값 목록에서 최상위 항목을 자세히 보면 이 사운드 카드가 구체적으로 ES1371 사운드 보드의 Rev 2임을 알 수 있습니다. 매우 구체적인 정보입니다. 목록에서 아래로 내려갈수록 설명은 점차 범위가 넓어져 전체 제품군을 포괄하게 됩니다.
또한 속성을 호환 가능 ID로 변경할 수 있습니다. 여기서도 하드웨어가 설명되지만 하드웨어 ID의 정보보다 덜 구체적입니다. 호환 가능 ID의 정보는 이렇게 덜 구체적이고 더 많은 결과를 생성할 수 있기 때문에 사용 금지 목록에 비슷한 하드웨어를 더 많이 넣을 때 사용할 수 있습니다. 물론 제한하고 싶지 않는 하드웨어가 제한될 수도 있는 단점이 있습니다.
마지막으로, 속성 드롭다운에서 장치 클래스를 선택하면 가장 포괄적인 범주를 찾을 수 있습니다. 필자의 경우 사운드 카드가 단순하게 미디어로 표시됩니다. 하지만 미디어로 간주될 수 있는 장치가 많기 때문에 포괄적일수록 더 많은 주의를 기울여야 합니다.
사용할 값을 결정한 다음에는 잊어버리거나 잘못 입력할 경우에 대비하여 해당 값을 마우스 오른쪽 단추로 클릭하고 복사를 선택한 후 메모장에 붙여 넣습니다. 다음 단계에서 값을 정확하게 입력해야 하기 때문에 표시된 그대로 복사하는 것이 중요합니다. 값의 대문자와 소문자를 모두 정확하게 복사해야 합니다.
장치 관리자 대신 명령줄 명령을 사용하여 하드웨어 ID나 장치 클래스를 얻으려면 support.microsoft.com/kb/311272에서 Devcon 유틸리티를 살펴보십시오. 또한 Microsoft에서는 자주 사용되는 클래스에 대한 ID를 많이 제공하고 있으며 이 정보는 장치를 보유하고 있지 못한 경우에 유용합니다. 자세한 내용은 go.microsoft.com/fwlink/?LinkId=52665를 참조하십시오.

그룹 정책을 통한 하드웨어 액세스 제어
컴퓨터 구성 | 관리 템플릿 | 시스템 | 장치 설치 | 장치 설치 제한(그림 2 참조)에 있는 모든 정책 설정을 살펴보겠지만 장치의 사용 가능 여부를 제어하기 위해 필요한 설정은 실제로 하나뿐입니다.
먼저 GPO(그룹 정책 개체)를 만들어 제어하고자 하는 Windows Vista 시스템이 포함된 OU(또는 도메인 등)에 연결합니다. 그런 다음 GPO에서 컴퓨터 구성 | 관리 템플릿 | 시스템 | 장치 설치 | 장치 설치 제한 | 이러한 장치 ID와 일치하는 장치 설치 금지로 이동합니다. 정책 설정에서 사용을 선택하고 표시를 클릭한 다음 "내용 표시" 대화 상자에서 추가를 선택합니다. 그런 다음 그림 4에서처럼 "항목 추가" 대화 상자에서 이전에 저장한 장치 정보를 붙여 넣습니다.
 
그림 4 장치 ID를 붙여 넣어 정확하게 설명 얻기
여기서 중요한 문제가 있습니다. 시스템에 장치가 이미 설치된 경우에는 자동으로 제거되지 않으며 액세스가 제한되지 않습니다. 따라서 하드웨어를 제한하려면 Windows Vista 배포의 초기 단계에서 제한해야 합니다. 그런데 Windows Vista는 장치가 제거되었다 다시 설치될 때마다 재확인한다는 점을 유의해야 합니다. 주로 재확인되는 항목으로는 꺼냈다가 다시 넣는 USB 드라이브가 있습니다. Windows Vista는 장치가 다시 연결되는 경우에만 재확인하므로 처음에는 시스템에 장치 드라이버가 로드되었더라도 이 시점에서는 장치가 제한됩니다. 더 어려운 문제는 시스템과 함께 제공되어 제거되었다 재설치되지 않는 장치입니다. 이러한 장치에 대해서는 아직 확실한 해결책이 없습니다.
하드웨어 장치를 연결한 적 없는 시스템을 켜면 Windows는 드라이버 설치를 시도하면서 진행 중에 상태 정보를 제공합니다. 이러한 장치를 제한하는 정책을 설정하면 그림 5와 같은 결과를 볼 수 있습니다.
 
그림 5 금지된 장치 설치

추가적인 하드웨어 제한
위의 예제에서는 하나의 장치만 제한했습니다. 원하는 경우에는 이와 반대로 기본적으로 모든 하드웨어를 제한하고 일부만 허용할 수 있습니다. 이러한 정책 설정의 목록은 그룹 정책의 컴퓨터 구성 | 관리 템플릿 | 장치 설치 | 장치 설치 제한 분기가 표시된 그림 2에서 볼 수 있습니다. 몇 가지 사용 가능한 설정에서 선택할 수 있습니다.
먼저 "관리자가 장치 설치 제한 정책을 다시 정의하도록 허용"이 있습니다. 기본적으로 Windows Vista의 로컬 관리자는 설정된 제한을 따라야 하지만, 이 설정을 사용하면 로컬 관리자가 기존 제한을 다시 정의하여 원하는 하드웨어를 모두 설치할 수 있습니다.
다음으로 "이러한 장치 설치 클래스와 일치하는 드라이버를 사용한 장치 설치 허용"이 있는데, 이 정책 설정에 장치 설명을 입력하면 시스템에 해당 장치를 설치할 수 있도록 명시적으로 허용하게 됩니다. 이 정책 설정은 예제에 사용되는 것처럼 장치 ID가 아니라 설치 클래스만 기준으로 삼는다는 점에 유의하십시오.
반대 효과를 얻으려면 "이러한 장치 설치 클래스와 일치하는 드라이버를 사용한 장치 설치 금지"을 설정할 수 있습니다.
그림 5에 나온 "정책에서 설치를 금지하는 경우 사용자 지정 메시지 표시(풍선 텍스트)"와 "정책에서 설치를 금지하는 경우 사용자 지정 메시지 표시(풍선 제목)"의 두 설정은 메시지를 사용자 지정하는 데 도움이 됩니다.
앞서 말했듯이 하드웨어를 설명하는 가장 포괄적인 방법은 하드웨어 클래스를 기반으로 하는 것입니다. "이 장치 ID 중 하나와 일치하는 장치 설치 허용" 정책 설정은 클래스 ID 설명을 기준으로 하지 않는 점에 유의해야 합니다. 클래스 ID 설명을 사용하려면 "이러한 장치 설치 클래스와 일치하는 드라이버를 사용한 장치 설치 허용" 또는 "이러한 장치 설치 클래스와 일치하는 드라이버를 사용한 장치 설치 금지"를 사용합니다. 두 번째 정책은 "다른 정책 설정에 의해 기술된 장치 설치 방지" 설정과 함께 사용할 때 가장 효과적입니다. 기본적으로 모든 것을 금지한 다음 이 설정을 사용하면 허용할 장치를 세밀하게 지정할 수 있습니다.
예제에서는 "이러한 장치 ID와 일치하는 장치 설치 금지" 정책을 사용하여 장치 ID를 기준으로 특정 하드웨어 유형을 제한했습니다. 장치 클래스를 사용하여 제한을 구현하려면 "이러한 장치 설치 클래스와 일치하는 드라이버를 사용한 장치 설치 허용" 또는 "이러한 장치 설치 클래스와 일치하는 드라이버를 사용한 장치 설치 금지" 등의 다른 구체적인 정책 설정을 이용해야 합니다.
"이동식 장치 설치 금지"는 USB 장치를 포함하여 이동식으로 설명되는 모든 하드웨어 장치를 제한하는 빠르고 일반적인 방법입니다. 이 설정은 상당히 포괄적이기 때문에 너무 자주 사용하지 않는 것이 좋습니다. 대신 앞서 설명한 방법을 사용하여 적당하게 제한적인 장치 ID를 얻어 구체적으로 금지하는 것이 좋습니다.
마지막으로, "다른 정책 설정에 의해 기술된 장치 설치 방지"는 설치할 수 있는 장치를 명시적으로 지정한 경우를 제외하고 기본적으로 모든 하드웨어를 제한하는 포괄적인 정책 설정입니다. "이 장치 ID 중 하나와 일치하는 장치 설치 허용" 등의 여러 "허용" 정책을 이 정책과 함께 사용하면 해당 환경에서 원하는 하드웨어만 허용할 수 있는 강력한 방법이 됩니다.

결론
Windows Vista의 그룹 정책에는 해당 환경에서 원하는 하드웨어만 허용하려고 할 때 매우 유용한 강력한 여러 가지 항목이 추가되어 있습니다. 배포 초기 단계에 정책 설정을 구현하기만 하면 네트워크에서 허용하고 싶지 않은 하드웨어의 연결을 완전히 차단할 수 있습니다.


Microsoft 그룹 정책 수석 프로그램 관리자인 Michael Dennis와의 인터뷰
최근 필자는 Microsoft의 그룹 정책 팀을 초창기부터 이끌어온 Michael Dennis와 인터뷰를 했습니다. Michael은 그룹 정책 팀을 떠나 Microsoft의 다른 분야에 진출할 예정입니다. 필자는 Michael과의 인터뷰를 통해 그룹 정책 팀의 지난 9년 동안의 발자취와 향후 전망에 대해 이야기를 나눴습니다.

Jeremy Moskowitz Microsoft에서 그룹 정책 팀을 이끄는 동안 달성한 최고의 성과는 무엇이라고 생각하십니까?

Michael Dennis 최고의 성과는 그룹 정책이라는 것의 개발에 집중하던 때로 거슬러 올라갑니다. 이미 Win­dows NT® 4.0에 시스템 정책이 있었기 때문에 저희는 이것을 분석하고 문제점을 찾았습니다. 당시는 Active Directory® 개발 단계였기 때문에 클라이언트와 서버의 관리 작업을 보다 효과적으로 처리하는 데 필요한 사항을 찾고 있었습니다.
그룹 정책을 계층 구조에 통합한다는 개념과 이 개념이 현실화된 적이 없었다는 것이 저희에게 가장 어려운 문제였습니다. 따라서 저희는 코어 인프라, 클라이언트 프로세스 및 Active Directory와의 통합에 주력했습니다.
최고의 성과에는 최악의 성과도 따랐습니다. Windows 2000에 도입한 GUI에 문제가 많았기 때문이죠. 그룹 정책의 경우 관리자가 전반적인 작동 방식을 잘 알아야 했기 때문에 이를 효과적으로 사용하려면 그룹 정책 박사가 되어야 했습니다. 그래서 저희는 그때 GPMC(그룹 정책 관리 콘솔)와 RSoP(정책 결과 집합)를 만들어서 제공했으면 좋겠다는 생각을 했고 사양에 포함했었습니다.

JM 그룹 정책 환경에 포함하고자 했던 항목으로는 무엇이 있습니까?

MD 다행인 점은 Windows 2000이 출시된 이후로 줄곧 원해 왔던 RSoP, GPMC, 향상된 여러 설정 등이 이제 Windows Vista에 포함되었다는 것입니다. 더 일찍 포함했으면 좋았을 것이라는 생각을 합니다.
또한 파트너가 보다 쉽게 그룹 정책 인프라를 확장할 수 있기를 바랬습니다. 저희가 개발한 서버/클라이언트 측 확장 모델에는 개발자의 작업이 많이 필요합니다. 그런데 분명한 건 ADM/ADMX 템플릿 구조에서 쉽게 확장할 수 있는 프레임워크를 제공하고 있다는 것입니다. 그렇지만 사용자가 이를 통해 더 많은 유형의 설정을 확장할 수 있으면 더 좋았을 것입니다.
또한 파트너와 타사 도구 개발자가 보다 쉽게 GPMC 보고 기능을 확장할 수 있기를 원했는데, 이 부분은 타사 도구 공급업체에서 요구가 많았던 사항이기도 합니다.

JM 그룹 정책 팀에 대해 사람들이 잘 모르고 있는 것은 무엇입니까?

MD 사람들은 때로 그룹 정책 팀이 전체 프로젝트에서 차지하는 역할에 대해 의아해합니다. 기본적으로 저희 팀은 인프라, 전달, 서버 및 클라이언트 측 기능을 구축합니다. Windows Vista 하나만 놓고 볼 때 저희는 Microsoft에서 약 120개의 팀과 함께 작업하여 새로운 설정을 도입했습니다.
부팅이나 로그온 시 시스템 속도 저하 문제가 전적으로 그룹 정책 때문이라고 생각하지 않으셨으면 좋겠습니다. 속도가 느려진다면 그 책임은 그룹 정책이 아니라 그룹 정책의 작업량에 있는 것입니다. 무언가 부하가 큰 작업을 하도록 그룹 정책에 지시하면 그룹 정책은 그 지시에 따를 뿐입니다. Microsoft Office를 시스템 단위로 설치하라고 지시하는 경우를 예로 들어보겠습니다. 그룹 정책은 지시된 작업을 수행하며 로그온 프롬프트가 나타나기 전에 모든 Office를 설치합니다. 이때 속도가 느려질까요? 당연합니다. 그런데 이는 그룹 정책 때문이 아니며 프로그램을 배포한 관리자가 자초한 결과일 뿐입니다.

JM 그룹 정책을 사용할 때 자랑할 만한 것들은 무엇이 있습니까?

MD 요즘에는 Windows Vista에 추가된 여러 가지 새로운 설정을 내세우고 싶습니다. USB 스틱 등의 하드웨어를 제한하는 이동식 장치 설정은 사용자의 요구가 많았던 설정입니다. Windows Vista에는 관리자의 제어 수준을 크게 높여 주는 약 2,400개의 설정이 있습니다. 저는 먼저 사용자에게 무엇을 제어하고 싶은지 물어본 다음 그 방법을 보여드립니다.

JM ADM 파일을 ADMX 파일로 바꾼 이유는 무엇입니까?

MD 기술적으로 Windows Vista의 새로운 중앙 저장소 기능에 액세스하기 위해 변경한 것은 아닙니다. ADMX로 변환한 주요 이유는 여러 언어를 적절히 지원하기 위해서였습니다.
기존의 다중 언어 환경에서는 GPO 내의 ADM 파일 내용이 다른 언어로 기록되는 상황이 종종 있었습니다. 그 유래를 살펴보면 ADM 형식은 Windows NT 4.0에서 차용되었고, 그 이전에는 Windows 98에서 차용되었으며, 다시 그 이전에는 Windows 95에서 차용되었습니다. 당시에 XML이 있었다면 XML이 유력한 파일 형식이었을 것입니다.
그런데 이제는 XML이 있기 때문에 보다 쉽게 여러 언어를 지원할 수 있게 되었으며, 앞으로는 저희가 제공하는 체계화된 언어로 레지스트리와 설정을 향상시킬 기회가 많아질 것입니다.

JM 그룹 정책 팀에서 일하면서 내부에서 극복해야 했던 가장 큰 어려움은 무엇이었습니까?

MD 저희 팀이 겪는 가장 큰 어려움은 Windows의 다른 구성 요소에서 정책을 통해 해당 기능을 활성화하도록 하는 것입니다.
다른 팀이 "저희 팀에서 방금 이 새로운 멋진 기능을 개발했는데, 사용자가 이 기능을 끌 필요가 있을까요"라고 말할 수 있으며, 충분히 이해가 가는 말입니다. 그러나 저희 팀은 이러한 문제를 무수히 많이 처리했습니다.
또한 새로운 기능인 WFAS(고급 보안이 포함된 Windows 방화벽)와 같이 정책으로 무언가를 활성화하는 작업에 대한 기술적 어려움도 존재합니다. WFAS는 다루기가 쉽지 않습니다. 정책으로 올바르게 이 기능을 활성화하는 것은 쉽지 않습니다. WFAS 팀이 Windows Vista용으로 개발한 인터페이스는 매우 우수하지만 이를 제대로 작업하기는 어려웠습니다.
Windows Vista 이전 버전의 Windows에서는 제품 팀이 정책을 통해 자신들의 구성 요소를 활성화하는 것에 대해 고려하지 않는 경우가 있었습니다. 그러나 Windows Vista 개발 단계에서는 상당히 많은 팀에서 저희 팀에게 이러한 방법을 문의했습니다. 이는 큰 발전이었습니다.
JM 향후 계획은 무엇입니까?

MD 저는 스마트 폰, Pocket PC 등을 담당하는 "Mobile Information Worker" 팀으로 옮깁니다 이 팀에서 저는 Windows Server System의 관리 기술 일부를 Windows Mobile® 장치로 확장하는 일을 담당할 것입니다.
관리 편의성에 대한 저의 시각과 열정을 이 새로운 분야에도 그대로 적용할 것입니다. 저는 그룹 정책 팀이 저 없이도 더 발전할 수 있는 매우 좋은 상황에서 이 팀을 떠납니다.

JM 독자에게 하고 싶은 다른 말씀이 있습니까?

MD 그룹 정책 개발에서 중요한 한 가지 단계는 고객에게 다가가 그들이 원하는 것을 이해하는 것이었습니다. 고객이 그룹 정책으로 처리하고자 하는 시나리오에 대해 체계적인 의견을 가지고 있고 무언가를 하기 위한 비즈니스 사례가 있다면 저희에게 알려 주셔야 합니다.
훌륭한 의견 수렴 페이지인 WindowsServerFeedback.com을 통해 누구든지 의견을 전달하실 수 있습니다. 여기서 Group Policy(그룹 정책) 단추를 찾아주십시오.
당면 문제와 비즈니스 사례, 시스템에서 수행해야 하는 작업과 그 이유 등을 포함하여 의견을 적어 주시면 상당히 도움이 될 것입니다. 그룹 정책에 대한 의사 결정을 내리는 담당자가 고객이 보낸 의견에서 모든 정보를 꼼꼼하게 살펴봅니다.
그룹 정책의 발전에 도움이 될 만한 의견이 있으면 필요한 것을 저희에게 말씀해 주십시오. 그러나 이유에 대한 설명 없이 "이러 이러한 것을 수행하는 정책 설정이 필요합니다."라는 식의 의견은 피해주십시오. "방법"을 찾는 것이 저희의 일입니다. 그룹 정책 팀에서 진정으로 알아야 하는 것은 "이유"입니다.
JM Microsoft 그룹 정책 팀에서의 경험을 말씀해 주시기 위해 시간 내주셔서 감사합니다. 유용한 시간이었습니다.
MD 감사합니다.


출처 : technet.microsoft.com
728x90

댓글