월루를 꿈꾸는 대학생

CCNP 8장 Routers and Routing Protocol Hardening 본문

Server&Network/CCNP

CCNP 8장 Routers and Routing Protocol Hardening

하즈시 2020. 12. 3. 16:41
728x90

Management plane 
이 플래인은 시스코 IOS 기기로 전송되어 기기 관리에 사용되는 트래픽과 관련이 있다. 이 평면의 보안에는 강력한 암호 사용, 사용자 인증, 역할 기반 명령줄 인터페이스(CLI), SSH(Secure Shell) 사용, 로깅 사용, NTP(Network Time Protocol) 사용, SNMP(Simple Network Management Protocol) 보안, 시스템 파일 보안 등이 포함된다.


Control plane
이 플래인은 라우팅 프로토콜 운영과 같은 패킷 포워딩 결정과 관련이 있다. 이 평면의 보안에는 라우팅 프로토콜 인증을 사용하는 것이 포함된다.


Data plane
이 플래인은 라우터를 통한 데이터 포워딩과 관련이 있기 때문에 포워딩 평면으로도 알려져 있다. 이 평면의 보안에는 대개 ACL(액세스 제어 목록)을 사용하는 것이 포함된다.

 

관리 영역 : NMS와 같이 이런 기기들을 어떻게 관리할 것인가 하는 영역

컨트롤 영역 : 데이터 영역을 어떻게 무슨 트래픽이 흐르도록 제어하는 영역

데이터 영역 :트래픽을 전송하는 목적을 제공하는 영역

 

 


1단계
기록된 라우터 보안 정책 준수

 

2단계
안전한 물리적 액세스

 

3단계.
강력한 암호화된 암호 사용

 

4단계
라우터에 대한 액세스 제어

-vty 혹은 console

 

5단계.
안전한 관리 액세스

 

 

6단계
보안 관리 프로토콜 사용

 

7단계.
시스템 로깅 구현

 

ntp - 시간이 중요하다 왜?? 문제가 발생했을 떄 시간단위로 판단하는데  시간이 서로 다르면 시점에 대한 확인이 어려워지기 때문에 시간의 동기화가 중요하다

 

 

8단계.
정기적으로 구성 백업

- ftp or tftp

 

9단계.
필요 없는 서비스 사용 안 함

 


패스워드 암호화

 

이전에는 md5 요즘에는 sha256 

 

수준 4(SHA256)로 암호화된 로컬 데이터베이스 항목을 만들려면 username name secret password 전역 구성명령을 사용
login local 명령은 로컬 데이터베이스에 구성된 자격 증명을 사용하여 라인을 인증

 

 

 


AAA 모델

 

 

§유연성 향상 및 액세스 구성 제어

§확장성

§다중 백업 시스템

§표준화된 인증 방법

-- 사용자는 저장 가능한 인증 데이터베이스에 대해 인증해야 한다.

§Locally: username secret 명령을 사용하여 생성됨

§Centrally: 사용자가 AAA 서버에 대해 인증되는 클라이언트/서버 모델.

 

 

 

RADIUS protocol

- UDP 1812 OR 1645 인증과 인가

- UDP 1813 1646 ACCOUNT

- 전체 메세지 암호화 XX 헤더부분만 암호화

 

 

TACAS+

- TCP 49

- CISCO 독점

- 완전히 암호화

- 서비스를 전부 분리해서 작동 AAA구조가 개별화 되어 있다 

 

TACAS 와 RADIUS 차이점은 ? 

- TACAS는 전체가 암호화 RADIUS는 헤더정보만 암호화

- 실제로는 RADIUS 많이 사용 : 오픈소스에다가 표준화 

 


AAA 로컬 인증 사용 

 

RADIUS

 

Step 1. username name secret password 전역 설정 명령어를 사용하여 로컬 사용자 계정을 생성합니다.
Step 2. aaa new-model 전역 설정 명령어를 사용하여 AAA를 활성화합니다.
Step 3. 서버 IP 주소 및 보안 키를 포함한 보안 프로토콜 매개 변수 구성합니다.
Step 4. aaa authentication login {default | list-name } method1 [...[ method4 ]] 명령어를 사용하면서 인증 방법 리스트를 정의합니다. 
Step 5. 필요한 경우 방법 리스트를 console, vty, aux lines에 적용합니다. 
Step 6. (옵션) aaa authorization 전역 설정 명령어를 사용하여 권한 부여를 구성합니다.
Step 7. (옵션) aaa accounting 전역 설정 명령어를 사용하여 계정을 구성합니다.

 

TACAS


TELNET 대신 SSH 사용하자 

 

 

privilige에 대한 정보

 

비번길이제한도 가능 

 

https://blog.naver.com/suffer00net/30078720035

 

[Cisco/IOS/Router/Privilege] Cisco IOS Privilege Level

