6. 라우팅의 보안 기능 ACL

easycelsius·2021년 9월 3일
0

Network

목록 보기
10/10

6강 라우팅의 보안 기능

ACL 접근 제어 목록

  • Access Control List (접근 제어 목록)
  • 특정 트래픽의 접근을 허용할지 차단할지 결정하는 리스트(Filtering)
  • 보안을 위해 많이 사용
  • L3 장비인 Router에서 설정하지만 Application Layer 부분도 관리하기 때문에 Network Layer까지라고 단정할 순 없음
  • 하지만 Application Layer까지 완벽하게 막을 수 없기 때문에 Firewall 등의 전문적 보안 장비 필요
  • ACL은 크게 Numbered와 Named 두 종류가 있음
    • 이후 Standard(1~99)와 Extended(100~199)로 구분 가능
    • standard Access list -> source address만 참조해서 filtering 여부를 결정
    • extended Access list -> source address 외에도 destination address, protocol, Port 번호 등 자세한 정보를 참조해서 filtering 여부를 결정
    • 실제 종류는 더 많음
      • Standard ACL : 1~99
      • Extended ACL : 100~ 199
      • Ethernet type code ACL : 200~299
      • Extended 48bit Ethernet ACL : 1100~1199
      • DECnet ACL : 300~399
      • XNS ACL : 400~499
      • Extended XNS ACL : 500~599
      • Apple ACL : 600~699
      • 48bit Ethernet ACL : 700~799
      • Standard IPX ACL : 800~899
      • Extended IPX ACL : 900~999

기본 ACL

Standard ACL (1~99)

  • Standard ACL의 경우 출발지 주소(source address)를 보고 permit, deny 여부를 결정

  • packet의 source address와 ACL에 정의된 source address가 일치하면 ACL의 내용을 수행 (permit or deny)

  • permit이면 packet을 정해진 경로로 전송하고 deny면 packet의 흐름을 차단

  • standard ACL의 사용 list-number는 1~99까지 사용

    • R1(config)# access-list \ (permit|deny) source [mask]

      • ex. R1(config)# access-list 1 deny 125.101.1.0 0.0.0.255
      • ex. R1(config)# access-list 1 permit any
      • 1 : list-number는 1~99까지의 번호를 사용 (1~99까지가 standard ACL의 번호)
      • 2 : 아래 3번 조건에 맞는 packet을 permit할지 deny할지 결정
      • 3 : 조건을 넣지 않음. standard ACL의 조건은 source address, 만약 source address를 넣지 않고 any라고 입력하면 특정 하나의 출발지 주소가 아닌 모든 주소에 2번에서 정의한 수행 내용을 적용
    • R1(config)# interface-serial 0/0

    • R1(config-if)#ip access-group \ {in|out}

    • ex. R1(config)#interface serial 0/0

    • ex. R1(config-if)#ip access-group 1 in

    • 1 : 앞에서 정의한ACL을 불러와서 filtering 내용을 인터페이스에 적용

    • 2 : inbound와 outbound 설정

      • in은 라우터의 인터페이스로 packet이 들어온 경우

      • out은 packet이 라우터의 인터페이스에서 나가는 경우

        ※ standard ACL은 항상 destination 라우터 쪽에 설정

        ※ 중간 라우터에 설정시 다른 라우터들까지 ACL의 영향을 받음

확장 ACL

Extended ACL (100~199)

  • standard ACL은 source address만 조건으로 보고 filtering을 수행

  • 하지만 extended ACL은 출발지와 목적지 주소(destination address) 모두를 조건으로 보고 제어

  • standard ACL은 TCP/IP 제어만을 함, 반면 extended ACL은 ip, tcp, udp, icmp 등 상세 프로토콜을 선택해서 설정 가능

  • extended ACL의 사용 list-number는 100~199까지 사용

    • ex. R1(config)#access-list 101 deny ip 192.100.51.0 0.0.0.255 210.150.6.0 0.0.0.255
    • ex. R1(config)#access-list 101 deny tcp 200.101.52.0 0.0.0.255 129.29.31.0 0.0.0.255 eq 80
  • Well Known Port (지정포트)

    1. TCP : FTP(20, 21), Telnet(23), SMTP(25), HTTP(80), HTTPs(443)

    2. UDP : DNS(53), TFTP(69), DHCP(67, 68)

  • R1(config)#access-list \ {permit|deny} \ source [mask] destination [mask][operator port]

    • 1 : list-number는 100~199까지의 번호를 사용 (100~199까지가 extended ACL의 번호)
    • 2 : 조건에 맞는 트래픽을 permit할지 deny할지 결정
    • 3 : filtering을 할 프로토콜을 정의 (TCP, UDP, IP 등)
    • 4 : source address를 지정
    • 5 : destination address를 지정
    • 6 : 목적지 TCP/UDP 포트 이름 및 번호를 지정
  • R1(config)#interface serial 0/0

  • R1(config)#ip access-group \ {in|out}

    • 1 : 앞에서 정의한 ACL을 불러와 filtering 내용을 인터페이스에 적용

    • 2 : inbound와 outbound 설정

      • in은 라우터의 인터페이스로 packet이 들어오는 경우

      • out은 packet이 라우터의 인터페이스에서 나가는 경우

        ※ standard ACL은 항상 destination 라우터 쪽에 설정되어야 함

        ※ 중간 라우터에 설정하면 다른 라우터들까지 ACL의 영향을 받아 정상적인 패킷 교환이 안될 수 있음

ACL의 설정방법

ACL의 동작 방식

  1. Inbound 설정

    • packet이 Router 내부로 들어올 때 filtering 여부를 결정

    • Router 인터페이스로 packet이 들어올 경우 수신 인터페이스에 ACL이 설정되어 있는지 확인하고 설정이 되어있지 않으면 그냥 통과

    • 만약 ACL이 설정돼 있다면 들어온 packet의 정보와 ACL에 설정 내용을 비교해서 통과 여부를 결정

      ※ 조건 일치하고 permit면 통과 o, deny면 통과 x

  2. Outbound 설정

    • packet이 Router 외부로 나갈 때 filtering 여부를 결정

    • Router 인터페이스에서 packet이 나갈 경우 인터페이스에서 ACL이 설정되어 있는지 확인하고 설정이 안되어 있으면 그냥 보냄

    • 만약 ACL이 설정돼 있다면 나가는 packet의 정보와 ACL에 설정 내용을 비교해서 통과 여부를 결정

      ※ 조건 일치하고 permit면 통과 o, deny면 통과 x

ACL 규칙

  1. ACL은 윗줄부터 순서대로 수행

    • ACL은 좁은 범위 설정이 먼저 되어야 함
    • 만약 다음처럼 넓은 범위 먼저 설ㄹ정시, 모든 packet이 허용됨 (filter 효과 X)
      • R1(config)# access-list 1 permit any
      • R1(config)$ access-list 1 deny 125.101.1.0 0.0.0.255
  2. ACL의 마지막은 deny any가 생략되어 있음

    • 마지막에 permit any가 없을 경우 ACL조건에 없는 모든 address는 deny됨
  3. numbered ACL은 순서대로 입력되기 때문에 중간 삽입이나 중간 삭제가 불가능

    • 중간에 List가 틀려도 삽입, 수정, 중간 삭제 불가능

      ※ 예외 named ACL의 경우는 중간 삭제 및 추가 삽입이 가능

    • 새로 추가하는 모든 조건은 마지막에 더해짐 (순서가 하양식 계산)

profile
항상 성장하고 싶은 개발자

0개의 댓글