Access Control List - 접근 제어 목록
L3 네트워크 계층에서는 IP 주소를 통해 경로가 존재하면 패킷을 전송 처리한다.
하지만 모든 패킷을 전송하는 것은 보안적으로 위험하며 간혹 불필요한 패킷의 전송을 차단할 필요가 있다.
방화벽이라는 장비 혹은 시스템을 이용하여 문제를 해결할 수도 있지만
L3 장비에서 출발지, 도착지 주소, 프로토콜, 포트를 이용해 필터링을 할 수 있으며 필터링하는 목록을 ACL이라고 한다.
주 기능
1. 특정 사용자의 접근을 제한 - 출발지 주소를 확인하여 특정 네트워크를 막을 수 있다.
2. 특정 서비스의 이용을 제한 - Web, Telnet, FTP등 프로토콜의 종류를 필터링해 막을 수 있다.
3. 라우팅 경로의 조정 - Dynamic 라우팅시 경로는 자동으로 생성이 된다. 이때 ACL을 통해 경로를 조정 할 수 있다.
ACL 종류
1. Standard : 출발지 주소만 확인하는 기본 ACL
2. Extended : 여러 옵션을 확인하는 확장 ACL
First Match Rule
필터링시에 list중 가장 위에 있는 조건부터 비교를 시작한다.
조건은 permit/deny를 할지 말지를 결정하는 조건이다.
모든 조건에 걸리지 않으면 버려진다. -> deny ip any, any 가 생략되어 있는 상태
Inbound / Outbound
라우터 자신을 기준으로 들어오면 Inbound, 나가면 Outbound이다.
조건을 잘 설정해도 IN. Out에 따라서 필터링이 안될 수도 있다. - 어디에 하는지가 중요
방향이 상관없이 막히는 경우도 있으면 리소스 소모나 안전성, 보안성이 더 뛰어난 곳에 설정을 하는게 좋다. (주관적)
interface 하나에는 Inbound, Outbound 각각 하나의 ACL만 적용이 된다.
실습 - 기본 인터페이스 설정과 라우팅은 넘어간다.
1. 사장님 PC에서 웹 접속을 막으려면 HTTP, HTTPS 통신을 막아줘야 한다.
막을 수 있는 위치는 여러군대가 있지만 2군대로 압축 시킬 수 있다.
- 회사백본라우터 Fa 0/0 Inbound
- 회사백본라우터 Se 0/0/0 Outbound
둘다 결과는 같지만 Se에 Outbound에 설정하는 것이 더 좋은 판단이다. - Fa에 Inbound이면 내부에서 나가는 모든 통신에 필터링하는 일이 발생한다.
R백본(config)# access-list 101 deny tcp host 192.168.1.2 host 192.168.3.2 eq 80
= 101이라는 acl은 192.168.1.2가 192.168.3.2로 보내는 tcp 프로토콜인 http 통신을 막는다.
R백본(config)# access-list 101 deny tcp host 192.168.1.2 host 192.168.4.2 eq 80
= 101이라는 acl은 192.168.1.2가 192.168.4.2로 보내는 tcp 프로토콜인 http 통신을 막는다.
R백본(config)# access-list 101 permit ip any any = 나머지 통신은 통과하게 한다.
R백본(config)# int s 0/0/0
R백본(config-int)# ip access-group 101 out = serial 0/0/0 인터페이스는 acl 101을 Outbound로 설정한다.
2. 좋아하는 PC는 서버와 Ping은 막혀야한다. = ICMP를 막으면 된다.
먼저 문제와 정반대의 설정이어서 내용은 비슷하지만 새로 ACL을 만들어도 중복 적용이 되지 않아 이미 만든 101을 수정해서 사용하면 된다.
R백본(config)# no access-list 101 permit ip any any = 나머지 통신을 지운다. = 위부터 적용되는 규칙을 지키기 위해
R백본(config)# access-list 101 deny icmp host 192.168.1.3 host 192.168.3.2
= 101이라는 acl은 192.168.1.3가 192.168.3.2로 보내는 icmp를 막는다.
? icmp는 별도의 포트번호가 없다. TCP, UDP 등과 같은 별개의 프로토콜이다.
R백본(config)# access-list 101 deny icmp host 192.168.1.3 host 192.168.4.2
= 101이라는 acl은 192.168.1.3가 192.168.4.2로 보내는 icmp를 막는다
R백본(config)# access-list 101 permit ip any any = 나머지 통신은 통과하게 한다.
R백본(config)# int s 0/0/0
R백본(config-int)# ip access-group 101 out = serial 0/0/0 인터페이스는 acl 101을 Outbound로 설정한다.
3. 회사 백본라우터에서 TFTP를 네이버웹서버로 안가게 필터링을 하면된다.
이때 acl 101에 추가해서 사용하면 될꺼라고 생각을 하겠지만 실제로 하면 적용이 안된다.
그 이유는 각 네트워크 장비들이 자신이 만든 패킷을 검사한다는 것은 만드는 모든 패킷을 검사를 하기 때문에 장비 자체에서 본인이 만든 패킷은 본인이 설정한 필터링을 하지 않는다가 원칙이다.
그러면 ISP에서 설정을 해야하는데 이때 ISP로 들어오는 시리얼에 Inbound하는 방식이 효율적이다. 그 이유는 ISP와 서버 사이에 설정을 하면 ISP에서 많은 리소스를 잡아먹는다(필터링을 위한 라우팅 확인, ISP로 들어온 모든 통신 필터링)
ISP입장에서는 들어오기 전에 필터링을 통해 걸러내는것이 더 효율적이다.
R_ISP(config)# access-list 102 deny udp host 192.168.2.1 host 192.168.3.2 eq tftp
= 102이라는 acl은 192.168.2.1가 192.168.3.2로 보내는 udp 프로토콜인 tftp 통신을 막는다.
R_ISP(config)# access-list 101 permit ip any any = 나머지 통신은 통과하게 한다.
R_ISP(config)# int s 0/0/0
R_ISP(config-int)# ip access-group 102 in = serial 0/0/0 인터페이스는 acl 102을 Inbound로 설정한다.
기억할것!!
bound를 어디에 설정하는가에 따라서 필터링의 유무가 결정이 된다.
자신이 만든 패킷은 자신이 검사 할 수 없다.
하나의 인터페이스에는 In, Out 각각 하나씩만 들어간다.
'경기도 미래기술학교 클라우드 > 실습 가이드' 카테고리의 다른 글
DNS 실습 가이드 (0) | 2023.06.28 |
---|---|
DHCP - NAT 연동 실습 (0) | 2023.06.26 |
ubuntu DHCP 실습 가이드 (0) | 2023.06.24 |
ACL 실습 가이드 (0) | 2023.06.21 |
Ping 통신이 어떻게 되는가? (1) | 2023.06.16 |