0905_Explaining Basics of ACL

주영민·2024년 9월 5일

ACL

  • Filtering : 정책 적용시 all deny 가 default
  • Classification : 보통 기술(ex:NAT,VPN)에 적용
    deny시 차단이 되는것이 아니라 해당 기술을 적용하지 않는것이다.

ACL

  • Protocol 별로 interface 하나에 IN-bound, Out-bound 각 1개씩 ACL을 설정할수 있다.
  • Match
  • ACL Matching을 할때 자세한 항목(범위가 큰)을 먼저 설정한다.
  • 명시적 Deny : 직접 Deny 설정을 한 것
  • 묵시적 Deny : Permit하지 않아 Default로 Deny된 것
    Log가 남지 않아 보안장비는 일반적으로 Deny Any를 설정한다

Type of ACLs

  • Standard ACL
    -> 소스주소만 알수있음
    -> Destination 과 가까운 곳에 적용한다.
    -> 중간에 삭제는 가능하지만 추가는 불가능하다.
  • Extended ACL
    -> L4 의 정보까지 알수있음
    -> Source에 가까운 곳에 적용한다.
    -> 중간에 수정이 가능하다(삭제,추가)
  • Numbered보다 Named를 사용하는 이유
  1. ACL 제한이 없다
  2. 명칭을 사용하여 구분하기 용이하다.
PBR 은 IN-Bound에만 적용 할 수 있다.

ACL은 자기 자신이 발생시키는 Outbound에는 적용되지 않는다.

-> ACL은 TCAM(Data_plain)에서 적용되므로 Control_Plain영역에서 처리되는 것에는 적용되지 않는다.
-> TCAM : Packet을 처리하는 용도로만 있다.

Layer 3 Wildcard mask

Bit 0 : 비교 후 적용
BIt 1 : ByPass

Wildcard / Subnet 다시 한번 확인 할것

ACL configration

Protocol 만 적용시 L3 packet 확인
eq 로 portnumber 적용시 L4 packet 확인

ACL Practice 1

1.모든 A Class
1-1.모든 A Class packet을 차단
access-list 1 deny 0.0.0.0 127.255.255.255
1-2.모든 A Class Network 차단
access-list 1 deny 1.0.0.0 127.255.255.255

2.모든 B Class
access-list 1 deny 128.0.0.0 63.255.255.255

3.모든 C Class
access-list 1 deny 192.0.0.0 31.255.255.255

4.모든 D Class
access-list 1 deny 224.0.0.0 15.255.255.255

5.모든 Private IP addr만

6.모든 Private IP addr만 한 개의 라인만
-> 네트워크가 동일하지 않아서 합칠수 없다.

  1. 모든 홀수 IP 를 ACL 한줄로 차단하는 ACL

  2. 모든 짝수 IP 를 ACL 한줄로 차단하는 ACL

  3. 다음은 Interface의 IP addr이다. 최소의 범위로 모든 interface를 광고할수 있도록 만들어라.

  • 192.168.11.21
  • 192.40.11.87
  • 200.168.75.149
    -> 소스IP는 포함된 IP중 상관이 없고, 와일드카드주소를 맞춰서 설정해 준다.

Steps to Configure Distribute List Filters

IP Prefix Filters

  • ACL에는 제약사항이 많다.
  • ACL는 packet을 필터링하기 위해 만든것이기 때문에 Network를 필터링 하기에는 부족하다.
  • ACL 보다는 리소스 사용이 적다.
  • Bit를 가지고 정책을 수립할수 있다.

Prefix List Matching Rules

  • ge 크거나 같음
  • le 작거나 같음
  • ge and le (ge과 le 사이)
    -> ge를 먼저 설정해야한다.
  • ge/le가 없으면
    -> 해당 단일 네트워크만 Matching 할때 사용한다.
  • 시퀀스가 없으면 5,10,15...으로 default로 늘어난다.

네트워크 part 확인

  1. Subnet의 24번째 bit가 1 인지를 비교 한다.
  2. 범위가 없는 경우 25번째 bit가 0 인지 비교 한다.
  3. ge 는 해당 Bit 까지 1
  4. le 는 끝나는 bit 까지 0

Class 주소 대역

  • 0.0.0.0 ~ 127.255.255.255 : 클래스 A의 주소 대역

  • 128.0.0.0 ~ 191.255.255.255 : 클래스 B의 주소 대역

  • 192.0.0.0 ~ 223.255.255.255 : 클래스 C의 주소 대역

  • 224.0.0.0 ~ 239.255.255.255 : 클래스 D의 주소 대역

  • 240.0.0.0 ~ 255.255.255.255 : 클래스 E의 주소 대역

