블로그 이미지

my hiding place

삶이 힘들 때, 조금이라도 고개를 들고 위를 보세요. 푸른 하늘이 당신을 맞이해줄 날이 있을 테니까. by nulonge


'openDNS'에 해당되는 글 1건

  1. 2008.08.01 [일반 사용자를 위한 가이드] 안전한 DNS 사용하기 - DNS Cache Poisoning으로부터 자유로워지는 방법

[일반 사용자를 위한 가이드] 안전한 DNS 사용하기 - DNS Cache Poisoning으로부터 자유로워지는 방법

어제 올린 포스팅의 연장선상에 있는 글입니다. 헐랭이님의 블로그를 통해 (요즘 헐랭이님은 나의 이상적인 커리어 모델) 처음으로 DNS 취약성이 최근 큰 이슈로 제기되고 있는 것을 알게 된 것이 지난주인데, 이제야 포스팅합니다. (휴가간다고 며칠 블로그는 접어놓아야 했습니다. 오프라인 리얼리티에 적응해야할텐데. 인터넷이 없으면 불안하다니 문제죠.) 요즘  보안관련 블로그들은 온통 이 취약성에 관한 글들로 도배되다시피 하고 있습니다. 그만큼 중요한 이슈겠지요.

이 문제와 관련해서 제가 할 수 있는 일은, 가급적 쉽게, IT 지식이 없어도 이해하기 쉽도록 설명해드리고 대처방법을 알려드리는 일뿐인 것 같습니다.

DNS = 컴퓨터 주소록
DNS는 주소록과 같은 역할을 합니다. www.google.com이라는 이름과, IP 주소를 기록해놓았다가 누가  www.google.com이 어디 있는지 물어보면 알려줘서 찾아갈 수 있도록 해줍니다. openDNS에서 이해하기 쉽게 그림으로 표현한게 있어서 가져왔습니다.
사용자 삽입 이미지

인터넷 공간에서 컴퓨터간 통신은 IP 주소를 통해 연결됩니다. www.google.co.kr과 같은 도메인 이름은 사람이 인식하게 편하게 붙여놓은 이름일 뿐, 컴퓨터에게는 의미가 없습니다. 인터넷을 이용하면서, 여러분이 DNS를 직접 찾아보는 일은 없을 겁니다. DNS에게 물어보는 일도 물론, 하지 않을 겁니다. 다시 말하자면, DNS에게 이름을 물어보는 건 사람들이 할 몫이 아니라, 인터넷 익스플로러, 파이어폭스와 같은 소프트웨어, 정확하게는, DNS 클라이언트가 하는 일입니다.

그런데 DNS에 무슨일이?
요즘 DNS에 문제가 생겼습니다. 자꾸 누가 DNS가 기억하려고 써둔 주소록(cache)을 “바꿔치기(poisoning)”를 시도한다는 겁니다. 좀 풀어서 설명하자면, DNS 서비스를 제공하는 서버들은 서로 통신을 주고받으면서 정보를 교환합니다. DNS 서버는 교환된 정보를 '캐쉬'라는 곳에 기록하고, 주소록 조회를 요청하면 캐쉬에 있는 정보를 알려줍니다. 그런데, 최근 DNS 통신 과정에서 몇 가지 취약성이 발견되었습니다. (Dan Kaminsky라는 보안전문가가 처음으로 이 문제를 제기했습니다.) 통신과정 설계의 결함 때문에, DNS는 자기가 참조해서 보는 주소록이 바뀌어도 잘 모릅니다. 악의를 가진 누군가가 DNS를 악용할 수 있는 수단이 마련된 셈이지요. 만약 누군가 www.google.com이나, www.naver.co.kr를 물어보면, 순진무구한 DNS 서버는 잘못된 IP 주소를 알려주게 됩니다. DNS가 잘못된 주소를 알려주면 악성코드가 숨어있거나 피싱 사이트로 연결될 수 있으니, DNS 서비스를 그대로 믿는게 위험해질 수 있습니다.

안전한 DNS 사용하기
그럼, 어떻게 해야 올바른 DNS를 이용할 수 있을까요? 안전한 DNS를 사용해야 합니다. 너무 싱겁지요? 네... 많이 싱겁습니다. 인터넷 서비스를 제공하는 KT나 하나로 같은 인터넷 서비스 통신 업체(ISP, Internet Service Provider)들은 지금 자기네 DNS 문제를 해결하려고 준비중입니다. (DNS의 보안 패치 작업은 매우 신중하게 진행되는 것 같습니다.) 그러니, ISP서 제공하는 DNS가 안전해질 때까지는 다른 서비스를 이용하는 것이 좋습니다. (여기서 사용할 DNS는 openDNS입니다. openDNS는 최근 Dan Kaminsky가 제기한 DNS 서비스의 보안결함이 없다고 생각하시면 됩니다.)

윈도우 XP 사용자라면 다음 위치에서 DNS 설정 값을 바꿔줍니다.

1. 시작 버튼을 클릭합니다.
2. 제어판 버튼을 클릭합니다.
3. 네트워크 연결 아이콘을 클릭합니다.
4. “로컬 영역 연결”과 같이 현재 사용중인 네트워크 설정 아이콘을 마우스 오른쪽 버튼으로 클릭합니다.
5. 팝업 메뉴에서 “속성(R)”을 클릭합니다.
6. “이 연결에 다음 항목을 사용(O)” 목록에서 “인터넷 프로토콜(TCP/IP)”을 클릭합니다.
7. 속성(R) 버튼을 클릭합니다.
8. “인터넷 프로토콜(TCP/IP) 등록정보” 창에서 “다음 DNS 서버 주소 사용(E)”을 클릭합니다.
9. “기본 설정 DNS 서버”에 “208.67.222.222”를 입력합니다.
10. “보조 DNS 서버”를 지정할 수 있는데, 이것은 선택사항입니다. 보조 DNS 서버를 지정하려면 "208.67.220.220"을 입력합니다.

맥 사용자라면 다음과 같이 DNS 설정 값을 바꿉니다. (제가 OS 언어 환경을 영어로 쓰는 바람에 한글로는 모릅니다.)

1. 네트워크 설정 항목을 선택합니다.
사용자 삽입 이미지



2. Ethernet 연결에 대해 다음과 같이 DNS Server IP를 입력해줍니다.
사용자 삽입 이미지

3. 무선랜을 이용한다면, AirPort의 DNS도 지정해주어야겠죠? AirPort 아이콘을 클릭하고, “Advanced” 버튼을 클릭합니다. DNS 탭을 선택한 다음, “+” 버튼을 누르고 2와 동일하게 DNS IP를 입력합니다. 입력이 끝나면 OK 버튼을 누르는 것도 잊지 마세요.
사용자 삽입 이미지

4. 이제 Apply 버튼만 누르면 변경이 완료됩니다.

윈도우 사용자가 더 많을 텐데, 윈도우는 그림없이 설명드려 미안합니다. 제가 맥북을 쓰다보니 윈도우 캡처를 하지 않았습니다. =_=;

당분간은, 이렇게 DNS 설정을 바꿔서 컴퓨터를 이용하시는 게 좋겠습니다. DNS를 공격할 사람이 누가 있을지는 모르지만, 혹시 모르지요. 황제성 어린이, 그렇지요~?
Comment 0 Trackback 0
Top

prev 1 next