현재 내 데스크톱 PC에서는 Ubuntu를 그 OS로 사용하고 있었으므로, 그간 Windows Vista를 intensive하게 사용할 일이 별로 없었는데, 이번에 구매한 HP Pavilion tx 2530AU 태블릿 노트북에 번들로 설치된 Windows Vista를 사용하게 되면서 그간 원성이 자자(?)했던 Windows Vista의 강화된 보안이 야기하는 여러가지 불편함들을 겪어보고, 나름 해결해 보았다.
우선, User Account Control (UAC)의 존재이다. UAC는 간단히 말해서, 시스템에서 관리자 권한이 필요한 작업이 발생할 시(그것이 응용 프로그램에 의한 것이든 사용자에 의한 것이든) 일반 사용자 권한이 관리자 권한으로 승급되게 되는 메커니즘을 말하는 것으로, 사실 이것은 원래부터 다중 사용자(multi user)를 상정하고 만들어진 유닉스 계열의 OS에서는 기본적으로 갖추어진 기능이다. 이것이 Vista에서만 문제가 되는 것은, Vista 이전의 Windows 계열 OS에서 만들어진 응용 프로그램이 일반 사용자 권한과 관리자 권한을 정확히 구분하지 않기 때문이다. 정확히 말해, 그럴 필요가 없었다. 이전의 Windows 시스템에서는 다 관리자 권한으로 실행이 되었기 때문이다. 물론 관리자 권한과 일반 사용자 권한이 그 때에도 존재하긴 하였으나 일반 사용자 권한은 여러가지 불편한 점들로 인해 거의 사용되지 못했다고 봐야 옳다. (이는 데스크톱 버전의 Windows 계열 OS의 경우이며, 서버의 경우는 다소 다를 수도 있다.)
아무튼, UAC는 Windows OS가 강화된 보안으로 가기 위한 과도기적 단계에서 사용자들로 하여금 엄청난 불편함을 겪게 만들었으며, 종종 Vista에서 가장 쓰레기 같은 기능으로 치부되기도 한다. 심지어 애플로부터 조롱을 받기도 했다. 그러나 UAC 그 자체는 훌륭한 보안 메커니즘이며, 나의 이전 포스트에도 언급하였다시피 루트킷 방어에 효율적이라는 보고가 있으므로, 그렇게 완전히 쓸모 없는 것은 아니라는 게 나의 판단이다. 또한, Windows 7에서는 사용자의 편의를 위해 UAC에 대폭 수정을 가했다니 지금부터 익숙해 두는 것(?)도 나쁘지 않을 것 같다는 것이 나의 생각이다.
보통은 그 불편함 때문에 많이들 꺼놓지만, 나의 경우 이렇게 완전히 꺼두는 것은 뭔가 좀 찜찜하여 다른 해결책을 찾던 중, "TweakUAC"라는 프로그램을 발견했다. TwakUAC는 이름에서 알 수 있다시피 UAC를 "Tweak" 할 수 있게 해준다. 이 프로그램은 특히 Windows Vista Business 혹은 Ultimate 에디션이 아닌 Home 에디션을 사용하고 있거나, 레지스트리 편집이 두려운 사람에게 유용하다. 이 말은, Business 혹은 Ultimate 에디션에서는 관리 도구 내에 보안 관련 도구 등을 이용해서 직접 UAC의 제어가 가능하며, Home 에디션에서는 이런 도구를 제공하지 않으므로 직접 레지스트리를 수정하여 제어할 수 있다는 말이다. 나의 태블릿의 경우, Windows Vista Home Premium K가 설치되어 있으므로, 레지스트리를 수정해야 하는데, 레지스트리를 직접 수정하는 것은 언제나 위험을 동반하며, 쓸만한 GUI 툴이 있는데 이를 사용하지 않을 이유는 어디에도 없다. :)
TweakUAC는 배포 사이트에서 밝히고 있다시피 완전히 무료이며, 설치도 필요없는 무설치 프로그램으로 사용하기가 매우 편리하다. TweakUAC는 UAC를 켜거나 끄는 기능과 "quiet 모드"로 구동시키는 기능을 가지고 있다. UAC를 켜거나 끄는 것은 사실 이 프로그램 없이도 Vista의 모든 에디션에서 그냥 할 수 있는 일이지만 "quiet 모드"라는 것은 주목할만 하다. 내가 이 프로그램을 선택한 이유가 바로 이것이기 때문이다. 해당 기능의 선택 항목에도 잘 설명되어 있듯이 이 이른바 "정숙 모드"는 Administrators 그룹에 속한 사용자가 권한 승급이 필요한 작업을 수행할 때 권한 승급 허용할 것인가 하는 것을 묻지 않게 한다. 그외에 일반 사용자 혹은 응용 프로그램이 권한 승급이 필요한 작업을 수행하려고 하면 UAC가 정상적으로 동작한다. 제작자가 직접 밝히고 있다시피 이 모드는 전혀 보안성을 저해하거나 훼손하지 않는다. 물론, 사용자의 보안에 관한 인식 부재를 부채질할 수 있겠지만 그건 어디까지 사용자 문제이며, 시스템 상으로는 보안에 문제가 없다고 한다. 나 또한 이 의견에 동의하며, 이 quiet 모드는 정숙 모드라기 보다 차라리 "평온 모드"라고 불리우는 것이 더 타당하다고 생각한다. 사용자를 귀찮음에서 해방시켜 "평온"하게 만들어 주기 때문이다. :)
또다른 불편함으로는, 시작 프로그램의 차단을 들 수 있다. 처음에는 기본적으로 설치되는 Windows Defender가 시작 프로그램을 감시하는데, 나의 경우 내가 속한 기관에서 V3 Internet Security를 제공하므로 중복된 기능이 실행됨으로해서 리소스가 낭비되는 것을 막고자 Windows Defender를 아예 disable해 버렸다. 그러나 Windows Defender가 disable 되어도, 관리자 권한을 요하는(다시 말해, UAC 권한 승급을 요하는) 시작 프로그램의 경우 실행이 차단된다. 나는 사실 이전에 포스팅했다시피 Synergy를 관리자 권한으로 자동 시작하게 하는 것이 필요했기 때문에, 시작 프로그램의 차단을 선택적으로 막을 수 있는 방법이 없을까 고민하게 되었다. 웃긴 건, 왜 사용자가 이를 기본적으로 제어할 수 있도록 해주지 않냐는 것이다. (물론 방법이 있을 수도 있다. 그러나 적어도 나는 모르겠다.;)
그러던 중 "Startup Program Unblocker"를 발견하게 되었다. 이 프로그램은 시작 프로그램을 선택적으로 관리자 권한으로 실행되게 해준다. "TweakUAC"와 마찬가지로, 이도 사실 수동으로 할 수는 있으나, 프로그램을 사용하는 것이 쉽고 간편하다. Normal (Blocked)과 Run as admin, Don't start의 세가지 옵션을 제공하며, 이중 Run as admin 옵션을 사용하면 원하는 바를 이룰 수 있다. 또한 "TweakUAC"처럼 무설치 프로그램으로 편리하게 실행할 수 있다.
이 프로그램도 사실 한계가 있어서, 어떤 사용자가 로그인하여도 시작되게 설정된 응용 프로그램들(즉, 위에서 "HncUpdate.exe"처럼 시스템 레지스트리로부터 시작되는 프로그램들)의 관리자 권한 실행은 할 수 없다. 프로그램 상의 한계라기 보다, Windows 자체가 일반 사용자가 응용 프로그램을 관리자 권한으로 실행하려 할 때 관리자 계정명 및 암호를 직접 입력하여 관리자 권한을 획득하도록 하고 있기 때문이다. 즉, 일반 사용자 로그인 시 관리자 권한으로 실행되는 시작 프로그램들의 정상 작동을 기대할 수 없기 때문이다. 반면, "Administrators" 그룹에 속한 사용자의 레지스트리에 등록된 시작 프로그램의 경우 얼마든지 위에서 얘기한 옵션들로 조정이 가능하다.
사실 내가 TweakUAC와 Startup Program Unblocker를 찾게된 계기는 다 Synergy 때문이다.; 이전 포스트에서도 적었다시피, 리눅스 서버에 Windows Vista 클라이어트로 Synergy를 사용하려니 여러가지 불편함들이 있어서(특히 Vista의 보안 정책 때문에) 이것들을 해결하려다 보니 저 프로그램들을 찾게 된 것이다. 게임을 위해 데스크톱 PC를 Vista로도 멀티 부팅하는데, 이 때에는 그런 강화된 보안으로 인한 불편함들도 보안을 위해 감수할 수 있었다.;
아무튼, 이래저래 손봐주니 내 태블릿 PC도, Synergy도 무리없이 편하게 사용할 수 있게 된 것 같아서 기쁘기 한량없다. :) Windows Vista를 사용하시는 분들도 또한 위의 툴들을 이용하여 편리하게 Vista를 쓸 수 있게 되기를 바란다.
* 참고
- http://www.tweak-uac.com
- http://surewin.kr/vista/9987
- http://www.jimmah.com/vista/Applications/autostart_admin_program.aspx
** 추가 **
Startup Program Unblocker 사용에 관한 팁을 추가한다. 위에서 시스템 레지스트리로부터 시작되는 프로그램들의 관리자 권한 실행을 할 수가 없다고 하였는데, 이를 우회하는 방법을 알아 내게 되었기에 여기에 그 방법을 기술한다. 시스템 레지스트리로부터 시작되는 것이 문제라면, 간단히 사용자 레지스트리로부터 시작되게 하면 되는 것이라는 게 그 방법의 핵심 아이디어이다. 물론 레지스트리 수정을 해야하기 때문에 아주 간단한 것은 아니지만. :)
Windows 키 + R을 눌러 실행 대화창을 띄운 뒤, "msconfig"를 입력하여 시스템 구성창을 연다. "시작프로그램" 탭을 보면 시작 프로그램이 나열되어 있는 것을 볼 수 있는데, 이 중에서 시스템 레지스트리에 등록되어 있어 관리자 권한 실행이 불가능한 프로그램의 명령을 확인한다. 프로그램 실행 파일명 및 전체 경로명이 모두 필요하다. 여기서는 "C:\full\path\to\someprogram.exe"라고 하기로 하자.
실행창에서 "regedit"를 입력하여 레지스트리 편집창을 연 뒤, 다음의 위치로 간다.
이 위치를 보면 시작 프로그램 몇 개가 등록되어 있을 것이다. 마우스 우클릭하여 "새로 만들기"에서 "문자열 값"을 선택하여 문자열 값 항목을 생성한 뒤, 이름은 임의로 주고, 더블 클릭하여 내용을 편집하는데, 시스템 구성창에서 확인하였던 프로그램 명령을 입력한다. 즉, 위의 예에서는 "C:\full\path\to\someprogram.exe"를 입력하면 된다. 뒤에 몇 가지 옵션이 더 있을 수도 있으니, 모든 옵션을 정확하게 입력한다. 레지스트리는 자동으로 저장되니 편집 후 창을 그냥 닫으면 된다.
이제 다시 재부팅해보면 Windows가 관리자 권한이 필요한 시작 프로그램을 차단할 것이다. 이제 Startup Program Unblocker가 나설 차례이다. Startup Program Unblocker를 실행해보면, 원하는 프로그램이 사용자 레지스트리로부터 시작되는 분류에 있을 것이다. 오른쪽의 드롭 다운 리스트 버튼을 이용하여 간단히 "Run as admin"으로 변경해 주면 다음 부팅 시 차단되지 않고 정상적으로 실행된다.
우선, User Account Control (UAC)의 존재이다. UAC는 간단히 말해서, 시스템에서 관리자 권한이 필요한 작업이 발생할 시(그것이 응용 프로그램에 의한 것이든 사용자에 의한 것이든) 일반 사용자 권한이 관리자 권한으로 승급되게 되는 메커니즘을 말하는 것으로, 사실 이것은 원래부터 다중 사용자(multi user)를 상정하고 만들어진 유닉스 계열의 OS에서는 기본적으로 갖추어진 기능이다. 이것이 Vista에서만 문제가 되는 것은, Vista 이전의 Windows 계열 OS에서 만들어진 응용 프로그램이 일반 사용자 권한과 관리자 권한을 정확히 구분하지 않기 때문이다. 정확히 말해, 그럴 필요가 없었다. 이전의 Windows 시스템에서는 다 관리자 권한으로 실행이 되었기 때문이다. 물론 관리자 권한과 일반 사용자 권한이 그 때에도 존재하긴 하였으나 일반 사용자 권한은 여러가지 불편한 점들로 인해 거의 사용되지 못했다고 봐야 옳다. (이는 데스크톱 버전의 Windows 계열 OS의 경우이며, 서버의 경우는 다소 다를 수도 있다.)
아무튼, UAC는 Windows OS가 강화된 보안으로 가기 위한 과도기적 단계에서 사용자들로 하여금 엄청난 불편함을 겪게 만들었으며, 종종 Vista에서 가장 쓰레기 같은 기능으로 치부되기도 한다. 심지어 애플로부터 조롱을 받기도 했다. 그러나 UAC 그 자체는 훌륭한 보안 메커니즘이며, 나의 이전 포스트에도 언급하였다시피 루트킷 방어에 효율적이라는 보고가 있으므로, 그렇게 완전히 쓸모 없는 것은 아니라는 게 나의 판단이다. 또한, Windows 7에서는 사용자의 편의를 위해 UAC에 대폭 수정을 가했다니 지금부터 익숙해 두는 것(?)도 나쁘지 않을 것 같다는 것이 나의 생각이다.
보통은 그 불편함 때문에 많이들 꺼놓지만, 나의 경우 이렇게 완전히 꺼두는 것은 뭔가 좀 찜찜하여 다른 해결책을 찾던 중, "TweakUAC"라는 프로그램을 발견했다. TwakUAC는 이름에서 알 수 있다시피 UAC를 "Tweak" 할 수 있게 해준다. 이 프로그램은 특히 Windows Vista Business 혹은 Ultimate 에디션이 아닌 Home 에디션을 사용하고 있거나, 레지스트리 편집이 두려운 사람에게 유용하다. 이 말은, Business 혹은 Ultimate 에디션에서는 관리 도구 내에 보안 관련 도구 등을 이용해서 직접 UAC의 제어가 가능하며, Home 에디션에서는 이런 도구를 제공하지 않으므로 직접 레지스트리를 수정하여 제어할 수 있다는 말이다. 나의 태블릿의 경우, Windows Vista Home Premium K가 설치되어 있으므로, 레지스트리를 수정해야 하는데, 레지스트리를 직접 수정하는 것은 언제나 위험을 동반하며, 쓸만한 GUI 툴이 있는데 이를 사용하지 않을 이유는 어디에도 없다. :)
그림 1. TweakUAC
또다른 불편함으로는, 시작 프로그램의 차단을 들 수 있다. 처음에는 기본적으로 설치되는 Windows Defender가 시작 프로그램을 감시하는데, 나의 경우 내가 속한 기관에서 V3 Internet Security를 제공하므로 중복된 기능이 실행됨으로해서 리소스가 낭비되는 것을 막고자 Windows Defender를 아예 disable해 버렸다. 그러나 Windows Defender가 disable 되어도, 관리자 권한을 요하는(다시 말해, UAC 권한 승급을 요하는) 시작 프로그램의 경우 실행이 차단된다. 나는 사실 이전에 포스팅했다시피 Synergy를 관리자 권한으로 자동 시작하게 하는 것이 필요했기 때문에, 시작 프로그램의 차단을 선택적으로 막을 수 있는 방법이 없을까 고민하게 되었다. 웃긴 건, 왜 사용자가 이를 기본적으로 제어할 수 있도록 해주지 않냐는 것이다. (물론 방법이 있을 수도 있다. 그러나 적어도 나는 모르겠다.;)
그러던 중 "Startup Program Unblocker"를 발견하게 되었다. 이 프로그램은 시작 프로그램을 선택적으로 관리자 권한으로 실행되게 해준다. "TweakUAC"와 마찬가지로, 이도 사실 수동으로 할 수는 있으나, 프로그램을 사용하는 것이 쉽고 간편하다. Normal (Blocked)과 Run as admin, Don't start의 세가지 옵션을 제공하며, 이중 Run as admin 옵션을 사용하면 원하는 바를 이룰 수 있다. 또한 "TweakUAC"처럼 무설치 프로그램으로 편리하게 실행할 수 있다.
그림 2. Startup Program Unblocker
사실 내가 TweakUAC와 Startup Program Unblocker를 찾게된 계기는 다 Synergy 때문이다.; 이전 포스트에서도 적었다시피, 리눅스 서버에 Windows Vista 클라이어트로 Synergy를 사용하려니 여러가지 불편함들이 있어서(특히 Vista의 보안 정책 때문에) 이것들을 해결하려다 보니 저 프로그램들을 찾게 된 것이다. 게임을 위해 데스크톱 PC를 Vista로도 멀티 부팅하는데, 이 때에는 그런 강화된 보안으로 인한 불편함들도 보안을 위해 감수할 수 있었다.;
아무튼, 이래저래 손봐주니 내 태블릿 PC도, Synergy도 무리없이 편하게 사용할 수 있게 된 것 같아서 기쁘기 한량없다. :) Windows Vista를 사용하시는 분들도 또한 위의 툴들을 이용하여 편리하게 Vista를 쓸 수 있게 되기를 바란다.
* 참고
- http://www.tweak-uac.com
- http://surewin.kr/vista/9987
- http://www.jimmah.com/vista/Applications/autostart_admin_program.aspx
** 추가 **
Startup Program Unblocker 사용에 관한 팁을 추가한다. 위에서 시스템 레지스트리로부터 시작되는 프로그램들의 관리자 권한 실행을 할 수가 없다고 하였는데, 이를 우회하는 방법을 알아 내게 되었기에 여기에 그 방법을 기술한다. 시스템 레지스트리로부터 시작되는 것이 문제라면, 간단히 사용자 레지스트리로부터 시작되게 하면 되는 것이라는 게 그 방법의 핵심 아이디어이다. 물론 레지스트리 수정을 해야하기 때문에 아주 간단한 것은 아니지만. :)
Windows 키 + R을 눌러 실행 대화창을 띄운 뒤, "msconfig"를 입력하여 시스템 구성창을 연다. "시작프로그램" 탭을 보면 시작 프로그램이 나열되어 있는 것을 볼 수 있는데, 이 중에서 시스템 레지스트리에 등록되어 있어 관리자 권한 실행이 불가능한 프로그램의 명령을 확인한다. 프로그램 실행 파일명 및 전체 경로명이 모두 필요하다. 여기서는 "C:\full\path\to\someprogram.exe"라고 하기로 하자.
실행창에서 "regedit"를 입력하여 레지스트리 편집창을 연 뒤, 다음의 위치로 간다.
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
이 위치를 보면 시작 프로그램 몇 개가 등록되어 있을 것이다. 마우스 우클릭하여 "새로 만들기"에서 "문자열 값"을 선택하여 문자열 값 항목을 생성한 뒤, 이름은 임의로 주고, 더블 클릭하여 내용을 편집하는데, 시스템 구성창에서 확인하였던 프로그램 명령을 입력한다. 즉, 위의 예에서는 "C:\full\path\to\someprogram.exe"를 입력하면 된다. 뒤에 몇 가지 옵션이 더 있을 수도 있으니, 모든 옵션을 정확하게 입력한다. 레지스트리는 자동으로 저장되니 편집 후 창을 그냥 닫으면 된다.
이제 다시 재부팅해보면 Windows가 관리자 권한이 필요한 시작 프로그램을 차단할 것이다. 이제 Startup Program Unblocker가 나설 차례이다. Startup Program Unblocker를 실행해보면, 원하는 프로그램이 사용자 레지스트리로부터 시작되는 분류에 있을 것이다. 오른쪽의 드롭 다운 리스트 버튼을 이용하여 간단히 "Run as admin"으로 변경해 주면 다음 부팅 시 차단되지 않고 정상적으로 실행된다.
'Computing > Software' 카테고리의 다른 글
| Windows Vista에서 프린터가 오프라인 상태로 될 때 해결 방법 (10) | 2009/11/05 |
|---|---|
| 에볼루션 주소록을 CSV 형식으로 저장하기 (0) | 2009/06/19 |
| Windows Vista 사용 시 강화된 보안 때문에 불편한 점 우회하기 (0) | 2009/05/11 |
| 소프트웨어 KVM, Synergy 설치 (0) | 2009/05/03 |
| 미디어위키 살리기 삽질..; (0) | 2009/05/03 |
| VirtualBox의 가상 머신에 설치한 Kubuntu 9.04 JJ Beta에 게스트 확장(Guest Addition) 설치하기 (0) | 2009/04/10 |
TAG Startup Program Unblocker,
TweakUAC,
UAC,
Vista,
Windows Vista,
비스타,
대한민국>광주광역시>북구>첨단과기로 261(오룡동)>광주과학기술원>정보통신공학과
댓글을 달아 주세요