IP 0.0.0.0 주소가 가지는 의미?

지금부터 내가 싸지르는 글은 서버 개발자를 위한 글이 아니다.
그냥 당신이 어느정도 컴퓨터 좀 다룰 줄 아는 모든 이들을 대상으로 쓰는 유용한 팁 글이다.
마음을 비우고 차분히 읽어보기 바란다.

일단 먼저 이론부터 보자면, IP 주소 0.0.0.0 은 유효한 주소다.
근데 이론만이다.

하지만 실제로 0.0.0.0 주소는 당연하겠지만 할당 가능한 IP 주소가 아니며, 논리적 용도로 사용한다.
위키페디아 0.0.0.0 문서를 보면 여러 의미로 사용되곤 한다.
문서 상에서는 메타 주소라 칭하고 있다. 그렇다. 우리식 대로는 물리적 주소가 아닌, 논리적 주소라 해석해도 손색이 없다.

하지만 한국에서는 0.0.0.0 얘기를 꺼내기 시작하면, TCP/IP 이론부터 들고 일어나 서버쪽 공부를 시키게 될 것이다.
당장에 구글 한국어 검색이나 네이버를 뒤지면 이런 얘기들 뿐이다.
서버에 관심 없거나 모르는 사람을 위해, 서버측 이론을 당장 한 마디로 함축하면,
0.0.0.0 주소는 “나는 어떤 IP 주소로 서비스할 지 모르니 아무 IP 대역 다 서비스 해 줘.” 라는 뜻이 되겠다.
여기서 다른 방향으로 넘어가면, 서버 프로그램이 0.0.0.0 주소를 어떻게 사용하느냐 나름이겠지만, 묵시적 규칙으로 대부분 이렇게 사용한다.

하지만 네트워크 클라이언트에서도 0.0.0.0 주소를 사용하기도 한다.
당장 OS 상관없이 가장 빠르고 쉽게 접할 수 있는 가장 대표적인 예로 HOSTS 파일이 있다.
자, 하지만 서버와는 달리 0.0.0.0 의 쓰임새도 없다. 할당할 IP가 없다. 그렇다면 뭐다? 없다.
그렇다. HOSTS 파일의 0.0.0.0 IP 주소는 “어느 IP 주소도 할당하지 마라.” 라는 뜻으로 보면 된다.
만약 우리가 HOSTS 파일에 0.0.0.0 naver.com 줄을 추가하여 저장 후 브라우저를 킨다면?
네이버 접속하자마자 바로 페이지를 찾을 수 없다고 뜰 것이다. 1초의 망설임도 없이 컴퓨터는 접속 오류를 내뱉을 것이다.
왜냐, 0.0.0.0 이 가지는 라우터도 없고, 물리적 할당 공간도 모르며, 어디로 접속해야 할 지 아예 정해지지 않았기 때문이다.
그래서 HOSTS 파일 작성 시, 원치 않는 도메인을 바인딩하려고 할때 (주로 광고나… 어둠의 유지용) 127.0.0.1 대신 사용하라는 것이다.
127.0.0.1 주소는 다들 아시다시피 로컬 IP 주소다. 만약 이 주소로 바인딩을 시도하면, 컴퓨터는 자신의 컴퓨터를 “가상 루프백 네트워크 드라이버”를 통해 접속하려 할 것이다.
그러다가 접속할 수 없으면 접속 오류가 뜬다. 그렇기 때문에 HOSTS 에서는 원치 않는 도메인을 127.0.0.1 대신 바로 접속을 중지해버리는 0.0.0.0 주소를 권장하는 것이다.

네트워크 클라이언트에서도 0.0.0.0 주소는 요긴한 기능으로 사용하기도 한다. 상기 위키페디어를 가면 알겠지만,
당신의 랜 카드에 IP를 할당해야 하는데, 모르겠다? 그냥 자동으로 받고 싶다? 그러면 우리가 보기에는 DHCP 사용에 체크하거나 설정할 것이다.
그러면 네트워크 연결 프로그램은 이걸 할당 IP 주소를 내부적으로 0.0.0.0 으로 설정한 다음, 접속 가능한 게이트웨이로부터 자동으로 IP를 받는 서버로 IP를 할당받으려 할 것이다.
그러지 못하면 169.254.xxx.xxx 라는 듣도보도 못한 IP 주소를 받고 네트워크 활동을 못하는 참사가 일어나겠지.
어쨌든, 네트워크 연결 프로그램에서는 0.0.0.0 주소의 의미는 “나는 어떤 IP 주소를 할당받을 지 모르겠으니 자동으로 받아 주시오.” 뜻이 되겠다.

