### Network 보안
-Network가 큰 폭으로 성장하면서 네트워크는 점점 복잡해지고
음성 , 영상 , 데이터 서비스가 하나로 통합된 네트워크 인프라에대한 요구가 확대됨에따라
네트워크 보안이 중요한 기능이 되었다
-시스코사에서는 네트워크의 생명 주기 전체에 걸쳐서 가치를 부여하도록 설계된다.
-시스코의 네트워크의 생명 주기를 PPDIOO라고한다.
(Prepare Plan Design Implement Operate Optimize
(준비 계획 설계 구현 운용 최적화)
-빠르게 바뀌는 네트워크 환경에 따라 보안솔루션은 기업의 요구에 맞추어 설계된다.
네트워크를 관리하는 복접성에 대처하기위해서 CIA를 확인해야한다.
-CIA는 간단하지만 가장 널리 적용되는 보안 모델이며로
기밀성 (Confidentiality) , 무결성 (Integrity) , 가용성 (Availability) 으로 구성된다.
-기밀성 (Confidentiality)
: 정보가 인가되지 않은 상태에서 노출되는것을 방지하는 기능을 의미하며
필요한 수준의 보안성을 강화하고 정보를 비인가된 사용자로부터 보호하는 기능이다.
CIA에서 가장 명확한 항목이며 가장 많은 공격을 받는 항복이다.
암호화한 데이터가 다른 컴퓨터나 네트워크로 전송되는 과정을 의미한다
(EX : 인터넷 뱅킹 사용시 Password나 카드번호등의 세부 정보를 보호)
-무결성 (Integrity)
: 인가된 데이터나 시스템 정보의 수정(위/변조)을 방지하는 기능으로
데이터나 시스템 정보의 정확성을 보장한다.
전송하는 데이터에 무결성을 부여하게되면 해당 데이터가 원래의 정보를
정확하게 유지하고 있다고 판단할 수 있다.
MITM (Man-In-The-Middle)과 같은 유형의 공격에 유용하다.
-가용성 (Availability)
: 자원이나 정보에 대한 접근 상실을 방지하여 필요한 시점에
자원이나 정보에 접근할 수 있도록 보장하는 기능이다. (EX : 이중화 , 미러링 시스템)
DoS와 같은 유형의 공격에 유용하다.
==================================================================================================================
### 장비 보안
-네트워크에서 장비 보안은 중요한 작업중 하나이다.
-접근 방법 , 접근 제어 , 설정 강화 , 서비스 구분 , 장비관리 및 모니터링 등이 장비 보안에 포함된다.
-회사와 같은 조직에서는 장비에 대한 접근과 접근 통제를 보호하기위한
규칙이나 장비 보안 정책등이 규정되있어야 한다.
## 장비 보안 강화
-장비 보안 강화는 비인가 사용자들로부터 장비를 보호하기 위해서 실행되는 가장 기본적인 모듈에 속한다.
-장비에 대해서 비인가 접속 권한을 얻은 침입자는 사용가 네트워크에 원활히 접속하는것을 차단한다.
## 물리적 보안
-장비가 설치된 시설은 대부분 침입자에 의해 맞닥뜨려지는 첫번째이자 마지막 장애물이다.
물리적 보안은 보안 장비를 손으로 만질수 있는 물리적인 접근을 하지 못하게해야한다.
-물리적 보안은 네트워크 보안만큼 중요하지만 관리자들에의해 자주 무시되기도한다.
-높은 수준의 보호 장비나 시스템을 구축하고도 물리적인 보안에의해 침해사고가 발생하는 경우가 많다.
## Password
-인가자에 대한 신분 확인은 사용자의 계정과 Password의 조합으로 이루어진다.
-Password는 사용자를 인증하기위해서 사용되며 문자나 숫자 , 특수문자의 조합으로 이루어진다.
-강력한 Password 생성
.강력한 Password를 생성하는것은 보안에 있어가 가장 중요한 이슈중 하나이다.
.연속되는 숫자나 문자를 사용하거나 간단한 조건들을 조합하여 Password를 구성하게되면
공격자에 의해 Password가 쉽게 크랙될 수 있다.
.이를 대체하기 위해서 무작위로 숫자나 문자를 조합하는 방법이 있지만 사용자가
이를 외우기도 힘들며 쉽게 잊어버리는 경우가 많기때문에 현실적인 방법은 아니다.
.강력한 Password생성 방법은 최소 8자이상의 문자 , 숫자 , 특수문자를 조합하거나
아주 긴 구절을 Password로 사용하기도 한다.
-CISCO는 3가지의 Password 보호 기능을 지원한다.
# 평문 Password (Clear-text Password)
-Password를 평문으로 저장하는 방식이므로 눈으로 식별이 가능하기때문에 보안에 가장 취약하다.
# Type-7 Password
-cisco 전용 암호화 알고리즘을 사용하여 저장하는 방식이다.
16진수 암호화를 사용하기때문에 간단한 Tool을 사용하여 복호화가 가능하다.
# Type-5 Password
-MD5 (Message-digest 5)를 사용하여 해쉬화 하기때문에 보안이 가장 강하다.
MD5 Password를 크랙하는 유일한 방법은 brute force attack이라고 알려져있다.
cisco사에서는 Type-5 Password설정을 권장한다.
-Global mode에서 "service password-encryption" command를 사용하게되면 설정한 Password가
암호화되어 비인가 사용자가 확인할 수 없다. (Type-7 Password로 암화화 된다.)
-Router로 접속할 수 있는 방법은 크게 3가지로 가능하다.
.Console 접속 : Router의 Console port로 직접 접속하는 방법
.VTY 접속 : VTY를 사용하여 원격 접속하는 방법
.AUX 접속 : Modem을 사용하여 원격 접속하는 방법
-각 접속 방식에 따라서 Password를 사용하여 접근을 제한할 수 있다.
-VTY 접속시 telnet protocol을 사용하게되면 모든 정보가 평문을 접속되기때문에
일반적으로 telnet접속은 사용하지 않는다. (SSH를 사용하여 원격 접속한다.)
Router(config)# line vty 0 4
Router(config-line)# transport input ssh
Router(config-line)# login
## ROMMON 보안
-비인가 사용자가 Router로 접속하기위해서는 Console port로 접속하거나
Telnet , SSH Protocol을 사용하여 원격 접속이 가능하다.
-cisco IOS는 Password 복구 절차 기능을 지원하여 잘못 설정된 Password를 복구할 수 있다.
-비인가 사용자가 Console port로 접속한 후 Router의 전원을 끊고 다시 전원을 공급한후
"Ctrl + Break" 사용하여 ROMMON mode에서 Password를 변경 , 접속 할수 있다.
-이러한 문제를 해결하기 위해서 Router의 Global mode에서
"no service password-recovery"command를 사용하여 ROMMON mode로 접속을 제한할 수 있다.
-------------------------------------------------------------------------------------------------------------------------
-데이터량이 크게 놀어나는 디지털 시애에 기술 활용은 계속 증가함에 따라
오늘날에는 네트워크에 많은 데이터가 송/수신된다.
만약 적절한 곳에 보안 메커니즘이 구성되지 않는다면 각 네트워크에
인가된 정보와 인가되지 않은 정보가 접근하게된다.
-네트워크 접근을 제어하기 위한 기본 단계는 네트워크 안의 데이터 흐름을 제어하는 것이다.
### 접근 통제
-ACL
: CISCO IOS는 ACL을 이용한 Traffic filtering기능을 제공하며 이를 통해서
Trffic이 네트워크로 입력되거나 출력되는것을 방지할 수 있다.
-ACL의 종류
.Numbered ACL , Named ACL
.Dynamic ACL (Lock&Key)
.Reflective ACL
.Ethernet ACL
.Turbo ACL (Cisco 7000시리즈부터 지원)
-ACL 구축 지침
.ACL은 한 장비의 다수의 Interface에 적용이 가능하다.
.ACL은 Interface당 "in/out"bound로 각 1개씩만 적용이 가능하다.
.ACL은 하향식으로 위에서부터 아래 방향으로 하나씩 처리된다.
.ACL은 마지막 line에 "deny any"가 적용되기때문에 그대로 적용할지 "permit any"로 수정할지 판단해야한다.
.ACL은 마지막 line에 "deny any"가 적용되기때문에 ACL을 구성후 Interface에 적용하는것을 권장한다.
# Numbered ACL , Named ACL
-가장 기본적으로 사용되는 ACL이며 방화벽을 구성하거나 다른 Filtering기능 사용시 트래픽의 범위를 지정시 사용된다.
# Dynamic ACL (Lock&Key)
-Dynamic로 알려진 Lock&Key ACL을 사용하면 인증 메커니즘을 사용하여
개별 출발지/목적지에 대한 사용자를 개별 접근 통제가 가능하다.
-외부 네트워크에서 내부 네트워크로로 입력되는 모든 트래픽은 기본적으로 차단된다.
외부 네트워크에서 내부 네트워크 접속시 Telnet 인증을 거치면
동적으로 해당 출발지 IP를 허용하는 ACL이 동적으로 생성되기때문에 통신이 가능하다.
EX) Dynamic ACL을 사용하여 아래의 조건에 맞게 R1에서 설정하시오
.외부 네트워크에서 내부 네트워크인 "13.13.11.0/24"로 Telnet 인증후 통신이 가능해야 한다.
.인증시 Telnet을 사용하며 R1의 Loopback 0 주소인 13.13.1.1로 인증후 접속이 가능해야한다.
.Telnet 계정 : gitadmin , Password = gitcisco
Fa0/0
R1------------------------R4----| 13.13.14.0/24
|
13.13.11.0/24
# R1
access-list 101 permit udp any eq 520 any eq 520 (RIP을 허용하기위한 ACL)
access-list 101 permit eigrp any any (EIGRP를 허용하기위한 ACL)
access-list 101 permit ospf aany any (OSPF를 허용하기위한 ACL)
!
access-list 101 permit tcp any host 13.13.1.1 eq 23
access-list 101 dynamic Lock&Key timeout 20 permit ip any 13.13.11.0 0.0.0.255
!
interface fastethernet 0/0
ip access-group 101 in
!
username gitadmin privilege 15 password gitcisco
username gitadmin autocommand access-enable host time 10
!
line vty 0 4
login local
!
------------------------------------------------------------------------------------------------------
username gitadmin autocommand access-enable host time <min> : 10분간 입력이 없는경우 접속 해제 |
----------------------------------------------------------------------------------------------------- |
access-list 101 dynamic Lock&Key timeout <min> permit ip [SA] [DA] : 인증후 접속 제한시간을 20분으로 설정 |
------------------------------------------------------------------------------------------------------
정보 확인
R1# show access-list
Extended IP access list 101
10 permit udp any eq rip any eq rip
20 permit tcp any host 13.13.1.1 eq telnet
30 Dynamic Lock&Key permit ip any 13.13.11.0 0.0.0.255
R4# telnet 13.13.1.1
Trying 13.13.1.1 ... Open
User Access Verification
Username: gitadmin
Password:
[Connection to 13.13.1.1 closed by foreign host]
R4# <----------------- Telnet 인증 후 접속 차단
R1# show access-lists
Extended IP access list 101
10 permit udp any eq rip any eq rip (3 matches)
20 permit tcp any host 13.13.1.1 eq telnet (108 matches)
30 Dynamic Lock&Key permit ip any 13.13.11.0 0.0.0.255
permit ip host 150.1.13.254 13.13.11.0 0.0.0.255 <---- 인증을 거친 사용자를 허용하는 ACL이 자동 생성
# Reflective ACL
-Reflective ACL은 IP 상위계층 Session을 기반으로 정보를 Filtering한다.
-Reflective ACL은 Router내부에서 입력되는 inbound 트래픽을 제한하며
특정 트래픽에 대해서 외부로 통신을 허용하는 ACL을 구성해야한다.
내부에서 출발하여 외부로 트래픽 전송시 응답되는 트래픽의 Layer 3 , 4계층 주소를
출발지의 주소를 역으로 허용하는 ACL이 자동으로 생성된다.
-내부에서 외부로 트래픽이 출력시 State table이 생성된다.
(데이터 출력시 출발지 주소 , 목적지 주소가 역으로 변경 및 허용하는 목록이 생성된다.)
내부에서 생성되어 출력된 데이터의 응답 데이터가 입력되는 트래픽이 State table 목록에 존재하는 경우에는
트래픽이 허용 (내부에서 외부로 데이터를 전송한 경우)
외부에서 생성된 데이터의 주소는 State table 목록에 존재하지 않기때문에 차단된다.
EX) Reflective ACL을 사용하여 아래의 조건에맞게 설정을 실시하시오
.R1의 내부 네트워크인 "13.13.13.0/24"는 외부 네트워크로 TCP , UDP , ICMP가 통신이 가능하지만
외부 네트워크에서는 내부 네트워크로인 "13.13.13.0/24"로의 트래픽 접근은 차단되어야 한다.
Se1/0 Fa0/0
R2------------------------R3------------------------R5----| 13.13.15.0/24
|
13.13.12.0/24
# R3
ip access-list extended REFLECT_IN--->OUT
permit tcp 13.13.12.0 0.0.0.255 any reflect REFL_ACL
permit udp 13.13.12.0 0.0.0.255 any reflect REFL_ACL
permit icmp 13.13.12.0 0.0.0.255 any reflect REFL_ACL
!
ip access-list extended REFLECT_IN<---OUT
evaluate REFL_ACL
permit udp any eq 520 any eq 520
!
interface fastethernet0/0
ip access-group REFLECT_IN--->OUT out
ip access-group REFLECT_IN<---OUT in
!
정보 확인
R3# show access-lists
Extended IP access list REFLECT_IN--->OUT
10 permit tcp 13.13.12.0 0.0.0.255 any reflect REFL_ACL
20 permit udp 13.13.12.0 0.0.0.255 any reflect REFL_ACL
30 permit icmp 13.13.12.0 0.0.0.255 any reflect REFL_ACL
Extended IP access list REFLECT_OUT--->IN
10 permit udp any eq rip any eq rip
20 evaluate REFL_ACL
Reflexive IP access list REFL_ACL
R2#ping 13.13.5.5 source 13.13.12.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 13.13.5.5, timeout is 2 seconds:
Packet sent with a source address of 13.13.12.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 44/44/44 ms
R3# show access-list
Extended IP access list REFLECT_IN--->OUT
10 permit tcp 13.13.12.0 0.0.0.255 any reflect REFL_ACL
20 permit udp 13.13.12.0 0.0.0.255 any reflect REFL_ACL
30 permit icmp 13.13.12.0 0.0.0.255 any reflect REFL_ACL (11 matches)
Extended IP access list REFLECT_IN<---OUT
10 evaluate REFL_ACL
20 permit udp any eq rip any eq rip
Reflexive IP access list REFL_ACL
permit icmp host 13.13.5.5 host 13.13.12.2 (20 matches) (time left 299) <---- 통신후 ACL 자동 생성
# Turbo ACL
-ACL은 Match되는 트래픽을 하향식으로 순차적으로 검사하여 처리한다.
-ACL 구성이 많아지게되면 해당 Traffic을 처리할 ACL을 Lookup하기위한 시간이 길어지며
CPU 소모율이 증가하기때문에 데이터 전송시 Delay가 발생하고 성능 이슈가 일어난다.
-Turbo ACL은 Router의 성능을 향상시키기 위해서 ACL을 효율적으로 처리하게된다.
(CISCO 플랫폼 7200 , 7500 , 12000시리즈와 같은 High-end 장비에서 지원한다.)
-단 Reflective ACL로 지정된 데이터나 Time-range로 지정된 ACL은 Turbo ACL에서 제외된다.
-Turbo ACL을 구성하게되면 Router는 ACL을 Lookup table에 등록하여 ACL을 처리하게된다.
-Turbo ACL은 기본적으로 비 활성화된 상태이며 사용시 Turbo ACL을 활성화 해야한다.
Router(config)# access-list compiled
정보 확인
Router# show access-list
Router# show access-list compiled
-------------------------------------------------------------------------------------------------------------------------
### CBAC (Context Based Access Control)
-CBAC은 CISCO IOS 방화벽 기능으로 Traffic filtering을 제공하는 보안 솔루션이다.
-향상된 기능의 방화벽 엔진으로 네트워크 보안에서 필수적인 사용된다.
-Traffic filtering
: CBAC은 HTTP , SNMP , FTP등과 같은 상위 Protocol의 어플리케이션을 기반으로하는
TCP , UDP등을 걸러내는 Dynamic Traffic filtering을 지원하는 방화벽이다.
CBAC기능을 활용하기위해서는 보호되어야되는 트래픽과 보호하지 않아야할 트래픽을 분리해야한다.
# CBAC의 주요 기능
-CBAC은 외부 침입으로 부터 내부 네트워크를 보호한다.
-CBAC은 DoS공격을 막는다.
-CBAC은 네트워크 전반에서 각 어플리케이션에 대한 통제가 가능하다.
-CBAC은 각 flow와 session의 상태를 추적하면서 Network Layer만이 아니라
Transport Layer와 상위 Layer까지 정보를 검사 할수 있다.
-CBAC은 방화벽을 통과하는 모든 연결의 상태 정보를 State table안에서 유지 및 관리한다.
(Packet의 허용/차단 여부를 결정하기위해서 State table을 사용한다.)
-CBAC은 실시간 이벤트 경고와 감사를 실시한다.
-CBAC은 공격으로 의심되는 트래픽을 감지하면 Syslog 에러 메세지를 console로 출력한다.
-CBAC은 응용계층에 대한 필터링 기능 제공, NAT 나 PAT 에서 내부주소까지 변환
FTP, H.323과 같이 복수개의 세션을 사용하는 어플리케이션애 대해서도 stateful 방화벽 기능을 지원한다.
## CBAC 동작 과정
-지정된 트래픽에 대해서만 검사를 실시한다.
-Router 자신이 생성하는 트래픽이나 목적지가 설정된 Router인 트래픽에 대해서는 적용되지 않는다.
-IPSec과 같이 암호화된 패킷은 검사하지 못한다.
-모든 어플리케이션을 지원하지 못하므로 특정 어플리케에션에 대해서는 CBAC을 중지해야한다.
-CBAC과 Reflcetive ACL의 공통점
.내부에서 외부로 향하는 모든 트래픽은 허용 , 외부에 내부로 향하는 모든 트래픽은 차단
[단 내부에서 생성되어 리턴되는 트래픽은 허용된다 : State Table을 사용]
.지정된 Traffic에 대해서만 Filtering을 실시한다.
-CBAC과 Reflcetive ACL의 차이점
.Reflcetive ACL은 Layer 3 , Layer 4계층에 대해서만 Filtering을 실시한다.
.CBAC은 Layer 7까지의 트래픽에 대해서 Filtering을 실시한다. [다양한 어플리케이션을 지원한다.]
.감사기능과 경고기능을 지원한다.
## CBAC 경고(alert) 및 감사(audit)
-CBAC은 트래픽 검사에 더해서 State table안에 유지되는
모든 세션 정보를 위한 실시간 이벤트 경고(alert) 및 감사(audit)를 만들 수 있다.
-네트워크의 모든 Transaction , 출발지/목적지 IP 주소 , Port 번호 , 시간정보가 포함되며
Console에서 Syslog 를 사용하여 이벤트 경고 메세지를 출력하며 이벤트 경고에 대해서 감사 리포팅한다.
## Timeout & 임계치 값
-CBAC은 State table정보를 관리하기 위해 Timeout과 임계치 값을 사용한다.
-연결이 완벽하게 확립되지 않은 Session의 제거 시점을 결정할수 있다.
-CBAC은 Session의 출발지와 목적지 양쪽에서 연결되지 않은
모든 Session에 Reset message를 전송하여 불완전한 Session연결을 해제한다.
-CBAC은 세 가지 방법을 사용하여 임계치를 모니터링할 수 있다.
.Half-open된 Session의 전체수
.시간을 기반으로한 Half-open Session의 수
.Host별로 Half-open된 TCP Session의 수
# Half-open
-CBAC은 DoS탐지와 방지 기능을 제공한다.
-과도한 수의 Half-open session이 발생하는 것은 DoS 공격 가능성이 있음을 나타낸다.
(EX : TCP Syn-flood Type의 공격)
-UDP는 hand shake 메커니즘이 없기때문에 방화벽에서 Half-open을 차단하지 못한다.
-CBAC은 TCP와 UDP의 Session전체 수 또는 Session 연결 시도 비율을 1분 주기로 모니터링하여
Half-open Session의 수를 통제하기때문에 DoS공격을 차단한다.
Router(config)# ip inspect max-incomplete high <number> : Half-open된 TCP Session의 임계치
Router(config)# ip inspect max-incomplete low <number> : 설정된값 이하인 경우 해당 트래픽을 처리
Router(config)# ip inspect one-minute high <number> : 분당 Half-open된 TCP Session의 임계치
Router(config)# ip inspect one-minute low <number> : 설정된값 이하인 경우 해당 트래픽을 처리
# Host별 DoS 방어
-CBAC은 TCP를 기반으로 Host별 DoS 방어기능을 지원한다.
-CBAC은 동일한 Host 주소로 만들어진 Half-open session의 전체 수를 모니터링한다.
-Half-open session의 개수가 임계치를 초과하게되면 CBACL은 지정한 시간동안
해당 Host의 모든 연결을 차단한다.
Router(config)# ip inspect tcp max-incomplete host <number>
Router(config)# ip inspect tcp max-incomplete host <number> block-time <minute>
# CBAC TCP
-TCP는 연결형 Protocol이므로 3way-handshake 과정을 통해서 송신측과 수신측이 negotiation 실시한다.
State Table을 생성 및 유지를 실시하며 내부에서 외부로 통신을 실시하게되면 State table에 Session이 생성되며
리턴되어 돌아오는 트래픽은 State table에 목록이 존재하므로 허용되어지지만
외부에서 생성되어 내부로 입력되는 트래픽은 State table에 존재하지 않기때문에 차단되어진다.
TCP는 3600초간 트래픽이 없으면 세션이 단절되며
FIN을 수신한 후 5초가 지나면 State table에서 해당 세션을 제거한다.
# CBAC UDP
-UDP는 30초간 해당 트래픽이 없으면 세션이 통신이 종료된것으로 간주하여 State table에서 제거된다.
[DNS Spoofing , DoS 공격을 방지 하기 위하여 내부에서 외부로 DNS Query를 전송하고
5초 내에 응답이 없으면 해당 Session을 삭제 한다.
만약 DNS 서버가 정상적으로 응답하면 즉시해당 세션을 테이블에서 제거한다.]
# CBAC ICMP
-ICMP 세션은 10초 이내에 응답이 없으면 해당 entry 를 제거한다.
## 설정방법
1) Interface (내부/외부) 선택
-CBAC은 방화벽 내부/외부 모두에 설정이 가능하다.
.Internal : 보호 받아야하는 네트워크 구간이며 트래픽이 방화벽에서 허용되기 위해서 Session이 시작되는 구간
.External : 보호 받지 네트워크 구간이며 Session을 시작할 수 없는 구간
-CBAC은 Interface마다 단방향으로 설정하는것을 권장하지만
Intranet , Exteranet , DoS공격 방어에 따라 양쪽 네트워크 모두를 보호해야하는 경우 양뱡향 설정도 가능하다.
2) IP ACL설정
-CBAC이 동작하기 위해서는 리턴되어 입력되는 트래픽에 대해서
일시적으로 방화벽 개방되도록 IP ACL을 설정해야한다.
-ACL을 구성하는 정답은 정해지지 않았기때문에 조직의 보안 정책에 따라 설정해야한다.
(또는 가이드라인에 따라서 설정)
3) 검사 규칙 정의
-CBAC을 사용하여 어떤 어플리케이션이 방화벽 엔진에 의해 검사되어야 하는지를 명확하게 정의해야한다.
-검사 규칙은 원하는 어플리케이션 계층 뿐만이 아니라 포괄적인 TCP , UDP도 명시해야한다.
Router(config)# ip inspect name WORD [application | protocol]
4) Global Timeout , 임계치 설정
-CBAC은 Session 상태를 유지/관리를 위해서 Timeout과 임계치값을 사용한다.
-불완전하게 종료된 Session들은 Timeout과 임계치값을 사용하여 삭제 할 수 있다.
-ip inspect tcp synwait-time <sec :default =30sec> : Syn 수신후 대기시간을 지정하며 대기시간 안에 응답되지 않으면 삭제
-ip inspect tcp finwait-time <sec : default = 5sec> : Fin 송신후 대기시간을 지정하며 대기시간 안에 응답되지 않으면 삭제
-ip inspect tcp idle-time <sec : default = 3600sec> : 지정된 시간동안 TCP 통신이 없으면 Session연결 삭제
-ip inspect udp idle-time <sec : default = 30sec> : 지정된 시간동안 UDP 통신이 없으면 Session연결 삭제
-ip inspect dns idle-time <sec : default = 30sec> : 지정된 시간동안 DNS 통신이 없으면 Session연결 삭제
ip inspect max-incomplete high <default = 500> : Half-open된 TCP Session의 임계치
ip inspect max-incomplete low <default = 400> : 설정된값 이하인 경우 해당 트래픽을 처리
ip inspect one-minute high <default = 500> : 분당 Half-open된 TCP Session의 임계치
ip inspect one-minute low <default = 400> : 설정된값 이하인 경우 해당 트래픽을 처리
5) Interface에 ACL과 검사 규칙 적용 (CBAC 적용)
-CBAC을 동작 시키기 위해서는 ACL과 함께 CBAC을 Interface에 적용해야 한다.
-CBAC은 내부 외부 모든 Interface에 적용이 가능하기때문에 해당 조직의 보안 정책에 따라 적용해야 한다.
.내부에서 외부로 전송되는 트래픽에 대해서 CBAC을 적용시 외부 Interface에 적용해야 한다.
.외부에서 내부로 전송되는 트래픽에 대해서 CBAC을 적용시 내부 Interface에 적용해야 한다.
interface serial | fastethernet
ip access-group x in/out
ip instpect WORD in/out
!
6) CBAC 검증 및 모니터링 (정보 확인)
show ip inspect interface [serial | fastethernet]
show ip inspect config
show ip inspect session
show ip inspect all
show ip access-lists
EX1) 아래의 조건에 맞게 CBAC을 구성하시오
.내부에서 외부로 향하는 모든 TCP 트래픽에 대해서는 허용되어져야하며
외부에서 내부로 향하는 모든것은 트래픽은 차단되어야 한다.
ip access-list extended ALL_DENY
deny ip any any
!
ip inspect name CBAC_TCP tcp
!
interface Serial , FastEthernet [Port number]
ip access-group ALL_DENY in
ip inspect CBAC_TCP out
!
정보 확인
show ip inspect session
EX2) 아래의 조건에 맞게 CBAC을 구성하시오
.내부에서 외부로 향하는 모든 TCP , UDP , ICMP 트래픽에 대해서는 허용되어져야하며
외부에서 내부로 향하는 모든것은 트래픽은 차단되어야 한다.
.단 TCP 트래픽에 대해서는 Log-message가 출력되어야한다.
ip access-list extended ACL
deny ip any any
!
ip inspect name name CBAC tcp audit-trail on
ip inspect name name CBAC udp
ip inspect name name CBAC icmp
!
interface Serial , FastEthernet [Port number]
ip inspect CBAC out
ip access-group ACL in
!
정보 확인
show ip inspect session
EX3) 192.168.1.0.0/24에서만 자바 애플릿이 다운되는 것을 허용해야 할 경우
ip inspect name JAVA http java-list 1
!
access-list 1 permit 192.168.1.0.0 0.0.0.255
!
interface Serial , FastEthernet [Port number]
ip inspect JAVA out
!
정보 확인
show ip inspect session
=========================================================================================================================
EX1) 아래의 조건에 맞게 CBAC을 구성하시오
.R1은 외부에서 내부로 향하는 모든 트래픽의 접근을 차단해야한다.
.R1은 내부에서 외부로 향하는 TCP트래픽에 대해서 허용해야한다.
.R1은 내부에서 외부로 향하는 UDP트래픽에 대해서 허용해야한다.
.R1은 내부에서 외부로 향하는 IP트래픽에 대해서 허용해야한다.
.단 내부에서 생성되어 입력되는 응답 트래픽은 수신되어야한다.
13.13.2.2/24 13.13.4.4/24
Serial 1/0 FastEthernet0/0
R2--------------------------R1--------------------------R4
내부 외부
# R1
ip access-list extended IN<---OUT
permit udp any eq 520 any eq 520
deny ip any any
!
ip inspect name IN--->OUT tcp
ip inspect name IN--->OUT udp
ip inspect name IN--->OUT icmp
!
interface fastethernet 0/0
ip access-group IN<---OUT in
ip inspect IN--->OUT out
!
정보 확인
R1# show ip inspect interfaces
Interface Configuration
Interface FastEthernet0/0
Inbound inspection rule is not set
Outgoing inspection rule is IN--->OUT
udp alert is on audit-trail is off timeout 30
icmp alert is on audit-trail is off timeout 10
tcp alert is on audit-trail is off timeout 3600
Inbound access list is IN<---OUT
Outgoing access list is not set
R1# show ip inspect session
R4# ping 13.13.2.2 source 13.13.4.4 [내부 <---- 외부 : 통신 X]
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 13.13.2.2, timeout is 2 seconds:
Packet sent with a source address of 13.13.4.4
U.U.U
Success rate is 0 percent (0/5)
R4# telnet 13.13.2.2 /source-interface loopback 0 [내부 <---- 외부 : 접속 X]
Trying 13.13.2.2 ...
% Destination unreachable; gateway or host down
R2# ping 13.13.4.4 source 13.13.2.2
R2# telnet 13.13.4.4 /source-interface loopback 0
Trying 13.13.4.4 ... Open
User Access Verification
Password:
R1# show ip inspect session
Established Sessions
Session 67089868 (13.13.2.2:8)=>(13.13.4.4:0) icmp SIS_OPEN <---- ICMP 통신후 Session 확인
Session 67089868 (13.13.2.2:62240)=>(13.13.4.4:23) tcp SIS_OPEN <---- Telnet 접속후 Session 확인
EX2) 아래의 조건에 맞게 CBAC을 구성하시오
.R3은 외부에서 내부로 향하는 모든 트래픽의 접근을 차단해야한다.
.R3은 내부에서 외부로 향하는 TCP트래픽에 대해서 허용해야한다. (TCP 트래픽 출력시 Log-message를 출력해야한다.)
.R3은 내부에서 외부로 향하는 UDP트래픽에 대해서 허용해야한다. (UDP 트래픽 출력시 Log-message를 출력해야한다.)
.R3은 내부에서 외부로 향하는 ICMP트래픽에 대해서 허용해야한다. (ICMP 트래픽 출력시 Log-message를 출력해야한다.)
.단 내부에서 생성되어 입력되는 응답 트래픽은 수신되어야한다.
13.13.2.2/24 13.13.5.5/24
Serial 1/0 FastEthernet0/0
R2--------------------------R3--------------------------R5
내부 외부
# R3
ip access-list extended IN<---OUT
permit udp any eq 520 any eq 520
deny ip any any
!
ip inspect name IN--->OUT tcp audit-trail on
ip inspect name IN--->OUT udp audit-trail on
ip inspect name IN--->OUT icmp audit-trail on
!
interface fastethernet 0/0
ip access-group IN<---OUT in
ip inspect IN--->OUT out
!
정보 확인
R3# show ip inspect interfaces
R3# show ip inspect session
R2# ping 13.13.5.5 source 13.13.2.2
*Mar 1 00:26:19.919: %FW-6-SESS_AUDIT_TRAIL_START: Start icmp session: initiator (13.13.2.2:8) -- responder (13.13.5.5:0)
*Mar 1 00:27:29.795: %FW-6-SESS_AUDIT_TRAIL_START: Start tcp session: initiator (13.13.2.2:58499) -- responder (13.13.5.5:23)
R3# show ip inspect session
Established Sessions
Session 67089B28 (13.13.2.2:8)=>(13.13.5.5:0) icmp SIS_OPEN <---- ICMP 통신 후 Session 연결 확인
Session 67089B28 (13.13.2.2:58499)=>(13.13.5.5:23) tcp SIS_OPEN <---- Telnet 연결 후 Session 연결 확인
'보안 > 이론' 카테고리의 다른 글
2023 Latest CCNP 350-401 PDF Dumps(Q517-Q550) Part1 (0) | 2023.04.24 |
---|---|
2) GRE Tunnel (Dynamic route) (0) | 2021.11.23 |
TCP 계층별 주소 체계 (0) | 2021.11.23 |
[CCNP] New ENCOR Questions Part 4 (0) | 2021.11.12 |
[CCNP] New ENCOR Questions Part 5-2 (0) | 2021.11.12 |