2013년 9월 14일 토요일

Network Security #03

11강.IPv6
IPv6 ?
  • IPng(IP Next Generation), 즉 차세대 IP라고 불리고 있는 IPv6는 Internet Protocol Version 6의 약자로서, 일련의 IETF 공식 규격
  • 현재 사용되고 있는 IPv4를 개선하기 위한 진화적 세트로서 설계됨
  • 특히, IPv6은 기하급수적으로 늘어나는 internet address를 감당해낼 수 있고, multi-media data 처리가 능숙한 데다 보안성 까자 갖추고 있어 주목됨.
IPv6의 등장배경
  • 단순한 주소 할당에 대한 요구
    • DHCP등 이용
  • IP 수준의 보안요구
    • 개별 보안 솔류션 들간의 호환성 문제 발생
  • 실시간 데이터 전송에 관련 요구
    • 현재 보통 포트번호 또는 TOS(Type of Service)필드 데이터를 보고 데이터의 흐름 식별
    • IPv4의 TOS 필드는 종류와 기능이 제한되어 있음
    • 포트번호에 의한 데이터 식별은 사실상 어려움
IPv4의 문제점
  • 급속한 인터넷 성장, 주소 고갈
    • 비 공인 IP 사용을 위하여 NAT 운영 시 프로토콜 오류 발생
  • 2- 계위 주소 구조의 비 효율성
    • A클래스는 주소 (1600만개)가 남고,
    • C클래스는 주소 부족
  • 인터넷 백복 라우터의 능력한계
    • 보통 인터넷 백복 라우터의 라우팅 데이블에는 수만개의 목적지 주소에 해당하는 엔트리가 포함되. 테이블 유지관리 어렵고 라우팅 처리 능력 저하됨.

IPv6의 특징
  • IPv6 설계의 전제조건 수용
    • 계층의 독립성 보장 및 IPv4에서 점진적 이전
  • 새로운 헤더 형식 적용
    • 패킷 헤더 확인에 소요되는 부담을 최소화 함
    • 중요도가 떨어지는 헤더는 기존헤더에서 확장 헤더로 변경
    • IPv4와 IPv6헤더간의 호환성 없음.
    • 장비에 두 가지 기능 모두 구현하여야 함.
  • 네트워크 계층의 프로토콜 통합 또는 수정
  • 큰 주소 공간
    • 128비트로 주소 표시 (v4에서 32비트)
    • 가용 주소 공간은 사실상 무한대
    • 서브네팅을 다단계로 나눔
  • 계층적 주소 설정
    • 라우팅 정보의 집약과 라우팅 테이블 축소가 가능
  • 자동화된 주소 설정 및 기본 제공되는 보안 기능
  • 개선된 QoS지원 및 확장성
  • 네트워크 계층의 프로토콜 통합 수정
    • ICMPv6가 ARP , IGMP 기능 흡수, RARP 기능 삭제
IPv6 주소 체계
  • 주소 공간이 확대됨에 따라 주소의 종류와 할당방식이 다양해짐
  • 주소 구조
    • Prefix = 64비트 : 주소의 유형과 서브넷(또는 링크)을 식별
    • 인터페이스ID = 64비트 : 링크(서브넷)에서의 인터페이스(노드) 식별
  • 주소 할당의 기존 단위는 인터페이스
예)
3FFE:0301:DEC1::0A00:2BFF:FE36:701E
=============== ===================
Prefix          Interface ID

prefix representation : 3FFE:0301:DEC1::/64
IPv6 의 주소 표현
  • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx ( x - 16 진수의 형태)
  • 0의 연속은 ‘::’으로 표현 (단, 한번만 사용가능)
    • 예) 3FFE:2E01:0:0:0:31:0:21 --> 3FFE:2E01::31:0:21
    • 예) 0:0:0:0:0:0:0:1 --> ::1
  • 주소에서 유효한 비트의 수를 /를 이용하여 나타냄
    • 예) FE80::/10 -> 1111 1110 1000 0000 -> 1111 1110 10 (즉 왼쪽부터 10번째 비트까지 유효)
  • Auto-configuration
  • IPv6 address = subnet prefix + interface ID

12강.네트워크 보안

해킹의 대표적인 세가지 유형

  • 침입 및 정보 변조/파괴
  • 서비스 거부 공격 (Dos : Denial of Service)
  • 정보 유츌

Network Security #02