지금까지 IP 얘기는 IPv4 기준이었고, IPv6 에서 같은 역할을 담당하는 주소는 콜론 2개 딸랑 :: 쓰면 된다. 참으로 간편하지 아니한가?

올바르지만 올바르지 않는 0.0.0.0 IP의 세계는 결국 앱이 정하는 기준에 따른다고 보면 된다. 전체적으로는 “몰라, 안써!” 의미가 되겠다. 하지만 이 의미가 유용하게 쓰이기도 한다는 점을 알아두기 바란다.
끗.

composite / 2018년 5월 8일 / Piss Development / 0 Comments

사설 네트워크를 위한 네트워크 서비스

1. Hamachi

말할것도 없다. 일단 가장 유명하고, 많은 사용자를 보유하고 있다.

  • 무료: 5명까지 연결 가능, 대역폭 제한.
  • 유료: 32 네트워크 지원 월 49$/월, 이상의 플랜 제공, 대역폭 제한 없음.
  • 지원 플랫폼: 윈도우, 리눅스, 맥

2. Tunngle

게이머에게 유명하다. 255명 이상의 네트워크를 지원하는 대신 공개 네트워크이며, 매 접속시 다른 IP를 할당받는다.
베이직 플러스 이상에서만 고정 IP를 할당받을 수 있다. 무료의 경우 광고도 있다.

  • 무료: 공개 내트워크 내 255명까지 지원
  • 유료: 베이직 플러스, 프리미엄과 평생 라이선스가 있으며, 각각 1.18$/월, 2.37$/월, 23.74$. 프리미엄 이상에서만 비공개 네트워크 구축 가능.
  • 지원 플랫폼: 윈도우
  • 게이밍에 특화된 네트워크 플랫폼으로 사설 네트워크에 적합하지 않음.

게임의 특화된 네트워크 서비스는 그냥 구글검색 해줘라. 아니면 꺼라위키 가던가.

3. NetOverNet

하마치와 비슷하긴 한데, 하마치하고 달리 내장 VPN도 지원하는 프로그램(PPTP, L2TP 등). 대신 무료 플랜이 3개 컴퓨터와 4mbps/s로 좀 짜긴 하다.

  • 무료: 비공개 네트워크 내 3명 지원, 대역폭 제한.
  • 유료: 베이직 5$/월 8개의 연결 지원, 어드밴스드 10$/월 16개의 연결 지원, 그 이상의 옵션 협의
  • 지원 플랫폼: VPN Client를 지원하는 모든 운영 체제 및 윈도우 프로그램 제공

4. FreeLAN

일단 성격은 VPN인데, 실장 가상LAN이다. contact 외부 주소가 없으면 내부 네트워크용이 되는거고, 정말 개인 네트워크스럽다.
그리고 GUI 프로그램이 없으며, 텍스트 방식의 설정 파일과 콘솔 프로그램이 전부이다.
하지만 무료, 무제한 개인 네트워크 구축은 상당히 매리트가 있다고 보면 된다. 네트워크도 생각보다 안정적이라고 한다.

  • 지원 플랫폼: 윈도우, 리눅스, 맥
  • 인터넷을 통한 LAN 접속 시 서버 쪽에서 방화벽 오픈해야 함.

5. LAN Bridger

제공된 정보가 없다. 대신 개인 네트워크 범위를 제공한다. 윈도우만 지원한다. 공식 사이트에서는 게이밍을 강조했으니 게이밍에 적합할 듯 하다.

6. NeoRouter

2가지 방식을 제공한다. 자체 서버 구축 방식과 Mesh라 해서 클라우드 구축 방식이다. 서버와 클라이언트 모두 프로그램이 별도로 필요하긴 하지만,
클라이언트의 경우 왠만한 데스크톱과 모바일 플랫폼 모두 지원한다. 방화벽이 뚫려있는 네트워크 환경이거나 회사 환경에서는 괜찮은 방법이다.

  • 지원 플랫폼: 윈도우, 리눅스, 맥, iOS 및 안드로이드, 라즈베리, FreeBSD, OpenWRT 지원 공유기 등
  • 무료: 255개 연결.
  • 유료: 연결 수 단위 패키지 판매 또는 클라이드 월정액 판매. 고급 사용자 관리 및 방화벽, 모니터링 및 추적 기능 제공.