Cisco IOS를 사용하여 사용자를 인증하고 사용자 별로 사용 가능한 명령어를 지정할 수 있다. 사용자를...

blog.naver.com

 


라우터의 ACL 사용하여 인프라 보호 가능 

 

fragments - 단편화는 침입방지 시스템에 안 걸리기 위해서 자주 사용되기에 명시적으로 차단시킴 

 


유니캐스트 역방향

 

strict mode

 

- ip verify unicast source reachable-via rx

 

loose mode 

 

- 3자가 보내는 주소가 테이블에 없으면 악의적이라고 판단

- ip verify unicast source reachable-via any

 

 

g0/0은 loose

g0/1은 strict

 


로깅 구현 

 

syslog 보고 한 번 써봐라 교수님 추천 

문제 원인 찾는데에 있어서 중요하다 

 

 

NTP(Network Time Protocol)를 사용하여 네트워크 장치를 올바른 시간으로 동기화

 

타임스탬프 정확한 날짜와 시간을 스탬프로 찍는다

service timestamps [ debug | log ] [ uptime | datetime [ msec ]] [localtime ] [ show-timezone ] [ year ] 전역 설정 명령어를 사용하여 구성

 

NTP

- UDP 123

 

NTP Modes


Server: 

클라이언트에 정확한 시간 정보를 제공하기 때문에 NTP 마스터라고도 합니다. ntp master [ stratum ] 전역 설정 명령어를 사용하여 구성합니다. 


Client: 

NTP 서버와 시간 동기화 NTP 클라이언트는  ntp server { ntp-master-hostname | ntp-master-ip-address } 명령어를 사용하여 활성화됩니다.


Peers: 

symmetric mode라고도 하며 피어는 시간 동기화 정보를 교환합니다. 피어는 ntp peer { ntp-peerhostname | ntp-peer-ip-address } 명령어를 사용하여 구성됩니다.


Broadcast/multicast:

 NTP 클라이언트에 단방향 시간 알림을 제공하는 NTP 서버의 특수한 모드입니다. 일반적으로 시간 정확도가 큰 문제가 아닐 때 사용됩니다. ntp broadcast client 인터페이스 설정 명령어로 구성됩니다.

 

MASTER > CLIENT 

PEER = PEER

 

 

 

 

 

S1과  S2 는 PEER

 

NTP 보안

 

MD5인증만 지원

. ntp access-group { peer | query-only | serve | serve-only } 를 사용하여 NTP에 ACL을 적용

 

Step 1
ntp authentication-key key_number md5 pass 명령어를 사용하여 NTP 인증 키 또는 키를 정의하십시오. 모든 번호는 고유한 NTP 키를 지정합니다.


Step 2
ntp authenticate 전역 설정 명령어를 사용하여 NTP 인증을 사용하도록 설정합니다.


Step 3
ntp trusted-key key 전역 설정 명령어를 사용하여 NTP 인증에 유효한 키를 장치에 알리십시오.  key 는 Step 1에서 정의된 키여야 합니다.


Step 4
ntp server ip_address key key_number 전역 설정 명령어를 사용하여 인증이 필요한 NTP 서버를 지정하십시오. 이 명령은 NTP 피어를 보호하는 데도 사용할 수 있습니다.

 

 


SNMP

 

라우터 1계층-3계층 IP MAC 등등 관리할 게 많음... 이런 정보를 기록한 자료구조를 MIB라고 한다

쓰거나 읽거나 하는 것을 에이전트 - 라우터나 스위치에서도 쓸수 있음.... 서버가 GET으로 정보 요청도 가능 내용정보 바꾸기 SET 동작 함  

 

EX

https://tools.ietf.org/html/rfc1213

 

RFC 1213 - Management Information Base for Network Management of TCP/IP-based internets: MIB-II

[Docs] [txt|pdf] [draft-ietf-snmp...] [Tracker] [Diff1] [Diff2] Updated by: 2011, 2012, 2013 INTERNET STANDARD Network Working Group K. McCloghrie Request for Comments: 1213 Hughes LAN Systems, Inc. Obsoletes: RFC 1158 M. Rose Performance Systems Internati

tools.ietf.org

저 코드로 해당 시스템의 정보를 얻을 수 있다 AT는 ADDRESS TRANSFER 

CLI로 인터페이스 끄는 게 아니라 SNMP 정보를 통해서 조작도 가능하다고 한다

 

 

 

회사마다의 정보

 

SNMP는 보안 3를 쓰고 1 2 는 보안적 결함으로 안 씀 

 

 

SNMP 관리자
SNMP 관리자는 Get 액션을 사용하여 SNMP 에이전트에서 정보를 수집하고 Set 액션을 사용하여 에이전트의 구성을 변경할 수 있다.


