Skip to Content
05. SecurityInfrastructure Access-List

인프라 Access-List

학습 목차

  1. 구성 1.1. ICMP 패킷 필터링 1.2. IP Fragment 필터링 1.3. RFC 3330 주소 필터링 1.4. RFC 1918 주소 필터링 1.5. RFC 2827 주소 필터링 1.6. BGP 필터링

라우터 보안 정책 강의에서 설명했듯이, 라우터는 종종 네트워크 가장자리에서 사용되어 공격에 취약합니다. 이 때문에 가장 일반적인 공격 일부를 차단하면서 정말 필요한 트래픽만 허용하는 access-list가 있어야 합니다.

access-list가 어떻게 보일지는 라우터의 역할에 따라 달라집니다. 인터넷 접속을 위해 사용자가 뒤에 있는 NAT/PAT용으로 사용하나요, 아니면 인터넷의 트랜짓 라우터인가요? VPN이나 BGP를 사용하나요? 어떤 종류의 트래픽이 라우터를 통과하나요? 인프라 access-list를 만들기 전에 답해야 할 모든 질문입니다.

인프라 access-list가 어떻게 생겼는지 보여드리기 위해 일반적인 인프라 access-list에서 볼 수 있는 몇 가지 일반 문장을 보여드리겠습니다.


1. 구성

토폴로지는 다음과 같습니다.

토폴로지

위의 라우터는 인터페이스 하나로 인터넷에 연결되어 있고 공인 IP 주소를 가지고 있습니다. 라우터 뒤에는 인터넷 접속이 필요한 호스트가 있습니다.

1.1. ICMP 패킷 필터링

ICMP는 디버깅, 트러블슈팅, 오류 보고에 중요한 프로토콜이므로 완전히 차단해서는 안 됩니다. 그러나 정찰이나 DoS 공격에 악용될 수 있으므로 제한하는 것이 현명할 수 있습니다.

R1(config-ext-nacl)# permit icmp any any echo-reply R1(config-ext-nacl)# permit icmp any any unreachable R1(config-ext-nacl)# permit icmp any any time-exceeded R1(config-ext-nacl)# deny icmp any any

위 access-list 문장으로 핑에 응답할 수 있도록 echo-reply만 허용합니다. unreachabletime-exceeded는 traceroute에 필요합니다. 다른 모든 ICMP 유형은 거부됩니다.

1.2. IP Fragment 필터링

조각화(fragmentation)는 IP 패킷을 여러 개의 더 작은 패킷으로 나누는 프로세스입니다. 이는 패킷이 인터페이스 MTU에 비해 너무 클 때 유용할 수 있습니다.

조각화의 문제는 여러 익스플로잇이 있다는 것이므로, 모든 조각화된 패킷을 드롭하는 것이 현명할 수 있습니다.

R1(config-ext-nacl)# deny ip any any fragments

1.3. RFC 3330 주소 필터링

RFC 3330은 IPv4용으로 할당된 특수 주소를 설명합니다. 인터넷 연결에서 받을 수 있는 정상적인 패킷 중에 이러한 특수 주소를 소스 주소로 가진 것은 없습니다.

R1(config-ext-nacl)# deny ip host 0.0.0.0 any R1(config-ext-nacl)# deny ip 127.0.0.0 0.255.255.255 any R1(config-ext-nacl)# deny ip 192.0.2.0 0.0.0.255 any R1(config-ext-nacl)# deny ip 224.0.0.0 15.255.255.255 any

이 문장들을 설명해 보겠습니다.

  • 0.0.0.0을 소스 IP 주소로 사용하는 IP 패킷은 절대 봐서는 안 되므로 차단합니다.
  • 127.0.0.0/8 범위는 루프백용입니다. 인터넷에서 이 주소를 사용하는 IP 패킷은 절대 봐서는 안 됩니다.
  • 192.0.2.0/24는 IANA에 의해 TEST-NET으로 할당되었으며, 이 범위의 주소는 인터넷에서 사용되지 않습니다.
  • 224.0.0.0/4는 멀티캐스트 범위입니다.

1.4. RFC 1918 주소 필터링

사설 주소는 로컬 네트워크에서 사용되므로, 인터넷에서 사설 주소를 소스로 가진 IP 패킷은 봐서는 안 됩니다.

R1(config-ext-nacl)# deny ip 10.0.0.0 0.255.255.255 any R1(config-ext-nacl)# deny ip 172.16.0.0 0.15.255.255 any R1(config-ext-nacl)# deny ip 192.168.0.0 0.0.255.255 any

1.5. RFC 2827 주소 필터링

자체 공인 주소 공간이 있다면 access-list에 추가해야 합니다. 인터넷에서 자신의 IP 주소 중 하나를 소스로 가진 IP 패킷은 절대 봐서는 안 됩니다.

RFC 2827

본 강의는 NetworkLessons.com의 미리보기 버전입니다. 전체 내용은 멤버십 가입 후 확인 가능합니다.

멤버십 안내

포럼 답글

sales2161

안녕하세요,

오타가 있습니다.

"R1(config-ext-nacl)#deny ip 224.0.0.0 31.255.255.255 any"

“이 문장들을 설명해 보겠습니다: 224.0.0.0 /4는 멀티캐스트 범위입니다.” 라고 되어 있는데, 이는 15.255.255.255가 되어야 한다고 생각합니다.

포럼 답글 1

lagapidis

안녕 sales2161,

네, 맞습니다. Rene에게 알려드리겠습니다.

감사합니다!

Laz

포럼 답글 2

walter.nakatana

안녕하세요,

이 시나리오가 실제 환경에서 관련성이 있나요? 저희 운영 네트워크에서는 모든 라우터가 Fortigate 방화벽 뒤에 있습니다.

lagapidis

안녕 Walter,

인프라 access-list의 개념은 실제 구현 전략이라기보다는 개념에 더 가깝습니다. 네트워크의 가장자리에서 보호하고 보안을 유지하기 위해 활성화해야 할 몇 가지 기본 모범 사례가 있다는 것을 보장하는 것이 아이디어입니다. 최소한, 라우터가 있는 경우 적절한 ICMP 패킷, 사설 주소, 조각화 등을 차단하는 등 이를 단순한 access list로 그 라우터에서 사용해야 합니다.

이제 가장자리에 방화벽이나 일종의 보안 어플라이언스가 있다면…

… 포럼에서 계속 읽기

walter.nakatana

안녕 Laz,

감사합니다, 큰 도움이 되었습니다.

WN

11개의 추가 답글이 있습니다. 커뮤니티 포럼을 방문해 질문하거나 토론에 참여하세요.


출처: networklessons.com - Infrastructure Access-List

태그: ACL, Security