7. ZeroTier

위 NeoRouter Mesh와 비슷한 버전이라 생각하면 된다. 중계 서버를 제공하는데, 공개형과 비공개형이 있다.
공개형 네트워크는 무제한 연결이 가능하며, 비공개형 네트워크는 100개의 연결을 지원한다.
전에도 언급했듯이 네트워크 연결 시 마이페이지에서 승인해야 하는 점은 여전하다. (단, 컴퓨터 당 한 번만 승인하면 된다.)

  • 무료: 무제한 공개 연결 및 100개 비공개 연결 (계정당)
  • 유료: 무제한 비공개 연결을 지원하는 베이직(29$/월) 및 자체구축을 지원하는 프로(100$/월)이 있음.
  • 지원 플랫폼: 윈도우, 맥, 리눅스, 몇몇 유명 NAS (GPL 오픈소스), iOS 및 안드로이드.

8. DynVPN

베타라서 언제 끊기나 했는데 아직도 멀쩡히 잘 살아있고, 공식 페이지에서도 가능한 영원히 무료로 제공하겠다고 공언했다. 일단 베타 딱지는 끊은 듯.
비공개 무제한 네트워크를 무료로 제공하는 특징이 있다. 방식도 여전히 컴퓨터를 미리 등록 후 나오는 비밀 키를 컴퓨터에 설치 시 등록하는 점이 되겠다.

  • 지원 플랫폼: 윈도우, 맥, 리눅스, 라즈베리파이

composite / 2018년 4월 30일 / Dog's bullshit / 0 Comments

Cloudflare 로 호스팅하는 웹 사이트의 진짜 IP 뽀려내기.

요즘 한국인도 CloudFlare 를 많이 이용하는데,

주로 해외에 효율적인 캐싱 서비스로 트래픽 조절을 할 수 있는 서비스라서 이용한다.

물론 뉴스타파같이 국내에 중점을 두는 사이트도 있고,

아이폰 탈옥툴 처럼 엄연히 불법은 아니지만 만든이를 숨기고자 하는 서비스도 있다.

(애플에서는 탈옥은 불법 아니지만 탈옥폰에 대해서 지원하지 않는다고 명시하고 있다.)

뭐 가장 큰 특징이 바로 CloudFlare 의 효율적인 캐시 정책과 DDOS 같은 무식한 공격에 방어하는 효과가 뛰어나서이다.

(실제로 Cloudflare 를 통해 호스팅한 사이트가 DDOS 공격을 받았는데 접속이 오래 걸렸을 뿐 서버가 뻗은 적이 없다고 하여 CloudFlare 서비스가 인기를 끈 원인이기도 했다.)

미국에도 한국의 보수(…)처럼 익명성을 혐오하는 이들이 있다. 좋게 보면 파수꾼일 수 있고, 나쁘게 보면 파파라치일 수 있다.

한국의 익명성은… 실명제하고 별 다를 거 없더라.

어쨌든 미국의 익명성을 반대하는 사람들은 불법적이라던가 등의 사이트가 하필 CloudFlare 에 호스팅을 해서, 이를 신고할 증거로 쓰지 못하기 때문에 애먹는(?)다고 한다.

그래서 몇몇 유저들이 CloudFlare 호스팅 하는 사이트의 진짜 IP 를 알아내는 방법을 “공유”하고 있다.

참고로 해킹 기술이 아니며, 그냥 네트워크 관리자라면 “아하 이거?” 할 수 있는 툴로 사용하는 방법이거나, 구글 검색으로 쉽게 접할 수 있는 별거 아닌 도구들이다.

물론 해킹으로 가능할 지는 모르겠지만, 불법이고, 이를 CloudFlare 가 인지하면 당신 고소미 먹으므로 알아서 해라.

어쨌든, 소개한다.

1. Uncovering bad guys hiding behind CloudFlare – CloudFlare Watch (현재 사이트 작동 안함)

http://www.cloudflare-watch.org/cfs.html (사이트 작동 안해서 링크 일부러 안적용)

