첫번째 보안 권고 by 도아
관리자 암호
일반적으로 상당수의 사람들이 XP를 설치할 때 시스템 관리자의 암호를 설정하지 않고 설치하는 경우가 많다. 아울러 XP의 암호를 복구하는 방법을 묻는 글에 시스템 관리자의 암호를 분실하는 경우 골치 아프므로 절대 시스템 관리자의 암호를 설정하지 말라는 답글이 올라온 것을 본적도 있다.
"쉬운 얘기로 열쇠를 잃어 버리면 나중에 문열기가 곤란하니 아예 키를 없애고 살라는 얘기와 다를바가 무엇이 있을까."
관리자 암호
일반적으로 상당수의 사람들이 XP를 설치할 때 시스템 관리자의 암호를 설정하지 않고 설치하는 경우가 많다. 아울러 XP의 암호를 복구하는 방법을 묻는 글에 시스템 관리자의 암호를 분실하는 경우 골치 아프므로 절대 시스템 관리자의 암호를 설정하지 말라[1]는 답글이 올라온 것을 본적도 있다.
쉬운 얘기로 열쇠를 잃어 버리면 나중에 문열기가 곤란하니 아예 키를 없애고 살라는 얘기와 다를바가 무엇이 있을까.
얼마전 게시판에 사용자 ID에 암호를 지정하면 바이러스에 잘 걸리지 않느냐는 질문이 올라온 적이 있다. 암호와 바이러스는 관련이 없는 것 같다. 그러나 암호를 지정하면 바이러스에 잘 걸리지 않는다.
그 이유는 간단하다. 넷트웍을 통해 전파되는 바이러스 중 넷트웍 공유를 통해 전파되는 바이러스가 상당히 많다. 만약 넷트웍 공유에 암호가 걸려있다면 사전 파일을 통해 접근을 시도하며, 사전 파일을 통해 암호를 깨는데 실패한 경우 그 컴퓨터로 접근할 수 없기때문에 그 만큼 바이러스에 걸릴 확률이 낮아진다.
넷트웍 공유를 통해 전파되는 바이러스의 경우 넷트웍 공유가 존재하지 않으면 전파되지 않는다. 그러나 문제는 모든 NT 계열 OS는 관리를 위해 사용자가 별도의 공유를 지정하지 않아도 관리용 공유가 생성된다는 점이다.
만약 관리자 그룹의 그룹원중 한 사람이 암호를 입력하지 않았거나 암호가 공개됐다면 이 관리용 공유를 통해 시스템의 모든 자원에 접근할 수 있게된다. 그런데 만약 시스템 관리자의 암호를 지정하지 않으면 어떻게 될까?
인터넷에 쉽게 구할 수 있는 간단한 해킹 도구만있으면 해킹에 관한 지식이 전혀없는 사람도 인터넷에 존재하는 많은 컴퓨터에 쉽게 접근할 수 있다. 나도 가끔 이런 도구를 이용해서 IP를 스캔해보면 의외로 많은 컴퓨터에서 관리용 공유가 열려져 있는 것을 종종 발견한다. 따라서 NT 기반 시스템에서는 가급적 다음과 같은 조치를 취해주는 것이 좋다. 이 조치는 방화벽 안쪽에 존재하는 컴퓨터든 그렇지 않든 취해주는 것이 좋다.
모든 계정 암호 부여
모든 계정에 암호를 부여한다. 당연한 얘기지만 시스템 관리자 계정에는 반드시 암호를 부여하는 것이 좋다. Guest 계정으로 프린터를 공유하는 경우가 아니라면 Guest 계정까지 암호를 거는 것이 좋다. 계정에 암호를 부여하는 방법은 다음과 같다.
- '시작/실행/lusrmgr.msc'를 입력하고 '확인'을 클릭한다[2].
- '좌측 패널'에서 '사용자'를 클릭한다.
- '우측 패널'에서 로컬 로그온 권한을 가진 사용자(예: Administrator, artech등)에 마우스 우측 버튼을 클릭하고 '암호 설정'을 클릭한다.
- '암호 설정' 창에서 '계속' 버튼을 클릭한다.
- '암호 설정' 창의 '새 암호'와 '암호 확인'에 동일한 암호를 입력한다.
- '확인' 버튼을 클릭한다.
- 로컬 로그온 권한을 가진 모든 사용자에대해 3~6단계를 적용한다.
잠깐만
암호는 어떻게 설정하는 것이 좋을까요?
모 공기업에 강의를 간적이 있다. 이 글과 마찬가지로 암호의 중요성을 역설했다. 다음날 나이가 지긋하신 수강생의 모니터를 보고 기절하고 말았다. 복잡한 암호가 좋다고 하니까 어디서 난수 발생기를 구해 암호를 만들고, 그 암호를 잊어 버릴까봐 포스트잇에 적어 모니터에 붙여 둔 것이었다.
앞글에서 잠깐 언급했지만 간단한 암호는 사전 파일을 이용해서 쉽게 깰 수 있다(이 방법으로 벌써 10년째 외국의 뉴스 사이트를 무료로 이용하고 있다). 따라서 암호는 가급적 복잡한 것이 좋다. 그러나 문제는 암호가 복잡하면 기억하기 어렵다는 점이다. 따라서 복잡하면서 기억하기 쉬운 암호를 설정하는 방법을 설명하겠다.
- 일단 자신과 관련이 있는 간단한 두개의 단어를 생각한다. 예: 좋아하는 과일, apple, kiwi
- 두개의 단어를 특수문자로 결합한다. 예: apple*kiwi
- 암호가 조금 길다는 생각이 든다면 두개의 단어 중 긴단어를 자른다. 예: app*kiwi
세벌식 사용자는 영문 자판에 자신과 관련이 있는 단어를 세벌식으로 입력만 해도 특수문자가 포함된 좋은 암호가 된다.
ID 변경
Unix의 슈퍼 유저인 root와 마찬가지로 XP의 슈퍼 유저인 'Administrator'도 인터넷에 공개된 ID이다. 인터넷에 공개된 ID라는 것은 암호만 알면 얼마든지 해킹이 가능하다는 것이다. 이러한 문제점때문에 Unix의 root 계정은 대부분 콘솔 로그인만 허용하고 있다. XP는 Administrator는 콘솔 로그인만 할 수 있도록 변경할 수 있지만 그보다는 'Administrator라는 ID를 다른 ID로 변경하는 것'이 훨씬 낫다. 당연한 얘기지만 ID를 알고 있는 경우와 ID를 모르는 경우는 해킹의 난이도가 다르다. 계정 ID를 변경하는 방법은 다음과 같다.
- '시작/실행/lusrmgr.msc'를 입력하고 '확인'을 클릭한다[3].
- '좌측 패널'에서 '사용자'를 클릭한다.
- '우측 패널'에서 'administrator'에 마우스 우측 버튼을 클릭하고 '이름 바꾸기'를 클릭한다.
관리용 공유 제거
만약 관리자 계정에 암호를 부여하지 않고 사용해야할 말못할 사정(?)이 있다면 가급적 모든 관리용 공유를 제거하는 것이 좋다. 아울러 자신의 컴퓨터가 방화벽 안쪽(공유기 안쪽)에 있지 않다면 마찬가지로 관리용 공유를 제거하는 것이 좋다. 관리용 공유를 제거하는 방법은 다음과 같다[4].
- '시작/실행/regedit'를 입력하고 '확인'을 클릭한다.
- 다음 레지스트리로 이동한다.
HKLM\System\CurrentControlSet\Services\LanmanServer\Paramaters
우측 패널에 사용하는 OS에따라 다음과 같은 값을 설정한다. 값이 없다면 추가한다.
제품군 값 값 데이타 기본값 웍스테이션 계열 AutoShareWks 0 1 서버 계열 AutoShareServer 0 1 - 시스템을 재 기동한다.
관리용 공유가 실제 제거되었는지 확인하는 절차는 다음과 같다.
- '시작/실행/compmgmt.msc'를 입력하고 '확인'을 클릭한다.
- '컴퓨터 관리/시스템 도구/공유 폴더/공유'를 클릭한다.
우측 패널에서 관리용 공유를 확인한다.
제거전 제거후
불필요한 서비스 중지
보안상 가급적 중지해야하는 서비스들을 참조해서 가급적 불필요한 서비스를 중지하기 바란다.
저작권
이 글은 QAOS.com에 2005년 5월 22일에 올린 첫번째 보안 권고를 가져온 것이다. QAOS.com에서 가져온 글은 QAOS.com의 저작권(펌 금지, 링크 허용)을 따른다.
- 네이버 '무식인'에 주로 올라오는 답변이다. 이 문제를 지속적으로 지적하고 모 컴퓨터 잡지를 통해 지식인에 올라오는 답변 중 가장 무식한 답변으로 이 답변을 선정한 뒤로 많이 줄기는 했지만. ↩
- 현재 NULL 암호로는 넷트웍을 통해 접근할 수 없도록 변경되었다. ↩
- 나는 제어판에 고급 사용자 관리 추가하기에 lusrmgr.msc을 등록해서 사용하고 있다. ↩
- 관리용 공유의 제거를 그대로 사용했다. ↩