Net Eng

ACL (접근통제목록) 본문

Network/실습

ACL (접근통제목록)

欲心 2024. 6. 14. 03:36

■ 접근통제목록(ACL-Access Control List)

트래픽 제어를 위해 사용하는 기능으로 편집 가능 여부와 참고하는 OSI 계층에 따라 모두 4가지로 구분됨.
라우터에서 구현 가능한 기술적 보안 통제 수단.

 

1. 번호(Numbered) ACL

access-list XXX

 

2. 이름(Named) ACL

ip access-list [standard | Extended]

 

■ ACL 종류 구분

 

종류(편집 가능 여부)
1. 번호(Numberd) ACL : access-list XXX → 편집 불가능
2. 이름(Named) ACL : ip access-list [standard | Extended] → 편집 가능

 

종류(계층에 따른 구분)

1. 표준(Standard) ACL : 3계층 헤더의 SRC IP Address 참고

2. 확장(Extended)ACL : 3계층의 IP와 4계층의 Port 번호 참고, Protocol(IP, ICMP, TCP, UDP 등)

 

■ ACL 구성 시 주의사항

1. 하향 접근(Top-down Approach) 방식 사용

 → 상위 조건에 일치하면 다음 조건은 참고하지 않음.

 → 가급적 조건 범위가 좁은 설정이 상위에 위치해야 함.

2. 최소한 1문장 이상의 허용 조건 (Permit condition)이 있어야 함.

 → 허용 조건이 없으면 전체 거부 (All Deny) 상태가 됨.

3. 모든 ACL의 마지막에는 묵시적 거부 (Implicit Deny)조건이 있음.

 

■ 대체 명령어

192.168.1.5 0.0.0.0 = host 192.168.1.5
0.0.0.0 255.255.255.255 = any

 

■ Bound 적용

- Traffic의 방향성을 감안

- 표준 ACL의 경우 목적지에 가까운 라우터에 적용 유리

- 확장 ACL의 경우 출발지에 가까운 라우터에 적용 유리

 

■ 라우터의 패킷 라우팅 순서

1. 트래픽이 들어오는(Inbound) 인터페이스에 ACL조건이 있는지 확인

2. 라우팅 테이블 맵핑

3. 라우팅 되는 트래픽이 나가는(Outbound) 인터페이스에 ACL 조건이 있는지 확인.

 

■ ACL 조건문

- 192.158.1.0/26 네트워크에서 서버로의 접근 허용

- 172.16.1.0/25  네트워크에서 서버로의 접근 불허

- 그 외 다른 모든 네트워크에서의 접근 허용

 

ACL 토폴로지

 

■ ACL 조건문

- 192.158.1.0/26 네트워크에서 서버로의 접근 허용

- 172.16.1.0/25  네트워크에서 서버로의 접근 불허

- 그 외 다른 모든 네트워크에서의 접근 허용

 

■ 라우터 & PC & 서버 IP 부여

 

R1 라우터

en
conf t
int fa0/0
ip addr 10.0.0.254 255.255.255.0
no sh
int fa1/0
ip addr 172.16.1.126 255.255.255.128
no sh
int fa2/0
ip addr 192.168.1.62 255.255.255.192
no sh

 

■ 표준 ACL 구성

1. ACL 번호 선택

3. 허용 또는 거부 설정

3. SRC 주소 설정

conf t
access-list 1 permit 192.168.1.0 0.0.0.63
access-list 1 deny 172.16.1.0 0.0.0.127
access-list 1 permit any (0.0.0.0 255.255.255.255)
int fa0/0
ip access-group 1 out

서버 Ping test 실패
PC끼리 ping test

 

■ ACL 구성 이후 access-list 1 permit  any 조건 삭제

conf t
no acc 1 permit any

 

→ 이후 acc-list를 확인해보면 전체 ACL이 삭제되어 있음

 

이번에는 동일한 조건으로 이름 ACL 구성

ip access-list standard ccna
permit any
permit 192.168.1.0 0.0.0.63
deny 172.16.1.0 0.0.0.127
int fa0/0
ip access-group ccna out

 

이 설정이 끝나면 모두 허용 조건이 최상위에 있으므로 모든 트래픽은 통과되는 상황임

이제 편집을 실행

ip acc stan ccna
no 10
31 permit any

 