Daniel Brandt 가 만든 이 사이트는 공공정보연구(Public Infomation Research) 프로젝트의 일환으로 “Cloudflare” 가 범죄 사이트도 수용하고 호스팅해줘서 “CrimeFlare” 라는 별칭을 만드는 등 CloudFlare 서비스에 반발하기 위해 만든 사이트라고 한다.

네임서버 히스토리 등의 공개적인 네임서버 IP 정보를 수집하여 CloudFlare 외 IP를 모두 솎아내서 정리했다는 이 사이트는 반익명성 네티즌에게 엄청난 호응을 얻었으나, 당연히 익명성을 요구하는 다수의 네티즌들에게는 반발의 대상이었고, 자금이 부족했던지 올해 초에 결국 사이트 자체가 폐쇄되었다.

그가 만들었던 동기 원문은 여기 살아있고, 영어다. 볼 사람 보라고.

http://cryptome.org/2012/07/cloudflare-watch.htm

  1. ping

물론 그냥 domain.com 만 핑걸면 cloudflare 만 잡힌다 하지만 CloudFlare 는 다이렉트로 접속하는 IP가 있다.

direct.domain.com : CloudFlare 기본 세팅할 때 다이렉트로 IP로 접속하라고 세팅한 IP. 뭘 좀 안다면 당연히 이는 삭제 대상인데, 실수라던가 귀찮아서 삭제 안할 경우 진짜 IP가 잡힐 수도 있다.

mail.domain.com : 주로 MX 레코드로, 이는 대부분 잡히지만 아닐 수도 있다. 뉴스타파가 잡히긴 했지만 메일 서버가 미국으로 잡히고, 메일 서비스는 심지어 무료로 제공하는 곳도 있기 때문에 신빙성이 적다.

그 외 알려진 서브도메인 알아서 하도록. 여기까지. 그래도 안잡히거나 CloudFlare IP만 잡히면 포기하자.

3. http://network-tools.com/

이 사이트는 해당 호스트에 대한 DNS 정보와 Traceroute 등등 호스트에 대해 공개된 정보를 보여주는 사이트이다.

도메인 Traceroute 및 DNS 정보, 도메인 정보와 IP whois 를 지원한다. 걍 IP나 도메인 누르고 GO 누르면 끝.

4. http://toolbar.netcraft.com/site_report?url=(도메인)

얘도 네트워크관리자라면 아 할 툴인데. 이녀석은 주로 DNS 내역을 보는 사이트이다. 따라서 오래된 도메인이라면 진짜 IP 대역도 볼 수 있는데, 뉴스타파는 신생 사이트고 처음부터 CloudFlare 를 채용했기 때문에 여기서 볼 수 없을 것이다.

그리고 그 오래된 IP가 접속되고, 올바른 곳인지는 나도 모른다. 알아서 판단하라.

5. # nmap -sV -sS -F <target>

nmap 은 DNS를 어떻게든 알아내는 DNS-brute 기능이 내장된 리눅스 유틸이다. 윈도우 사용자는 걍 구글링 해서 온라인 쓰던가.

어쨌든 이걸로 해당 호스트를 검색하면 해당 호스트의 레코드를 최대한 볼 수 있으며, 그 중 진짜 IP 대역이 있을 수도 있다.

물론 찾고 알아보고 발견하는 것은 각자의 몫이니 더이상 자세한 얘기는 생략한다.

내가 이 글을 올리는 이유는 내 친구를 포함해 CloudFlare 를 통해 웹 서비스 등을 이용하는 관리자라면 어떻게 보안성을 구축하고 운영할 것인지에 대한 참고사항이다. 이걸로 IP 잡고 뽀록내서 잡아서 뭐하게? 예를 들어 와레즈다? 불법 자료 공유한 정황을 증거로 남기면 된다. 그러면 경찰이 알아서 추적해서 잡아준다. 바보 아니다. 설령 반익명성 네티즌이라 해도 이거 쓰는 목적에 따라 범죄행위일 수도 있다. 무단 서버 침입일 수도 있기 때문이다.

CloudFlare 라도 항상 안전한 웹 사이트 운영은 힘들다. 이를 잘 알고 대비를 해 두면 당신의 서버는 안전할 것이다.

composite / 2014년 5월 13일 / 미분류 / 1 Comment