제10강.네트워크성능 관리
PING (Packet Internet Groper)
TCP/IP 프로토콜 중 ICMP(Internet Control Message Protocol) 사용
ICMP(Internet Control Message Protocol)
  • ICMP는 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 에러를 알려주는 프로토콜
  • OSI 3계층인 네트워크 계층에 속함.
  • RFC 792에 정의됨.
  • ICMP는 IP 테이터그램을 사용
  • 메시지는 TCP/IP 소프트웨어에 의해 처리되며 응용프로그램 사용자에게 직접 분명하게 보이지는 않는다. 일례로서 ping 명령어는 인터넷 접속을 테스트하기 위해 ICMP를 사용한다.


PING 구조


TYPE ( 0 or 8)
Code (0)
Checksum

Identifier

Sequence Number

Option Data









  • 타입 : ICMP 메시지 유형 구분
  • 코드 : 메시지에 대한 추가 정보 (ping은 0)
  • 오류검사 : ICMP 메시지에 대한 오류만 검사
  • 식별자 : 패킷을 보낸 ID로 응답 시 확안. 같은 서버에 요청되는 각종 PING Request에 대한 소유권 구분
  • 번호순서: ‘0’에서 부터 시작하여 증가하는 값. 응답 패킷에 복사
>ping www.yahoo.co.kr
Pinging sg-rc.g01.yahoodns.net [203.84.219.114] with 32 bytes of data:


Reply from 203.84.219.114: bytes=32 time=309ms TTL=49
                                   -----------------
RTT(Round Trip Time)와 TTL(Time to Live) 값
Reply from 203.84.219.114: bytes=32 time=307ms TTL=49
Reply from 203.84.219.114: bytes=32 time=311ms TTL=49
Reply from 203.84.219.114: bytes=32 time=312ms TTL=49


Ping statistics for 203.84.219.114:
   Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
   ----------------------------------------------------
   Packet 손실율
Approximate round trip times in milli-seconds:
   Minimum = 307ms, Maximum = 312ms, Average = 309ms
   -------------------------------------------------
RTT 최대, 최소값  


PING 출력 형태
  • 첫번째 RTT 값이 다른 RTT 값들보다 높은 경우 :: ping을 수행한 장비의 ARP 캐시에 대상 호스트의 IP에 관련된 MAX가 없는 경우, 주로 발생
PING 형식과 옵션(windows)
  • -t : 사용자가 프로그램을 끝낼 때 까지, PING 명령을 계속 수행
  • -a : 입력된 IP 주소를 호스트 이름으로 바꾸어 줌
  • -n count : count에 지정된 수 만큼 패킷을 보냄
  • -w timeout : timeout 시간을 연장
  • -l size : 패킷 사이즈를 변경


TTL(Time-To-Live)::
  • IP 패킷 내에 있는 값, 네트워크내에 얼마 오래 있었으며 폐기 여부를 라우터에게 알려줌.
  • 패킷들이 정상적으로 목적지까지 배달되지 않는 여부를 나타낸다.
  • 초기치는 8비트 헤더에 설정됨.
  • 각 라우터는 TTL필드로 부터 적어도 하나의 숫자를 빼도록 되어 있음. 그 계산은 대개 패킷이 버려지기 전에 허용되는 라우터의 홉수를 의미(홉 : 라우터 <-> 라우터 사이)
  • 패킷을 받는 각 라우터는 TTL 필드 내의 값에서 1을 뺀다. 그 값이 0이 되었을 때, 라우터는 그것을 감지하여 그 패킷을 버리고 ICMP 메시지를 발신지 호스트로 보냄.
  • 원도우9x의 기본 TTL은 32홉 , 만약 어떤 사이트에 도달하기 어려움을 느끼는 사용자라면 이 값을 128 정도로 바꾸는 것도 하나의 방법.
  • tracert - 수신 경로를 따라 이어지는 각 라우터에 의해 그 패킷이 버려지도록 하기 위해,의도 적은 낮은 TTL값을 이용
  • TTL 값
    • 0은 같은 호스트 ,1 은 같은 서브넷으로 제한
    • 32은 같은 사이트 , 64은 같은 지역으로 제한
    • 128은 같은 대륙 ,255는 제한 없다.



tracert(Trace Route)
  • 특정 호스트를 찾아가기 위하여 거치는 홉을 기록하는 프로그램.
  • 해당 라우터의 라우팅 데이블이 정상적인지 점검
  • ICMP의 메시지 두 종류와 IP헤더 내의 TTL을 사용