SNMP 에이전트 (관리 노드)
SNMP 관리 네트워킹 클라이언트에 상주하며 SNMP 관리자의 로컬 MIB에 대한 Set 및 Get 요청에 응답한다.
SNMP 에이전트는 트랩(또는 알림)을 사용하여 SNMP의 관리자에게 직접 실시간 정보를 전달하도록 구성할 수 있다. 


Management Information Base (MIB)
SNMP 관리 네트워킹 클라이언트에 상주하며 리소스 및 작업을 포함한 장치 작업에 대한 데이터를 저장한다. MIB 데이터는 인증된 SNMP 관리자가 이용할 수 있다.

 


SNMPv1
인증을 위해 커뮤니티 문자열을 사용하는 원본 버전으로, 커뮤니티 문자열은 일반 텍스트로 교환되므로 매우 안전하지 않다. SNMPv1은 더 이상 사용되지 않는 것으로 고려된다. 


SNMPv2
성능, 보안, 기밀성 및 SNMP 통신을 개선 한 SNMPv1로 업데이트 한 것으로, SNMPv2c는 표준이며 SNMPv1과 동일한 커뮤니티 문자열 인증 형식을 사용한다. 


SNMPv3
SNMPv2에 보안 및 원격 구성 향상을 추가 업데이트 한 것으로, SNMPv3는 인증, 메시지 무결성 및 암호화를 제공합니다.

 

noAuthNoPriv: 일반 텍스트 커뮤니티 문자열을 사용하여 SNMP 메시지를 인증하는 것
authNoPriv: MD5의 HMAC 또는 SHA-1의 HMAC를 사용하여 SNMP 메시지를 인증.   

         *HMAC : hash-based message authentication code
authPriv: HMAC-MD5 또는 SHA username을 사용하여 SNMP 메시지를 인증하고 DES, 3DES 또는 AES를 사용하여 SNMP 메시지를 암호화한다.
                     *DES : Data Encryption Standard from NIST

 

 

 

Read-only (RO): 읽기만 가능 

Read-write (RW): 읽고 쓰기 가능 

 

PUBLIC이 기본 디폴트 RO

PRIVATE이 디폴트 RW 

Step 1. 장치에 대한 액세스 SNMP 액세스 권한이있는 사용자를 제한하도록 ACL을 구성한다.
Step 2. snmp-server view view-name 전역 구성 명령을 사용하여 SNMPv3 view를 구성한다.(특정 MIB만 보이게 설정)
Step 3. snmp-server group group-name 전역 구성 명령을 사용하여 SNMPv3 그룹을 구성한다.(snmpv3 보안메커니즘 사용위해)
Step 4. snmp-server user username groupname 전역 구성 명령을 사용하여 SNMPv3 사용자를 구성합니다.
Step 5. snmp-server host 전역 구성 명령을 사용하여 SNMPv3 트랩 수신자를 구성합니다.


Step 6. snmp-server ifindex persist 글로벌 구성 명령을 사용하여 인터페이스 인덱스 지속성을 설정한다.(이 명령을 사용X interface 이름이 실제와 다르게 보이거나 시스템 재부팅 전후 다르게 보이거나 할 수 있음)

 

 


 

 백업 ARCHIVE

 

 

Path 명령은 두 개의 변수를 사용할 수 있다.
$h will be replaced with device hostname.
$t will be replaced with date and time of the archive.

 

수동 설정 

자동 설정 

 

 

확인

 


SCP  Security copy

 

Step 1. Use the username name [ privilege level ] { secret password } 로컬 인증을 위한 명령을 사용하거나 TACACS + 또는 RADIUS를 구성합니다.
Step 2. SSH를 활성화시킨다. ip domain-name을 사용하여 도메인 이름을 구성하고 crypto key generate rsa general key전역 구성 명령을 사용하여 암호화 키를 생성합니다.
Step 3. aaa new-model 전역 구성 모드 명령을 사용한 AAA.
Step 4. Use the aaa authentication login { default | list-name } method1 [ method2 ...] 명령을 사용하여 명명된 인증 방법 목록을 정의한다.
Step 5. Use the aaa authorization { network | exec | commands level } { default | listname } method1... [ method4 ] 명령을 명령권한을 설정하기 위해  사용한다.
Step 6. Enable SCP server-side functionality with the ip scp server enable command.

 

scp 원격에 있는 거 복사하기 가능 쓰기 편해서 많이 쓴다고 교수님 말씀하심

 

 


라우팅 프로토콜 인증

 

- 라우팅 프로토콜 내에서 전달되는 정보를 표적으로 삼는 공격방식이 있고 이를 막기 위해 사용

 

평문 인증 

 

 

해싱 인증 

728x90

'Server&Network > CCNP' 카테고리의 다른 글

종합전산망 구축 with packet tracer ( dns , dhcp , email, www)  (0) 2020.12.21
lan security concepts  (0) 2020.12.18
eve-ng 설치하기 & 기본 설정  (0) 2020.12.01
eve ng  (0) 2020.12.01
1130 bgp2  (0) 2020.11.30