반응형

ACL 접근 제어 목록

(Access Control List)

허가되지 않은 이용자가 라우터나 네트워크의

특정 자원에 접근하려고 하는 것을 차단하는 기능입니다.

첫 번째 두 번째 실습에 이어 세 번째 시간입니다.

 

이 실습에서는 ACL (Access Control List)을 사용하여 특정 네트워크 트래픽을 필터링하는 방법을 다룹니다.

목표는 불필요하거나 위험한 접근을 제한하여 네트워크 보안을 강화함에 있습니다.

ACL에 대한 자세한 개념은

아래 글을 참고해 주세요!

https://jdcyber.tistory.com/17

 

ACL (Access Control List) 이란? ACL 구성 가이드: 네트워크 보안 강화를 위한 필수 지침 (쉬운 설명, 예

ACL (Access Control List) 정의 및 개념 ACL (Access Control List) 은 네트워크 보안의 핵심 구성 요소로, 네트워크 장비에서 데이터 패킷의 흐름을 제어하는 데 사용되는 일련의 지침입니다. 이 규칙들은 특

jdcyber.tistory.com

 

 

(패킷 트레이서 예제 파일은 본 글에 첨부해 놨습니다.)

1번 조건

R1, R2, R3
각각의 내부 네트워크에서는 www.ilbe.com, www.toto24.com으로 접근되지 않도록 차단하여라.
 

2번 조건

R1
13.13.20.0/24, 13.13.30.0/24 네트워크만 '13.13.10.100' 웹, FTP 접근이 가능하도록 하여라.
'13.13.10.100'으로 접근하는 모든 ICMP는 차단하여라.
단, '13.13.10.100'은 '13.13.20.0/24', '13.13.30.0/24'로 Ping이 되어야 한다.
 

명령어

conf t
(각각의 내부 네트워크에서는 www.ilbe.com, www.toto24.com으로 접근되지 않도록 차단)
access-list 110 deny ip 13.13.10.0 0.0.255.255 host 141.101.121.208
access-list 110 deny ip 13.13.10.0 0.0.255.255 host 81.150.200.78
access-list 110 permit ip any any
!
int fa0/0
ip access -group 110 int
!
(13.13.20.0/24, 13.13.30.0/24 네트워크만 '13.13.10.100' 웹, FTP 접근이 가능도록 설정)
('13.13.10.100'으로 접근하는 모든 ICMP는 차단 단, '13.13.10.100'은 '13.13.20.0/24', '13.13.30.0/24'로 Ping 가능하도록 설정)
access-list 120 permit tcp 13.13.20.0 0.0.0.255 host 13.13.10.100 eq 80
access-list 120 permit tcp 13.13.20.0 0.0.0.255 host 13.13.10.100 eq 443
access-list 120 permit tcp 13.13.20.0 0.0.0.255 host 13.13.10.100 range 20 21
access-list 120 permit tcp 13.13.30.0 0.0.0.255 host 13.13.10.100 eq 80
access-list 120 permit tcp 13.13.30.0 0.0.0.255 host 13.13.10.100 eq 443
access-list 120 permit tcp 13.13.30.0 0.0.0.255 host 13.13.10.100 range 20 21
access-list 120 deny tcp any host 13.13.10.100 eq80
access-list 120 deny tcp any host 13.13.10.100 eq443
access-list 120 deny tcp any host 13.13.10.100 range 20 21
access-list 120 permit icmp 13.13.20.0 0.0.0.255 host 13.13.10.100 echo-reply
access-list 120 permit icmp 13.13.30.0 0.0.0.255 host 13.13.10.100 echo-reply
access-list 120 deny icmp any host 13.13.10.100
access-list 120 permit ip any any
!
int s0/0/0
ip access-group 120 in
 

확인

show ip access-lists

신중한 IP 주소 및 서비스 선정
  • 정밀한 대상 지정: ACL을 설정할 때, 차단하거나 허용해야 하는 특정 IP 주소, 네트워크, 또는 서비스(웹, FTP, ICMP 등)를 명확히 식별해야 합니다. 이는 불필요한 접근을 정확히 차단하고, 필요한 트래픽은 원활하게 통과시키는 데 중요합니다.
최소 권한 원칙 적용
  • 필요한 최소한의 접근만 허용: 네트워크 보안에서는 항상 최소 권한 원칙(Principle of Least Privilege)을 적용해야 합니다. 이는 사용자나 시스템이 자신의 업무를 수행하는 데 필요한 최소한의 권한만을 가지도록 하는 것입니다. ACL 설정 시, 이 원칙에 따라 필수적인 접근만 허용하고 나머지는 기본적으로 차단하는 방식을 채택해야 합니다.
서비스별 포트 번호 인식
  • 적절한 포트 사용: 웹(HTTP, HTTPS)이나 FTP 서비스에 대한 접근을 허용하거나 차단할 때, 각 서비스의 표준 포트 번호(예: HTTP는 80, HTTPS는 443, FTP는 20과 21)를 정확히 지정해야 합니다. 잘못된 포트 번호 설정은 의도하지 않은 서비스 접근을 허용하거나 차단할 수 있습니다.
정책 구현 후 검증
  • 설정 후 검증: ACL을 구성한 후에는 show ip access-lists 명령어를 사용하여 설정된 규칙을 검토하고, 실제 네트워크 트래픽이 의도한 대로 필터링되는지 확인해야 합니다. 또한, 허용된 접근과 차단된 접근 모두를 테스트하여 ACL이 정상적으로 작동하는지 검증해야 합니다.
문서화 및 지속적 관리
  • 구성 문서화: ACL 설정을 문서화하여 관리하면 나중에 네트워크 변경이나 문제 해결 시 큰 도움이 됩니다. 구성 변경 사항을 기록해 두면, 미래의 보안 감사나 네트워크 개선 작업에 유용한 참고 자료가 됩니다.
  • 지속적인 업데이트와 관리: 네트워크 환경은 지속적으로 변화하므로, ACL도 새로운 보안 위협, 변경된 네트워크 구성, 새로운 서비스 요구 사항에 맞게 주기적으로 검토하고 업데이트해야 합니다.

ACL 실습을 진행할 때, 위의 지침들을 철저히 따르는 것이 중요합니다.

이를 통해 네트워크 보안을 강화하고, 불필요한 접근을 효과적으로 차단할 수 있습니다.

또한, 실습 과정에서 발생할 수 있는 다양한 문제를 예방하고, 보안 정책을 효과적으로 구현할 수 있습니다.


 

패킷 트레이서 예제 파일


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형
반응형

ACL (Access Control List) 정의 및 개념

 

ACL (Access Control List) 은 네트워크 보안의 핵심 구성 요소로,

네트워크 장비에서 데이터 패킷의 흐름을 제어하는 데 사용되는 일련의 지침입니다.

이 규칙들은 특정 조건에 따라 네트워크 트래픽을 허용하거나 차단합니다.

ACL은 주로 라우터와 스위치와 같은 네트워크 장비에 구성되며,

네트워크 보안을 강화하고 데이터 흐름을 관리하는 데 중요한 역할을 합니다.

 

특징 표준 ACL (Standard ACL) 확장 ACL (Extended ACL)
기준 소스 IP 주소 소스 및 목적지 IP 주소, 프로토콜, 포트 번호
주요 기능 특정 소스 IP에서 오는 트래픽 제어 보다 세밀한 트래픽 제어 (프로토콜, 포트 포함)
사용 사례 네트워크로 들어오는 특정 호스트 차단 특정 서비스(예: SSH, HTTP) 접근 제어

 

ACL 구성 시 고려해야 할 사항
네트워크 요구 사항 파악: ACL을 구성하기 전에, 네트워크의 요구 사항과 목적을 명확히 이해해야 합니다.
어떤 트래픽을 차단하거나 허용해야 하는지, 그리고 그 이유에 대해 정확히 알고 있어야 합니다.

최소 권한 원칙: 네트워크 보안에서 항상 최소 권한 원칙을 따르는 것이 중요합니다.
즉, 필요한 최소한의 트래픽만 허용하고, 나머지는 기본적으로 차단하는 방식으로 ACL을 구성합니다.

ACL 순서의 중요성: ACL 규칙은 순차적으로 처리되므로, 규칙의 순서가 매우 중요합니다.
더 구체적인 규칙을 먼저 배치하고, 더 일반적인 규칙을 나중에 배치해야 합니다.

테스트 및 검증: ACL을 적용하기 전에는 반드시 테스트를 거쳐야 합니다.
잘못 구성된 ACL은 네트워크 성능에 부정적인 영향을 미칠 수 있으며, 심지어 중요한 네트워크 트래픽을 차단할 수도 있습니다.

문서화 및 관리: 구성된 ACL은 문서화하여 관리하는 것이 좋습니다.
이는 나중에 네트워크 변경이나 문제 해결 시 유용하게 사용될 수 있습니다.

 

ACL (Access Control List) 설정 예제

 

시나리오
네트워크에서 특정 호스트가 인터넷에 접근하는 것을 차단하고 싶다고 가정합시다. 이를 위해 표준 ACL을 사용할 수 있습니다.

 

  1. 표준 ACL 구성:
    • access-list 1 deny ip 192.168.1.100 : IP 주소가 192.168.1.100인 호스트의 모든 트래픽을 차단합니다.
    • access-list 1 permit any : 위 조건을 제외한 모든 트래픽을 허용합니다.
  2. 라우터 인터페이스에 ACL 적용:
    • interface GigabitEthernet0/1
    • ip access-group 1 out : GigabitEthernet0/1 인터페이스에서 나가는 트래픽에 대해 ACL 1을 적용합니다.

확장 ACL 구성 예제:

외부 네트워크에서 특정 서버로의 SSH 접근을 차단하고자 할 때 확장 ACL을 사용할 수 있습니다.

  1. 확장 ACL 구성:
    • access-list 100 deny tcp any host 192.168.1.200 eq 22 : 모든 출발지에서 IP 주소가 192.168.1.200인 서버로의 TCP 포트 22(SSH) 접근을 차단합니다.
    • access-list 100 permit ip any any : 위 조건을 제외한 모든 트래픽을 허용합니다.
  2. 라우터 인터페이스에 ACL 적용:
    • interface GigabitEthernet0/0
    • ip access-group 100 in : GigabitEthernet0/0 인터페이스로 들어오는 트래픽에 대해 ACL 100을 적용합니다.
ACL 구성과 관련된 일반적인 실수 및 해결 방법

1. 규칙 순서 실수:
실수: ACL 규칙은 순차적으로 처리되므로, 순서를 잘못 설정하면 트래픽이 의도하지 않은 방식으로 필터링될 수 있습니다.
해결 방법: 규칙을 추가하기 전에, 각 규칙이 어떻게 트래픽을 처리할지 철저히 계획하고, 더 구체적인 규칙을 먼저 배치합니다.

2. 너무 광범위한 차단 규칙 설정:
실수: 너무 광범위한 트래픽을 차단하는 규칙을 설정함으로써 필요한 트래픽까지 차단하는 경우가 있습니다.
해결 방법: 필요한 트래픽과 차단해야 할 트래픽을 명확히 구분하고, 트래픽을 차단하기 전에 그 영향을 면밀히 고려합니다.

3. 테스트와 모니터링의 부족:
실수: 새로운 ACL을 적용한 후 적절한 테스트와 모니터링을 하지 않아 예상치 못한 문제가 발생하는 경우가 있습니다.
해결 방법: ACL을 네트워크에 적용한 후, 즉시 테스트를 실시하고 정기적으로 네트워크 트래픽을 모니터링하여, 필요한 조정을 즉시 수행합니다.

4. 문서화 및 업데이트 미흡:
실수: 구성된 ACL의 문서화를 소홀히 하여 나중에 설정을 이해하거나 변경하기 어려운 경우가 있습니다.
해결 방법: 모든 ACL 설정을 문서화하고, 변경사항이 있을 때마다 이를 업데이트하여 관리합니다.

ACL은 네트워크의 보안과 데이터 흐름 관리에 매우 중요합니다.

올바르게 구성되고 적용된 ACL은 네트워크를 보호하고,

불필요한 트래픽으로 인한 네트워크 성능 저하를 방지하는 데 도움이 됩니다.

하지만, 잘못 구성된 ACL은 네트워크의 정상적인 운영을 방해할 수 있으므로,

신중한 계획과 테스트가 필요합니다.

 

아래는 이해를 돕기 위하여 실습 내용을 담았으니 참고 해주세요

https://jdcyber.tistory.com/16

 

ACL 트래픽 필터링 실습 #1 (예제, 연습, 네트워크, 보안, 패킷 트레이서)

ACL 트래픽 필터링 실습 이 실습은 확장 ACL(Extended Access Control List)을 사용하여 네트워크 보안을 강화하는 방법에 대해 다룹니다. 확장 ACL은 IP 헤더의 출발지 주소, 목적지 주소, 프로토콜 등을 검

jdcyber.tistory.com

 

ACL 트래픽 필터링 실습 #2

ACL 트래픽 필터링 실습 #3



궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

 

반응형
반응형
ACL 트래픽 필터링 실습

 

이 실습은 확장 ACL(Extended Access Control List)을 사용하여 네트워크 보안을 강화하는 방법에 대해 다룹니다.

확장 ACL은 IP 헤더의 출발지 주소, 목적지 주소, 프로토콜 등을 검사하여 패킷의 허용 또는 차단을 결정합니다.

 

ACL 접근 제어 목록

(Access Control List)

허가되지 않은 이용자가 라우터나 네트워크의 특정 자원에 접근하려고 하는 것을 차단하는 기능입니다.

 

ACL에 대한 자세한 개념은 아래 글을 참고해 주세요!

https://jdcyber.tistory.com/17

 

ACL (Access Control List) 이란? ACL 구성 가이드: 네트워크 보안 강화를 위한 필수 지침 (쉬운 설명, 예

ACL (Access Control List) 정의 및 개념 ACL (Access Control List) 은 네트워크 보안의 핵심 구성 요소로, 네트워크 장비에서 데이터 패킷의 흐름을 제어하는 데 사용되는 일련의 지침입니다. 이 규칙들은 특

jdcyber.tistory.com

 

R1에서 조건에 맞게 Extended ACL를 구성해 봅시다.

(IP Header의 Source Address, Destination Address, Protocol 등을 검사하여 분류한 , 결과에 따라 패킷 출력을 결정)

조건
출발지 네트워크가 ‘13.13.30.0/24’인 트래픽이 내부 로컬 네트워크 ‘13.13.10.1’로 Telnet 접근을 차단하여라.
(목적: 이 규칙의 주요 목적은 내부 네트워크 '13.13.10.1'로의 무단 Telnet 접근을 차단하는 것입니다. Telnet 프로토콜은 암호화되지 않은 통신을 사용하기 때문에, 민감한 데이터가 노출될 위험이 있습니다. 따라서, 특정 출발지 네트워크 '13.13.30.0/24'에서 오는 Telnet 트래픽을 차단함으로써, 무단 접근과 데이터 유출을 방지하고 네트워크 보안을 강화합니다.)
명령어: access-list 110 deny tcp 13.13.30.0 0.0.0.255 host 13.13.10.1 eq 23

외부에서 내부 서버 ’13.13.10.100’으로 Ping이 되는 것을 차단하여라. 단, '13.13.10.100' 서버는 외부로 Ping이 되어야 한다.
(목적: 이 규칙은 외부에서 내부 서버 '13.13.10.100'으로의 Ping(즉, ICMP 'echo' 요청)을 차단하여, 서버가 네트워크 서비스 거부(DoS) 공격이나 다른 형태의 네트워크 공격에 노출되는 것을 방지합니다. 동시에, 서버가 외부로 Ping을 보낼 수 있도록 설정하여 네트워크 연결 상태를 확인할 수 있게 합니다.)
명령어: access-list 110 deny icmp any host 13.13.10.100 echo

출발지 네트워크가 ‘13.13.20.0/24’인 트래픽이 내부 로컬 웹서버 ‘13.13.10.100’으로 접근하는 것을 차단하여라.
목적: 이 설정은 '13.13.20.0/24' 네트워크에서 오는 트래픽이 내부 로컬 웹서버 '13.13.10.100'으로의 접근을 차단합니다. 이는 웹 서버를 무단 접근과 잠재적인 공격으로부터 보호하며, 웹 서버의 데이터 보안과 안정성을 유지하는 데 중요합니다.
명령어: access-list 110 deny tcp 13.13.20.0 0.0.0.255 host 13.13.10.100 eq 80

위에 조건을 제외한 나머지 트래픽은 허용한다.

 

위의 조건을 구성할 때에는 최대한 간결하게 ACL를 구성하며, ACL을 R1 Serial 1/0에 적용하여라.

명령어
conf t
(출발지 네트워크가 ‘13.13.30.0/24’인 트래픽이 내부 로컬 네트워크 ‘13.13.10.1’로 Telnet 접근을 차단)
access-list 110 deny tcp 13.13.30.0 0.0.0.255 host 13.13.10.1 eq 23

(외부에서 내부 서버 ’13.13.10.100’으로 Ping이 되는 것을 차단. 단, '13.13.10.100' 서버는 외부로 Ping 가능하도록 설정)
access-list 110 deny icmp any host 13.13.10.100 echo

(출발지 네트워크가 ‘13.13.20.0/24’인 트래픽이 내부 로컬 웹서버 ‘13.13.10.100’으로 접근하는 것을 차단)
access-list 110 deny tcp 13.13.20.0 0.0.0.255 host 13.13.10.100 eq 80

(위에 조건을 제외한 나머지 트래픽은 허용)
access-list 110 permit ip any any
!
(위의 조건을 구성할때에는 최대한 간결하게 ACL를 구성하며, ACL을 R1 Serial 1/0 에 적용)
int s1/0
ip access-group 110 in

 

확인
show ip access-lists

 

(해당 기능을 통해 아래 ICMP 스마트 공격을 방어할 수 있습니다.)

 

(ICMP 스마트 공격)
SA 13.13.10.100
DA 13.13.30.255

ICMP Echo-Reply
--------------------
SA 13.13.30.X
DA 13.13.10.100

규칙 번호 유형 출발지 주소 목적지 주소 프로토콜 포트 동작
110 Deny 13.13.30.0/24 13.13.10.1 TCP 23 Telnet 접근 차단
110 Deny Any 13.13.10.100 ICMP - 외부에서의 Ping 차단
110 Deny 13.13.20.0/24 13.13.10.100 TCP 80 웹 접근 차단
110 Permit Any Any IP - 모든 트래픽 허용
- Apply ACL - - - - R1 Serial 1/0 인터페이스에 적용

 

이 표는 각 ACL 규칙의 세부 사항을 명확하게 보여줍니다.

각 규칙은 특정 트래픽 유형을 차단하거나 허용하도록 설정되어 있으며,

마지막으로 이러한 규칙들이 R1 라우터의 Serial 1/0 인터페이스에 적용됩니다.


이 실습은 네트워크 보안을 강화하는 데 필수적인 ACL의 구성 및 적용 방법을 보여줍니다. 이를 통해 특정 네트워크의 접근을 제어하고, 민감한 자원을 보호할 수 있습니다. 또한, 위험한 네트워크 트래픽을 효과적으로 차단하여 네트워크의 안전성을 유지할 수 있습니다.


ACL이란?

ACL 트래픽 필터링 실습 #1

ACL 트래픽 필터링 실습 #2

ACL 트래픽 필터링 실습 #3




궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형

+ Recent posts