3 minute read

1일차 - 네트워크

정보보보안 개념 이해

  • 정보보안이란?

정보보안 3요소 : 기밀성, 무결성, 가용성

정보를 보호하기 위한 핵심 포인트: network, server
도둑이 문을 따고 들어가는 것처럼 해커는 네트워크를 통해 서버로 침입하기 때문에 이를 집중적으로 학습할 계획.

IP, 서브넷마스크, 게이트웨이, DNS

네트워크 : 2개 이상 기기가 데이트를 송수신 하기 위해 사용되는 단말 기기, 유/뮤선으로 구성되는 전송매체

IP

IP : 인터넷에 연결된 기기에 부여된 고유 주소

데이터 단위가 1024인 이유는 2의 제곱수이기 때문에.

  • <실습> 본인 PC에 설정한 IP 값을 2진수로 변환하는 방법 cmd에서 `ipconfig` 명령어 입력 -> 숙명여대 와이파이로 연결된 IPv4 `10.101.41.22`

fail to bring

2진수로 변환하면 -> 00001010.01100101.00101001.00010110

빠르게 푸는 방법은 2의 제곱수를 내림차순으로 정렬한 표를 그린 후 변환하고자 하는 십진수를 행으로 두고, 뺄 수 있는 가장 큰 수부터 1로 적고 나머지는 0으로 메꿔준다.

ip주소도 네트워크 주소와 호스트 주소로 나뉘는데, 서브넷 마스크로 둘을 구분할 수 있다. 네트워크 주소는 숙명여대 르네상스 404호처럼 이게 네트워크 주소인 것이고, 호스트 주소는 기기의 고유 주소를 말한다. 현재 서브넷 마스크를 보면 255.255.255.0으로 나와있는데 이를 2진수로 변환했을 때, 앞의 세 개는 모두 1, 0은 00000000인데, 1로 채워진 곳이 네트워크 주소, 0으로 채워진 곳이 호스트 주소이다.

ip주소에도 클래스가 있다. a,b,c,d,e 이렇게 다섯 개의 클래스가 있다. 주소를 2진수로 변환했을 때 맨 처음 시작 비트를 기준으로 클래스를 나누는데, 이렇게 나눠진 원리는 다음과 같다.

루프팩 주소는 기기가 통신이 잘 되는지 테스트하기 위해 루프팩 주소 핑 테스트라는 것을 할 때 사용하는데, 127.x.x.x이다. 이거는 실제로 사용하지 않는다.

fail to bring
정보를 얻기 위해 가장 먼저 해보는 짓인데, 핑을 통해 받은 응답을 가지고(ttl로 운영체제를 추측할 수 있음) 운영체제를 추측하여 공격을 어떻게 할 지 계획을 세울 수 있다.

rdp (remote desktop protocol)

실무에서 가장 많이 사용하는 클래스는 C클래스.

10.101.41.0/24 -> 대표 네트워크 ip 표현 방법. 24는 서브넷마스크 연속된 1의 개수이다. 이 때문에 맨 마지막에는 0, 255를 할당하지 않는다. 10.101.41.255 -> 여기에 연결된 모든 기기에 전송할 수 있게된다. 이를 broadcast ip라고 한다. 따라서 실제 사용할 수 있는 ip주소는 256 - 2 = 254개이다.

서브넷팅 기존에 있던 네트워크 대역을 반으로 잘라서 그 속에서 또 첫번째와 마지막을 사용할 수 없게 되어 128 - 2 = 126개의 ip가 동일 네트워크 대역에 할당될 수 있다. 만약 26bit로 또 서브넷팅하면 한 대역에서 0~63이 할당되는데 첫번째와 마지막을 사용할 수 없으므로 64-2 = 62개의 주소를 동일 네트워크 대역에 할당할 수 있다. 서브넷팅을 활용하여 ip대역을 기준으로 정책을 세우기 유리해진다.

24비트 : 256 - 2
25비트 : 128 - 2
26비트 : 64 - 2
27비트 : 32 - 2
28비트 : 16 - 2
29비트 : 8 - 2
30비트 : 4 - 2

