라우팅
- 송신자측에서 목적지까지 경로를 정하고, 정해진 경로를 따라 패킷을 전달하는 일련의 과정
- 라우터는 라우팅 기능을 수행하면서 최선의 경로 선택
- 라우팅 종류
구분 |
정적 라우팅 |
동적 라우팅 |
라우팅 관리 테이블 |
ㆍ수동 ㆍ네트워크 변화를 자동 인지 불가 |
ㆍ자동 ㆍ네트워크 변화 자동인지해 정보 전송 경로 재구성 |
인터페이스 |
변경 적을 때 유리 |
변경 많을 때 유리 |
노드 추가 / 변경 |
관리자가 직접 작업 |
스스로 노드 추가 / 변경 가능 |
중간 경로 |
단일경로에 적합 |
다중 경로에 적합 |
라우팅 프로토콜
- 네트워크 정보 생성, 교환, 제어하는 프로토콜
- 규모가 큰 네트워크는 패킷의 효율적 전달을 위해 라우팅 테이블을 동적으로 갱신해야 함
- routed 프로토콜과 routing 프로토콜
1. routed 프로토콜 : 라우터가 라우팅을 해주는 고객 ex) TCP/ IP, IPX, Apple talk
2. routing 프로토콜 : routed 프로토콜에게 목적지까지 가장 좋은 길을 갈 수 있게 해주는 프로토콜
- AS 내에 운영되는 라우팅 프로토콜을 IGP, AS 간 라우팅 정보 교환을 위해서는 EGP를 사용한다.
※ AS : 하나의 관리 도메인에 속해 있는 라우터의 집합
유니캐스트 라우팅
1. 거리벡터 알고리즘
- 자신의 모든 이웃에게 자신이 가지고 있는 인터넷에 대한 정보를 끊임없이 알려줌(정보가 불완전하더라도 계속 통신)
- 목적지까지 최소비용만 제공을 하지 목적지까지의 경로를 제공하지는 않는다.
- RIP, IGRP 등이 대표적인 거리벡터 알고리즘이다.
2. 링크상태 알고리즘
- 딕스트라(Djikstra) 알고리즘 사용
- LSDB는 플러딩을 통해 만들어짐
※ LSDB = 링크의 상태집합
- 네트워크상 변화가 있을 때만 라우팅 정보 발송
- 대규모 N/W에 적합
- IS-IS, OSPF, SPF가 대표적인 링크상태 알고리즘이다.
- 거리벡터 vs 링크상태 알고리즘
거리벡터 알고리즘 |
링크상태 알고리즘 |
인접한 이웃으로부터 정보 수집 |
모든 라우터로부터 정보 수집 |
비용은 이웃 라우터와의 거리 비용 더해서 구함 |
최단거리 알고리즘 계산으로 모든 라우터 비용 직접 계산 |
주기적인 라우팅 정보 교환 |
링크 상태 변화시만 정보 교환 |
느린 수렴시간 |
빠른 수렴시간 |
모든 라우팅 테이블 값을 이웃에게 전달 |
자신에게 직접 연결된 망 정보만 전달 |
브로드캐스트 방식으로 이웃에게 라우팅 |
멀티캐스트 방식으로 라우팅 |
3. 경로벡터 알고리즘
- 소스부터 모든 목적지까지 경로는 스패닝 트리 알고리즘에 의해 결정
※ 스패닝 트리 알고리즘 : 목적지까지 1개 이상의 경로가 있을 시 가장 최선의 규칙을 사용해 경로 선택하는 과정
4. 라우팅 알고리즘
RIP
- 가장 오래되고 가장 널리 사용하는 내부 라우팅 프로토콜(IGP)
- 거리벡터 알고리즘 사용
- RIP는 최대 홉이 15까지 밖에 안되므로 소규모 네트워크에서 쓰임(홉 : 네트워크 수)
- RIP는 IPV4에서 쓰는 RIP 버전 1, 버전 2가 있고, IPV6에서 사용하는 RIPng가 있다.
1. RIP 버전 1
- 브로드 캐스팅으로 정보 전달
- VSLM, CIDR 사용 불가
- UDP 520번 포트 이용
2. RIP 버전 2
- 멀티캐스팅을 지원 → 호스트의 불필요한 패킷 프로세싱 줄임
- 메시지 마다 인증이 가능
- VSLM, CIDR 사용 가능
- UDP 520번 포트 이용
3. RIPng
- RIPv2에 IPV6에 호환성을 위해 새로만들어진 버전
- UDP 521번 포트 이용
- RIP의 문제점
1. 느린 수렴 - 모든 라우터가 같은 정보를 갖게 되기까지 오랜 수렴시간이 걸림
2. 라우팅 루프 - 즉시 라우팅 경로에 반영되지 못해 특정 경로에 루프가 생길 수 있음
3. 무한세기 - 느린수렴으로 인해 엉뚱한 RIP 메시지 생성하여 라우터 사이에서 계속 주고받는 문제가 생김
4. 작은 무한 값(네트워크 홉수가 작음) - 최대 홉수가 15밖에 안됨
- 해결방안
해결방안 |
내용 |
Triggered update |
홉수가 변경되었을 때 이를 즉시 통보하여 복구시간 줄임 |
Hold dowwn |
매트릭이 무한인 경우 경로 갱신 안하다가 전체 네트워크의 경로 갱신시까지 기다림 |
Split horizon |
라우터 A가 라우터 B로부터 수신한 업데이트 정보를 다시 라우터 B로 되돌리는 것을 막는 방법 |
Route Poisonning |
회선의 고장 감지시 즉시 홉수를 16(무한)으로 지정해 도달 불가능을 신속하게 알리는 법 |
IGRP
- RIP의 홉수제한, 네트워크 상태반영을 즉시 못하는 등의 단점을 극복하기 위해 만듦
- 하나의 매트릭 값만 사용하는 대신 다섯 가지의 네트워크 피라미터를 이용해 거리벡터를 계산 → 네트워크 상황에 맞게 알고리즘을 적절히 변형시킬 수 있음
EIGRP
- IGRP가 CIDR, VLSM과 같은 새로운 네트워크 기술을 지원하지 못하기 때문에 EIGRP를 만듦
- 수렴속도가 빠르며 적은 대역폭 필요
- 거리벡터 알고리즘이지만 링크상태 라우팅에 더 가까운 형태
- DUAL 알고리즘을 이용해 네트워크 구성 변화 있을 시 패킷 손실 없이 재라우팅 가능
OSPF
- 링크상태 알고리즘
- 인트라 도메인 알고리즘(IGP)
- 딕스트라 알고리즘 사용
- 네트워크 변화 생길때만 Flooding 수행 → 수렴시간, 트래픽 양 ↓
- 클래스 단위, 서브넷 단위, CIDR 지원
- 대형 네트워크에 적합
- OSPF에서는 큰 AS가 계층단위를 가질 수 있음
- OSPF에서는 라우터의 브로드캐스팅을 영역 내로 제한하여 영역 외부로 라우팅 정보 패킷이 전달되지 않는다. → 영역간 정보전달은 영역 경계라우터를 통해서만 가능
- OSPF 형태
BGP
- 현재 인터넷에서 사용하고 있는 유일한 인터 도메인 라우팅 프로토콜(EGP)이다.
- 경로벡터 알고리즘을 사용
라우터 보안
- 라우터 : 동일한 전송 프로토콜을 이용하는 분리된 네트워크를 연결하는 장치
- SNMP의 community 문자열은 public, private로 사용해서는 안된다.
- SNMP의 권한은 특별 경우 제외하고 read-only로 설정해야하면 SNMP v3이상을 사용해야함
- 라우터 모드 종류
1. user 모드 : 주로 테스트, 현재상태를 볼 수 있음(제한된 명령어)
2. Previleged 모드 : 모든 명령어 사용 가능하고 configure file 조정
3. 구성모드 : 라우터의 구성 파일을 변경하는 경우에 사용
4. RXBOOT 모드: 라우터의 패스워드를 모르는 경우, 라우터 이미지 파일에 문제가 생긴 경우 복구를 위해 사용
5. setup 모드 : 라우터 처음 구매해 전원을 키거나, 라우터에 구성파일이 없는 경우 라우터가 부팅하면서 자동으로 들어가는 모드
- 라우터의 기본 명령어
1. 호스트 네임 변경 : hostname 이름
2. 배너 설정 : banner mod#
3. 시간 설정 : ntp server 시간 서버IP
4. 인터페이스 ip 주소 변경 : no ip address → ip address ip주소 서브넷 주소
※ no = 이전 명령어 취소
→ configure 모드 진입에 들어가서 설정해야함
5. 셋팅값을 NVRAM에 저장, 리부팅 시에도 사용 : running-config startup-config
라우터 암호 설정
- 프리빌리지 모드 들어가 line console 0 입력 후 password 패스워드 입력해 패스워드 입력
- 패스워드 종류는 enable password, enable secret으로 나뉜다.
1. enable secret : 패스워드가 암호화 되어 저장, 만약 enable secret, enable password 2개 저장되어 있는 경우 enable secert 값만 확인
2. enable password : 패스워드가 평문으로 저장, 만약 enable secret 값이 존재하지 않을 경우 enable password 값을 물어봄
- 불필요한 프로토콜 서비스 제거 : no service
액세스 리스트
1. standard 액세스 리스트
1. 패킷의 출발지 IP만 가지고 패킷을 허용, 차단
2. 형식
access-list ACL-No (permit / deny) (출발지 주소 / any)
1. ACL-NO : ACL 관리번호(1 ~ 99) 2. permit / deny : 허용할지 거부할지 결정 3. 출발지주소 / any : 출발지주소 입력, any = 모든 주소를 의미 |
2. extended 액세스 리스트
1. 패킷의 소스 IP만 아니라 목적지 IP, 포트, 프로토콜 등을 이용해 차단 허용함
2. standard 액세스 리스트보다 확장된 기능 제공
3. 형식
access-list ACL-NO (permit / deny)(protocal) 출발지 ip(서브넷 마스크) 목적지 ip(서브넷 마스크) 비교연산자 포트번호
1. ACL-NO : ACL 관리번호(1 ~ 99) 2. permit / deny : 허용할지 거부할지 결정 3. protocal : ip, tcp, udp 등 프로토콜 정의 4. 출발지주소 : 출발지주소 입력 5. 목적지 주소 : 목적지 주소 입력 6. 비교연산자 : eq(동일할 경우), gt(이상), lt(이하), neq(동일하지 않을 경우), range(범위) 7. 포트번호 : 허용 / 거부할 포트 번호 |
4. Extended Access List 동작 원리
액세스 리스트 중요규칙 4가지
1. 액세스 리스트는 윗줄부터 하나씩 차례로 수행
2. 액세스 리스트 맨 마지막 line에 permit any 넣지 않을 경우 default로 어는 액세스 리스트와도 맞지 않는 모든 주소는 거부한다.
3. 액세스 리스트의 새로운 라인은 항상 맨 마지막에 추가 → 선택적 추가, 제거 불가능
4. 인터페이스에 대한 액세스 리스트 정의 되어있지 않는 경우 permit= any이다.
라우터 필터링을 이용한 패킷 차단 / 허용
1. ingress 필터링
- 라우터 내부의 사내 네트워크에 유입되는 패킷의 소스-ip나 목적지 포트 체크하여 허용 / 거부
- 만약 내부로 유입되는 IP가 내부 IP주소일 경우 공격자에게 악용된것이므로 차단해야함
- 외부 유입 IP 중 예약된 IP는 차단하는 것이 좋다
2. egress 필터링
- 내부에서 라우터 외부로 나가는 패킷의 소스 IP 체크하여 필터링
3. Null-routing(black-hole) 필터링
- 특정 IP 또는 IP 대역에 대해 NULL이라는 가상 쓰레기 인터페이스로 보내도록 해 패킷이 통신 되지 않도록 하는 필터링
- DDOS 공격에 의해 네트워크 트래픽이 과도하게 발생할 경우 해당 목적지 IP를 망내에 통신할 수 없도록 차단하는 경우 사용
- 패킷이 Null 인터페이스로 보내지는 경우 icmp unreachable이라는 메시지 발송
4. Unicast RPF 이용한 필터링
- 인터페이스를 통해 들어오는 패킷의 소스 ip에 대해 라우팅 테이블을 확인하여 들어온 인터페이스로 나가는지 확인하는 기법
- reverse path가 존재하면 패킷 통과 존재하지 않는 경우 위조패킷으로 판단
루즈 소스 라우팅 / 스트릭트 소스 라우팅
1. 루즈 소스 라우팅 : 라우팅 경로를 대략적으로 지정
2. 스트릭트 소스 라우팅 : 정확하게 경로를 지정
정적 라우팅 / 동적 라우팅
1. 정적라우팅(static)
- 가장 안전한 라우팅 방식
- 라우팅 프로토콜을 사용하지 않음 → 공격자가 임의로 라우팅 정보 변경, 조작 불가
2. 동적 라우팅
- 트래픽 전송에 있어서 트래픽 상황에 따라 전송경로를 변화시키는 방법
- 안전하게 사용하려면 라우팅 프로토콜에 인증기능을 적용해야 함(password)
※ 정적라우팅이 동적라우팅보다 안전한 이유
정적라우팅은 IP 대역이 정해져 있어 라우터 사이에 다른 라우터가 들어간다해도 달라질게 없지만 동적 라우팅은 관리자가 설정한 라우터 이외의 다른 라우터(공격자)가 인의적으로 네트워크에 들어와 우선순위를 가장 높게 잡게되면 패킷이 공격자가 연결한 라우터에 들어가기 때문에
'보안기사 > 필기' 카테고리의 다른 글
기사 자격증(알기사, 무선장비 보안) (0) | 2019.02.04 |
---|---|
기사 자격증(알기사, 네트워크 장비) (0) | 2019.02.02 |
기사 자격증(알기사, TCP/IP) (0) | 2019.01.31 |
기사 자격증(알기사, 네트워크 개요) (0) | 2019.01.31 |
기사 자격증(알기사, 각종 시스템 보안 위협 및 대응책) (0) | 2019.01.30 |