■ 조건문

- 192.168.1.0/26에서 서버로의 접근 허용

- 192.168.1.1은 거부

- 172.16.1.0/25에서 서버로의 접근 거부

- 172.16.1.2는 허용

 

■ 이름 ACL 구성

conf t
ip acc sta ccna
deny 192.168.1.1 0.0.0.0
permit 192.168.1.0 0.0.0.63
permit host 172.16.1.2 
int fa0/0
ip access-group ccna out

 

■ 조건문

- 사내 저버에 대한 접근과 관련해서 외부에서의 모든 접근은 허용하고 192.168.1.0/26 네트워크와 172.16.1.0/25 네트워크의 팀장만 접근을 허용하시오.

각 부서의 팀장은 1번째 유니캐스트 IP를 사용중에 있음.

permit host 192.168.1.1
deny 192.168.1.0 0.0.0.63
permit host 172.16.1.1 
deny 172.16.1.0 0.0.0.127
permit any

 

ACL 2 토폴로지

 

R1 라우터

en
conf t
int s2/0
ip addr 192.168.12.1 255.255.255.0
no sh
int fa0/0
ip addr 192.168.1.254 255.255.255.0
no sh

 

R2 라우터

en
conf t
int s3/0
ip addr 192.168.12.2 255.255.255.0
no sh
int s2/0
ip addr 192.168.23.1 255.255.255.0
no sh
int fa0/0
ip addr 192.168.2.254 255.255.255.0
no sh

 

R3 라우터

en
conf t
int s3/0
ip addr 192.168.23.2 255.255.255.0
no sh
int fa0/0
ip addr 192.168.3.254 255.255.255.0
no sh

 

DHCP 설정

ip dhcp pool ccnp
network 192.168.2.0 255.255.255.0
default-router 192.168.2.254
dns-server 192.168.1.2
ip dhcp excluded-address 192.168.2.254

 

ip dhcp pool ccnp
network 192.168.3.0 255.255.255.0
default-router 192.168.3.254
dns-server 192.168.1.2
ip dhcp excluded-address 192.168.3.254

 

RIP 설정

R1 라우터

conf t
router rip
ver 2
net 192.168.12.0
net 192.168.1.0
no auto-summary

 

R2 라우터

conf t
router rip
ver 2
net 192.168.12.0
net 192.168.23.0
net 192.168.2.0
no auto-summary

 

R3 라우터

conf t
router rip
ver 2
net 192.168.23.0
net 192.168.3.0
no auto-summary

 

Ping 테스트
DNS 확인

 

Router(config)#access-list 100 permit ?
  ahp    Authentication Header Protocol
  eigrp  Cisco's EIGRP routing protocol
  esp    Encapsulation Security Payload
  gre    Cisco's GRE tunneling
  icmp   Internet Control Message Protocol
  ip     Any Internet Protocol
  ospf   OSPF routing protocol
  tcp    Transmission Control Protocol
  udp    User Datagram Protocol

 

access-list 100 permit tcp 192.168.3.0 0.0.0.255 host 192.168.1.3 ?
eq(equal) : =
neq(non-eqaul) : =/
lt(lessthan) : < (미만)
gt(greatthan) : > (초과)

 

▶ 응용계층 포트 번호는 TCP와 UDP만 해당됨. ICMP, OSPF, AH, ESP 등등은 포트 번호가 없음.

 

[예시]

acc 100 deny tcp 192.168.0.0 0.0.3.255 host 192.168.1.3 eq 5004
acc 100 permit ip 192.168.0.0 0.0.3.255 any

 

■ 확장 ACL 조건문

- 192.168.2.0/24에서는 Web과 FTP에 대한 접근을 허용하시오

- 192.168.3.0/24에서는 E-mail 송/수신과 서버네트워크에 대한 Ping을 허용하시오.

- 그 외 다른 모든 서비스에 대한 접근을 거부하시오.

 

R2

en
conf t
acc 100 permit tcp 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 eq 20
acc 100 permit tcp 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 eq 21
acc 100 permit tcp 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 eq 80
acc 100 permit udp 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 eq 53
acc 100 permit tcp 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255 eq 25
acc 100 permit tcp 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255 eq 110
acc 100 permit tcp 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255 eq 143
acc 100 permit icmp 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255
int s3/0
ip access-group 100 out

 

