공용 IP와 사설 IP에 대해 적다가 내용이 길어져서 따로 포스팅으로 뺐다. Public IP와 Pravate IP에 대한 부수적 설명이라고 봐도 괜찮을 것 같다 ㅎㅎ

https://cassandra.tistory.com/61

 

[Network] 현재 IP가 사설IP인지 공용IP인지 확인하기

요약 포털에서 조회한 IP ipconfig의 IP = 사설IP 포털에서 조회한 IP == ipconfig의 IP = 공용IP 아래 이미지는 사설IP 예시 상세 공인IP (Public) : 전세계에서 유일한 IP. (이때문에 IPv4대역이 모자라단 소리

cassandra.tistory.com


익히 알고 있는 사실이지만, Tomcat 또는 톰캣에 준하는 WAS로 띄운 Web-Server는 localhost로 접속가능하고, Server를 띄운 노트북에서만 접속 가능하다. 이때 localhost 부분을 127.0.0.1 로 바꿔도 동일한 결과를 얻을 수 있는데, 이는 hosts파일에 127.0.0.1가 루프백 주소로 지정되어 있기 때문이다. 궁금하다면 C:\Windows\System32\drivers\etc경로에서 확인해보자.

회사 내 또는 실습실 내에서는 다른PC의 IP를 알고 있다면 해당 PC의 Server로 붙을 수 있다. 하지만 회사 내 또는 실습실 내에서 집에 켜놓은 PC IP의 Server로 접근하려고 하면 붙을 수가 없을 것이다. 이러한 결과는 공유기 WIFI의 범위내(회사/실습실) IP중에는 집PC의 IP가 없기 때문인데인데, 이는 사설 IP는 공유기가 허용하는 범위 내에서만 고유한 IP주소를 가지고, 해당 IP접근이 가능 하다는 증거이다.

위 이미지 상에서는 각 IP는 파란색 박스 내에서만 각기 IP에 접속가능하다.

그렇다면 어떻게 해야 집에 켜놓은 PC의 Server를 어디서나 접속할 수 있을까?

집에 켜놓은 PC의 네트워크가 전세계에서 고유한 IP(공유IP)를 사용하고 있다면 접속가능할 것이다. 즉, 집 인터넷을 공용IP로 쓰거나 호스팅 업체를 통해 공용IP-DNS를 받아 사용하면 될 것이다. 범위내(파란박스내)에서 테스트 서버 구축은 더 쉽다. 이미 범위내의 IP들은 서로 고유한 값을 가진 식별가능IP이므로, (보안정책상 접근이 제한되어있지 않다면) 특정 IP의 PC를 개발서버라 지칭해 해당 PC에 소스를 디플로이하면 될 것이다. 이것이 테스트서버를 구축가능케하는 네트워크상의 원리이다. 

추가

반대로 회사IP가 공용IP를 사용해 누구나 접속할 수 있다면 무슨 일이 일어날까? 네트워크에 자유롭게 접근할 수 있다면 무슨 일을 할 수 있을까?

나라면 우선 서버에 존재하는 중요파일목록을 받아보거나, 악성파일을 넣거나, 중요한 비밀번호를 바꿔버리거나, 파일을 탈취하거나 DB에 접속해 데이터를 추출하던가 해보고 싶은 일이 참 많다ㅎㅎ 하지만 이정도 수준으로 뚫기는 제법 품이드는 일이니 보통은 오픈되어있는 IP와 Port를 통해 어마어마한 서비스요청을 보내는 공격을 시도할 것이다. 이것이 바로 DDos공격이다. 그렇다면 이러한 공격을 막기위해선 어떤 방법을 취할 수 있을까? 네트워크 보안계층/SSL/포트변경 등의 방법을 통해 접근을 제한하고, N번이상 서비스를 요청했을때 M분간 요청이 차단되는 규칙들을 적용해 방어할 수 있을것이다. 이것이 보통 네트워크 담당자가 하는 일인데 가끔 개발자가 하기도한다..ㅎ.... 서버는 본인이 지켜야한다.

반응형

BELATED ARTICLES (관련글)

more