From YYpBD's MediaWiki
어플리케이션이 방화벽 설정 변경하는것을 못하게 막기
[어플리케이션이 방화벽 설정 변경하는것을 못하게 막기... 양병규]
XP에서 서버소켓을 오픈하면 방화벽이 허용할것인지를 묻는데...
허용하면 예외목록에 추가가되져...
서버소켓을 오픈하기 전에 레지스트리에다가 예외목록에 추가해주면 메세지 없이 서버소켓을 오픈할수 있습니다.
최근에 이 사실이많이 알려져서... 이젠 네이트온이나 V3등 웬만한것들은 다 이런 방법으로 방화벽을 피해가고 있습니다. (아쒸....모 이래....--; )
그것을 못하게 막을려면(어플리케이션이 레지스트리에 추가해서 방화벽 피해가는것을 막을려면....)
레지스트리에 해당 키의 권한을 변경해서 SYSTEM도 Administrator도 모두 쓰기권한을 거부해버리면됩니다.
레지스트리편집기를 열고....
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy
이 키가 방화벽 설정키인데.... 아예 이 키 자체를 막아도 좋고....
그 밑에 DomainProfile\AuthorizedApplications\List 키가 예외 어플리케이션 목록인데 그 키만 막아도 어플리케이션이 스스로 등록하는것을 막을수 있습니다.
계정은 SYSTEM과 Administrator을 모두 막는것이 좋습니다.
드라이버나 서비스처럼 커널레벨에서 세팅하는것은 SYSTEM계정으로 처리되고 일반 어플리케이션이 하는것은 Administrator로 처리됩니다.(물론 Administrator계정으로 로긴했을때..) 그러므로 둘다 쓰기를 거부해두는것이 좋고....
그렇게 되면 자기 자신도 레지스트리편집기나 제어판에 방화벽애플릿으로도 방화벽 설정을 수정할수 없게됩니다.
물론 레지스트리편집기에서 권한을 해제해주면 다시 쓸수 있습니다.
레지스트리편집기에서 특정키의 권한을 수정하는 방법은....
권한을 변경할 키를 선택하고....
편집->사용 권한 을 클릭하고....(혹은 오른쪽->사용 권한)
그러면 그 키에 대한 권한을 바꿀수 있는 대화상자가 뜨는데...
거기 밑에보면 모든 권한, 읽기, 특정 권한 이렇게 세가지가 있는데....
쓰기를 못하게 할려면 특정 권한을 편집해야하므로...
밑에 고급 버튼을 클릭해서 고급보안설정 창에서 하면 되는데....
이러면 좀 어려우니까....
그냥 좀전에 사용 권한 대화상자에서 SYSTEM을 선택하고 읽기의 거부를 클릭하고 적용한다음에 고급을 눌러보면 맨위에 '이름' 컬럼은 'SYSTEM'이고 '다음에서 상속됨' 컬럼이 '<상속 안됨>'으로 되어있는 아이템이 있는데 그게 금방 읽기 거부를 클릭해서 생긴거구 그거를 선택해서 편집버튼을 클릭하면 나오는 권한 목록 대화상자에서 현재 체크되어있는 것들(읽기와 관련된 것들)을 모두 체크 해제해주고... '값 설정', '삭제', 'DAC 쓰기', '쓰기 소유자' 이렇게 네개의 거부를 클릭합니다.
같은 방법으로
Administrator도 네가지를 거부합니다.
이렇게하면 어플리케이션이 스스로 방화벽 설정을 수정하는것을 막을수 있습니다.
주의할점은 읽기에 관련된 권한들은 거부하면 안됩니다. 그러면 방화벽이 레지스트리 읽기를 실패해서 방화벽 역할을 못하게되므로 오히려 부작용이 생깁니다.
....
레지스트리 키의 쓰기권한을 거부하는 방법은 그 외 다른 곳에도 응용할 수 있습니다.
가령 IE의 시작페이지를 못바꾸게 한다거나....
프로그램 연결을 못바꾸게 한다거나...
그런 용도로 활용할수 있습니다.
...
또한 레지스트리 편집기를 이용할때 "즐겨찾기" 메뉴를 이용하시면 자주 찾는 키를 쉽게 찾을수 있습니다.(이건..팁... ^^ )
쩝.....
--;