Tracert 옵션 사용 예
  • 홉 마다 주소에 대한 호스트 이름을 알아 보는 것을 제외하여 trace 실행 시간을 빠르게 하고자 하는 경우
    예) tracert -d www.yahoo.co.kr
  • 대상 호스트까지 연결되는 홉 중 5개만의 경로를 알고자 하는 경우
    예) tracert -h 5 www.yahoo.co.kr
netstat
  • 네트워크 인터페이스 카드의 네트워크 통계치와 현재의 TCP/IP 네트워크의 연결상황을 나타내는 프로그램
  • 이를 통하여
    • 현재 발생하고 있는 Collision Rate 계산
    • 접속 케이블/인터페이스의 양호 상태
    • Broadcast 율, Discard 율, 네트워크 I/O 트래픽 율
    • 라우팅 데이블 등을 알 수 있음
    • 또한, 현재 접속되어 있는 호스트의 어드레스와 포트 번호를 알 수 있음.
참고 : 브로드캐스트(broadcast)
  • 영역안에 모든 노드에 동일한 신호를 보내는 것
  • 비교
    • 유니캐스트 : 특정 수신자(대부분의 전자우편이 그렇다)에게만 전송
    • 멀티캐스트 : 다중 수신자(전자우편 메일링 리스트 또는 MBone네트웍을 통한 웹전송 등)들에게 전송
    • 애니캐스트 : 라우터들의 그룹에서 가장 가까이 있는 것들에게 전송


Netstat 출력 양식
  • Proto: 연결된 네트워크의 프로토콜 이름
  • Local Address : 연결에 사용되는 로컬 단말의 IP주소와 포트번호 표시 (포트 지정이 안된 경우 * 표시)
  • Foreign Address : 연결된 원격 컴퓨터의 호스트 이름이나 IP 주소 표시
  • State : 연결 TCP 프로토콜의 연결 상태 표시
    • 연결 시 : established
    • 연결 대기 중인 경우 : listening


netstat 옵션 사용예
  • 현재 이더넷 환경에서 해당 단말의 broadcast와 unicast 패킷 비율, 폐기되는 패킷 율, 에러등의 통계치를 알고 싶은 경우
    ::netstat -e
  • 네트워크 연결 상황을 IP주소와 패킷 번호 별로 나타내고자 하는 경우
    ::netstat -a -n  (결과에 이상한 포트번호가 (12345,1245 등) 나타나면 트로이의 목마에 감염된 것임.
  • 해당 단말의 라우팅 형태와 연결 접속 사황을 보고자 하는 경우 (라우팅 테이블을 보여줌)
    ::netstat -r
라우팅 테이블


설명
Network Address
Netmask
Gateway
Interface
Metric
Default
Route
0.0.0.0
0.0.0.0
192.168.1.1
192.168.1.100
20
Loop Back
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
Subnet
network
192.168.1.0
255.255.255.0
192.168.1.100
192.168.1.100
20
Lan Card
192.168.1.100
255.255.255.255
127.0.0.1
127.0.0.1
20
Subnet
Boradcast
192.168.1.255
255.255.255.255
192.168.1.100
192.168.1.100
20
Multicast
224.0.0.0
240.0.0.0
192.168.1.100
192.168.1.100
20
Limited
broadcast
255.255.255.255
255.255.255.255
192.168.1.100
192.168.1.100
1


Routing Table 보는 법

  • default route
    • 여러 라우팅 데이블을 확인해서 일치하지 않을 경우, default route의 gateway로 보낸다
    • 일반적으로 라우터의 주소에 해당
  • loopback
    • 127.0.0.1은 software loopback 주소로서, 자기 자신을 가리킨다.
  • subnet network
    • ip 주소의 subnet network 주소를 가르킨다.
    • ip 주소가 192.168.1.100 이고 subnet mask가 255.255.255.0 인 경우 AND 연산을 통해 192.168.1.0이 network 주소가 된다.
  • LAN card : 자신의 IP주소를 의미한다.
  • subnet broadcast : 위의 subnet mask 연산결과 나온 192.168.1.0 의 마지막 주소인 192.168.1.255를 broadcast로 사용.
  • multicast
    • D class의 multicast를 나타내는 행이다.
    • 특정한 그룹에게 메시지를 전달 할 때 사용되는 주소
  • limited broadcast
    • 라우터를 통과하지 못하는 broadcast 주소
    • 같은 subnet 상의 모든 host에 전달