–> 32비트는 1 본인의 아이피가 된다. 즉 본인의 네트워크 주소를 표기할 때 10.101.31.44/32 이런식으로 한다.

  • 게이트웨이 외부로 나가도록 하는 문으로, 보통은 가용범위 1~254 내 제일 첫번째 혹은 마지막 숫자를 사용하는 경우가 많다.

NAC(네트워크 접근 제어)라는 보안장비를 가지고 ip와 mac주소를 조합하여 허용된 기기만 접근을 허락하는 기능을 하게 한다.

  • <실습> IP 주소와 서브넷 마스크가 다음과 같을 때, 네트워크 주소와 브로드캐스트 주소 찾기
    1. ip주소: 192.168.0.87 / 서브넷 마스크: 255.255.255.0

      네트워크 주소: 192.168.0.0/24
      브로드캐스트 주소: 192.168.0.255

    2. IP 주소: 206.37.129.3 / 서브넷 마스크: 25bit

      네트워크 주소: 206.37.129.0/25
      브로드캐스트 주소: 206.37.129.127

DNS

도메인 이름으로 직접 찾아가는 것이 아니라 ip주소로 찾아가기 때문에 도메인 이름을 ip로 변환해주는 시스템이다.

fail to bring

공인IP로 설정이 되어야 외부에서 접속이 가능하기 때문에.

OSI 7 Layer

서로 다른 기능을 수행하는 7개의 계층으로, 물리, 데이터, 네트워크, 전송, 세션, 표현, 응용계층으로 구성된다.

데이터 링크 계층: 헤더에 인접한 노드가 들어감. 출발 mac주소는 현재 내 위치 lan카드 mac주소이지만, 도착지 맥 주소는 최종 목적지의 mac주소가 아닌 인접한 장비의 mac주소가 들어가므로, 최종 목적지의 mac주소는 알 수 없음.
예를 들어, 여기서 네이버 포탈에 로그인하게 된다면 출발 mac주소는 내 기기의 mac주소이지만, 도착 mac주소는 최종 목적지는 네이버의 mac주소가 아닌 인접한 장비의 mac주소이다. 따라서 네이버의 mac주소는 알 수 없다.

전송계층인 4계층에 붙는 헤더의 정보들이 많은데 그 중 control flags가 중요함. 헤더는 20바이트로 구성이 되어있고, 정해진 규격에 따라 데이터(헤더)가 만들어져 밖으로 나가게 된다. ip는 주소라고 하면, 포트넘버(1~65535)는 문이라고 할 수 있음. 이 때, TCP는 TCP끼리 UDP는 UDP끼리 통신한다. 클라이언트에서 외부와 통신할 때 안쓰고 있는 포트 넘버를 열고 데이터가 출발하게 된다. 도착지점에서의 포트 넘버를 통해 들어가면 해당 서버의 웹 어플리케이션에서 반응을 주게 된다. 포트는 웹 어플리케이션과 연결해주는 통로라고 할 수 있다. ip는 활성화되어있지만 포트가 닫혀있는 경우에는, rst+ack라는 응답을 주게된다. 포트는 각 단말의 어플리케이션이 열고 닫는 개념이다.

  • 3 Way HandShake
    맨 처음 syn패킷 seq는 n이라는 넘버와 ack는 숫자는 없이 서버로 전송한다. 서버에서 클라이언트에게 넘길때 y라는 숫자와 n+1 숫자를 전달한다. 그 후 클라이언트에서 n+1, y+1 숫자를 전달한다. 이렇게 순차적으로 숫자를 계산하여 주고받음에 따라 순차적으로 통신이 잘 되고 있음을 알 수 있다. –> TCP 연결지향성의 특성

  • Control Flag : 6개의 플래그 비트가 있음. 각 플래그 사용 시 자릿수 값이 1, 미사용 시 0으로 입력됨.
    패킷의 종류를 정의하는 부분이다. URG, ACK, PSH, RST, SYN, FIN
    fail to bring image

  • <실습> wireshark 사용하기

fail to bring fail to bring