Prefix-list Parctice(이해할것_BGP연계)

  1. 모든 Host Route
    ip prefix-list Test seq5 permit 0.0.0.0/0 le32

  2. 모든 A Class
    ip prefix-list Test seq5 permit 0.0.0.0/1 le 32
    -> /1 서브넷을 입력하여 Default 가 제외된다.

  3. 모든 A Class의 Subnet
    ip prefix-list Test seq5 permit 0.0.0.0/0 ge 9

  4. 모든 B Class
    ip prefix-list Test seq5 permit 128.0.0.0/2 le 32

  5. 모든 B Class의 Supernet
    ip prefix-list Test seq5 permit 128.0.0.0/2 le 15

  6. 모든 C Class
    ip prefix-list Test seq5 permit 192.0.0.0/3 le 32

  7. 모든 C Class 중 /28 네트워크
    ip prefix-list Test seq5 permit 192.0.0.0/3 ge 28 le 28

  8. 모든 C Class 중 IP가 16개보다 많고 128개보다는 적은 네트워크
    ip prefix-list Test seq5 permit 192.0.0.0/3 ge 26 le 27

  9. 172.16.0.0/24 ~ 172.16.3.0/24을 제외한 Private Addr
    ip prefix-list Test seq5 permit 10.0.0.0/8 le32
    ip prefix-list Test seq10 permit 172.16.0.0/22 le32
    ip prefix-list Test seq15 deny 172.16.0.0/12 le32
    ip prefix-list Test seq20 permit 192.168.0.0/16 le32

subnet 다시 공부 할것

Route Maps (중요_연관관계가 많음)

  • route map은 전부 named로 되어 있다.
    조건문은 if than 생각할수 있다.
  • 컨티뉴 명령어는 아래로만 적용 할수 있다.
  • 입력값이 없으면 Match any가 default로 적용되어 있다.

조건을 세로로 작성하면 AND

ex) route-map Test permit 10
match ip addr ACL1 ACL2 ACL3

조건을 가로로 작성하면 OR

ex) route-map Test deny 20
match ACL1
match interface f0/0
match metric 3

<적용 할수 기술>

-> Redistribution route filtering
-> BGP
-> Distribute-list
-> NAT

Extanded로 설정해야 Subnetmask를 적용시킬수 있다

Route-map Practice

  1. 10.10.0.0/24에 포함된 모든 네트워크를 Prefix AAA로 구성하라.
    ip prefix-list AAA seq 5 permit 10.10.0.0/24
  1. 172.16.0.0/16 중 모든 /24 ~/28 네트워크에 대해 Prefix BBB로 구성하라.
    ip prefix-list BBB seq 10 permit 172.16.0.0/16 ge24 le28
  1. Prefix AAA or BBB에 Match 되는 네트워크의 Cost를 100으로 설정하라.
  1. 모든 네트워크 중 tag 500를 가지고 있는 네트워크에 대해 E2 Cost50으로 설정하라.
  1. 나머지 네트워크는 E1, Cost 300으로 설정하라. 단, Route-map을 사용할 수 없다.

-----문제풀이 미완료-----
1. Seed Metric 설정
redistribute eigrp 100 subnet route-map AA metric-type 1 metric 300
2. route-map 조건 설정
route-map AA permit 10
match ip addr prefix-list AAA BBB
set metric 100
route-map AA permit 20
match tg 500
set metric-type 2

Seed Metric

EIGRP / RIP 은 최대치를 가져온다
OSPF 20, E2(변경하지않으면)

Route-map PBR Practice

  1. 172.16.0.0/16에 속해 있는 IP Addr 중 홀수 /24 Network에 속한 Ip Addr은 Drop 하라.

  2. 172.16.0.0/16에 속해 있는 나머지 IP들은 nexthop을 192.168.1.1로 설정하고 192.168.2.1이 Backup이 되도록 하라.

  3. 나머지 IP Addr는 Routing table에 의해 forwarding 되어야 한다.

-----문제풀이 미완료-----
1. ACL 1번으로 172.16.1.0 0.0.254.255 만든다.
ACL 2번으로 192.16.0.0 0.0.255.255 만든다.
2. route-map BB permit 10
match ip addr 1
set interface null 0
-> Drop이라고 해서 route-map 에서deny 시키면 Routing Table에 등록이된다.
route-map BB permit 20
match ip addr 2
set ip nexthop 192.168.1.1
-> route-map에서 deny 된것만 참조 해서 정상적인 통신을 할수 있다.

PRB을 사용하지 않고도 Network를 분리할수 있기 때문에 최근에는 특정상황이 아니면 PRB을 사용하지 않는 추세이다.
용어 NAT

NAT

ip nat inside source list 10

  • 단일 ip만 입력하면 PAT로 default로 동작한다.
  • Pool을 입력하며 over-load를 입력해야한다.
    NVI에서 IP 변환이 된다.
  1. Inside로 들어와서 Outside로 나가는지를 먼저 확인한다.
  2. 조건에 맞는지 확인한다.(ACL, Route-map)
  3. 조건에 부합하면 NAT table을 생성한다.
  4. Outside로 나가면서 NAT table정보를 보고 Source IP가 변경된다.
  5. Outside로 들어올때 Destination Ip가 변경된다.
  6. 변경된 IP를 RIB를 참조해서 Best-path를 참조해서 경로를 찾아가게 된다.

NAT Practice

  • User 네트워크 10.0.0.0/8
  • NAT Pool:200.1.10/24
  • DMZ Network : 172.16.0.0/16 gi0/0 next-hop 172.16.1.5
  • internet : gi0/1 201.1.1.1
    [Static NAT]
  • source ip 10.1.1.1 Destination Port UDP 50
    -> Source IP 172.16.1.2, Destination DMZ
  • source ip 10.1.1.1 Destination Prot 80
    -> Source 200.1.1.2, Destination Internet

[Dynamic] -> 추가 학습

  • source IP 10.1.1.0/24 Drop
  • Source Ip 10.1.2.0/24 Internet, NAT Pool
  • 나머지 NAT 미적용
profile
시스코아카데미_주영민

0개의 댓글