ACL 3 토폴로지

 

R1 라우터

en
conf t
int fa0/0
no sh
int fa0/0.10
encap dot1q 10
ip addr 192.168.10.254 255.255.255.0
int fa0/0.20
encap dot1q 20
ip addr 192.168.20.254 255.255.255.0
int fa0/0.30
encap dot1q 30
ip addr 192.168.30.254 255.255.255.0
int fa0/0.40
encap dot1q 40
ip addr 192.168.40.254 255.255.255.0

 

SW1

en
conf t
int fa0/24
sw mode trunk
int fa0/1
sw acc vlan 40
int fa0/2
sw acc vlan 40
vtp domain ccna
vtp password ccna

 

SW2

en
conf t
int fa0/24
sw mode trunk
int fa0/23
sw mode trunk
int fa0/1
sw acc vlan 10
int fa0/2
sw acc vlan 20
int fa0/3
sw acc vlan 30
vtp domain ccna
vtp password ccna

 

SW3

en
conf t
int fa0/23
sw mode trunk
int fa0/24
sw mode trunk
int fa0/1
sw acc vlan 10
int fa0/2
sw acc vlan 20
int fa0/3
sw acc vlan 30
vtp domain ccna
vtp password ccna

 

DHCP

ip dhcp pool vlan10
network 192.168.10.0 255.255.255.0
default-router 192.168.10.254
dns-server 192.168.40.1
ip dhcp pool vlan20
network 192.168.20.0 255.255.255.0
default-router 192.168.20.254
dns-server 192.168.40.1
ip dhcp pool vlan30
network 192.168.30.0 255.255.255.0
default-router 192.168.30.254
dns-server 192.168.40.1
ip dhcp excluded-address 192.168.10.254
ip dhcp excluded-address 192.168.20.254
ip dhcp excluded-address 192.168.30.254

 

ACL 작성

acc 100 deny tcp 192.168.10.0 0.0.0.255 192.168.40.0 0.0.0.255 eq 80
acc 100 deny tcp 192.168.20.0 0.0.0.255 192.168.40.0 0.0.0.255 eq 21
acc 100 deny tcp 192.168.30.0 0.0.0.255 192.168.40.0 0.0.0.255 eq 25
acc 100 permit icmp host 192.168.10.1 192.168.40.0 0.0.0.255
acc 100 deny icmp any any
acc 100 permit ip any any
int fa0/0.40
ip access-group 100 out

 

이름 ACL 작성

ip acc extended cisco
deny tcp 192.168.10.0 0.0.0.255 192.168.40.0 0.0.0.255 eq 80
deny tcp 192.168.20.0 0.0.0.255 192.168.40.0 0.0.0.255 eq 21
deny tcp 192.168.30.0 0.0.0.255 192.168.40.0 0.0.0.255 eq 25
permit icmp host 192.168.10.1 192.168.40.0 0.0.0.255
deny icmp any 192.168.40.0 0.0.0.255
permit ip any any
int fa0/0.40
ip access-group cisco out

 

이름 ACL 수정

conf t
ip acc extended cisco
no 40					# 목록 40번 삭제
40번이 빠졌으므로 31 ~ 49까지의 번호 가운데 아무 숫자나 사용하면 ACL조건이 삽입된다.
40 permit icmp host 192.168.20.1 192.168.40.0 0.0.0.255 
41 permit icmp host 192.168.30.1 192.168.40.0 0.0.0.255

 

■ ACL 적용시 주의 사항

- ACL은 인터페이스별로 in/out 방향당 1개만 적용이 가능

- 원격 접근에 대한 ACL은 라우터의 모든 인터페이스 조건을 확인 후 설정

 

 

■ 실습파일

ACL.pkt
0.06MB
ACL2.pkt
0.08MB
ACL_Inter Vlan.pkt
0.08MB

'Network > 실습' 카테고리의 다른 글

Time-range ACL  (0) 2024.06.18
원격 접근 ACL  (0) 2024.06.18
IPv6 over IPv4 Tunneling - 2  (0) 2024.06.14
IPv6 over IPv4 Tunneling  (0) 2024.06.14
IPv6 - Routing Protocol - EIGRPv2  (1) 2024.06.14