Computer Science/Computer Network

[컴퓨터네트워크] 12주차: 네트워크 보안, LAN 보안 개념, 스위치 보안 기술, Access Control List

kangkyunghyun 2026. 2. 11. 22:52
728x90
반응형

경희대학교 유인태 교수님의 컴퓨터네트워크 강의를 기반으로 정리한 글입니다.

네트워크 보안

개요

보안 위협

  • 네트워크 보안은 네트워크 규모에 관계없이 오늘 날 네트워킹의 필수적 부분
  • 네트워크 보안은 네트워크 상의 서비스 품질을 보장하면서도 데이터를 보호하는 것과 동시에 환경까지 고려해야 함
  • 네트워크 보안에는 데이터를 보호하고 위협을 완화하기 위한 다양한 프로토콜, 기술, 장치, 도구가 필요
  • 위협 벡터: 외부 또는 내부

외부 위협

  • 바이러스, 웜, 트로이 목마
  • 스파이웨어 및 애드웨어
  • 제로-데이 공격
  • 위협 행위자 공격
  • 서비스 거부 공격
  • 데이터 가로채기 및 도난
  • 신원 도용

내부 위협

  • 분실 또는 도난 기기
  • 직원에 의한 우발적 오용
  • 나쁜 의도를 가진 직원

보안 솔루션

  • 보안은 여러 솔루션을 사용하여 여러 계층으로 구현
  • 댁내 또는 SOHO 네트워크 보안 구성요소
    • 바이러스 백신, 안티-스파이웨어 소프트웨어
    • 무단 접속 차단을 위한 방화벽 필터링
  • 엔터프라이즈 및 캠퍼스 네트워크 보안
    • 전용 방화벽 시스템
    • 액세스 제어 목록(ACL)
    • 침입 방지 시스템(IPS)
    • 가상 사설 망(VPN)

보안 위협 및 취약성

위협 유형

  • 위협 행위자(Threat Actor): SW를 수정하거나 SW 취약점을 악용하여 네트워크에 액세스 하는 침입자
  • 네트워크 액세스 권한을 획득한 위협 행위자에 의한 위협 유형 → 정보 도용, 데이터 손실 및 조작, 신원 도용, 서비스 중단

취약성(네트워크나 장치가 보안에 취약한 정도)

  • 기술적 취약성: TCP/IP 프로토콜 자체의 약점, 운영체제의 약점, 네트워킹 장치의 약점
  • 구성 취약성: 보안되지 않은 사용자 계정, 쉽게 추측할 수 있는 암호가 있는 시스템 계정, 잘못 구성된 인터넷 서비스, 안전하지 않은 기본 설정, 잘못 구성된 네트워킹 장치
  • 보안 정책 취약성: 문서화 된 보안 정책 부재, 보안 정책 방향성 또는 인증 연속성 결여, 논리적 액세스 제어 부재, 정책을 따르지 않는 SW 및 HW 설치 및 변경, 재해 복구 계획 미비

네트워크 공격

맬웨어(Malware) 유형

  • 맬웨어: 데이터, 호스트, 네트워크를 손상, 방해, 도용, 또는 불법적인 행위를 하도록 특별히 설계된 악성 코드 또는 악성 소프트웨어
  • 악성 코드의 유형
    • 바이러스: 자신의 복사본을 다른 프로그램에 삽입하여 다른 프로그램에 포함시켜 전파되는 악성 코드의 일종. 한 컴퓨터에서 다른 컴퓨터로 확산 이동하며 다른 컴퓨터를 감염
    • 웜: 자신의 기능적 복제본을 복제하여 동일한 유형의 손상을 일으킬 수 있다는 점에서 바이러스와 유사. 감염된 호스트 파일을 퍼뜨려야 하는 바이러스와 달리 웜은 독립형 소프트웨어이므로 악성 코드를 퍼뜨림에 있어서 호스트 프로그램이나 사람의 도움이 필요하지 않음
    • 트로이 목마: 합법적으로 보이는 유해한 소프트웨어. 바이러스 및 웜과 달리 트로이 목마는 다른 파일을 감염시켜 번식하지 않고 스스로 복제. 트로이 목마는 이메일 첨부 파일을 열거나 인터넷에서 파일을 다운로드하여 실행하는 등 사용자 상호 작용을 통해 확산

네트워크 공격 유형

  • 정찰 공격: 시스템 및 서비스의 취약점을 발견하고 파악
  • 액세스 공격: 데이터, 시스템 액세스 또는 사용자 권한에 대한 무단 조작
    • 비밀번호 공격 - 브루트 포스, 트로이 목마, 패킷 스니퍼를 사용하여 구현
    • 신뢰 악용 - 승인되지 않은 권한을 사용한 시스템 액세스 및 타겟 공격
    • 포트 리디렉선 - 손상된(compromised) 시스템을 다른 타겟에 대한 공격의 기반으로 사용
    • 중간자(man-in-the-middle) 공격 - 두 합법적인 개체 사이에 전달되는 데이터를 읽거나 수정
  • 서비스 거부(DoS) 공격: 가장 널리 알려진, 제거하기 가장 어려운 공격 중 하나
    • 시스템 자원을 소비하여 인증된 사용자에 대한 서비스 거부(지속적인 최신 보안 업데이트 필요)
    • DoS 공격은 숙련되지 않은 위협 행위자도 비교적 간단하게 수행 가능
    • DDoS는 여러 소스들에 의해 합동으로 이루어짐(ex. 감염된 호스트인 좀비를 이용한 봇넷(botnet) 구축 후, CnC(command and control) 프로그램을 사용하여 봇넷에 DDoS 공격 수행 지시)

네트워크 공격 완화

심층 방어(Defense-in-Depth) 접근 방식

  • 네트워킹 장치와 서비스를 함께 고려하는 계층형 접근 방식
  • VPN, ASA 방화벽, IPS, ESA/WSA, AAA 서버

백업 보관

  • 데이터 손실 방지를 위한 간단하면서도 효과적인 방법 중 하나
  • 주요 고려 사항: 주기(정기적 백업 및 부분적 백업), 스토리지(백업 검증, 무결성 확인, 파일 복원 절차 검증), 백업 보관(보안 정책에 따라 승인된 오프사이트 스토리지 위치로 전송), 유효성 검사(복원 암호 적용)

업그레이드, 업데이트, 패치

  • 새로운 악성 코드에 대처하기 위한 최신 버전의 안티-바이러스 SW 사용
  • 운영 시스템 공급 업체로부터의 보안 업데이트 및 패치 적용이 가장 효과적인 악성 코드 대처 방법

인증, 권한 부여, 계정 관리(AAA: Authentication, Authorization, Accounting)

  • 네트워킹 장치에 대한 액세스 제어 설정을 위한 기본 프레임워크
  • 네트워크에 누가 액세스 할 수 있는지(인증)와 네트워크에 액세스 하는 동안 어떤 작업을 수행할 수 있는지(권한 부여)를 제어하고, 네트워크에 연결된 동안 수행한 작업을 기록 및 과금(계정 관리)하는 방법
  • 신용 카드 사용 개념과 유사: 누가 사용할 수 있는지, 얼마를 쓸 수 있는지, 어떤 곳에 사용했는지

방화벽

  • 두 개 이상의 네트워크 사이에 위치하여, 트래픽을 제어하고 자원에의 무단 접속 방지
  • 외부 사용자의 특정 시비스에 대한 액세스 제어 수행(DMZ를 사용한 특정 정책 적용 가능)

방화벽 유형

  • 방화벽 제품은 다양한 형태로 패키징 되어 출시
  • 패킷 필터링, 애플리케이션 필터링, URL 필터링, 상태 기반 패킷 검사(SPI: Stateful Packet Inspection)

장치 보안

Cisco AutoSecure

  • IOS 라우터(일부 스위치 포함) 보안을 빠르게 강화해 주는 자동화 도구
  • 추가 수행 작업: 기본 사용자 이름/암호 변경, 시스템 리소스 사용 권한 제한, 불필요한 서비스와 사용하지 않는 서비스 비활성화 또는 제거, 최신 소프트웨어 업데이트 및 보안 패치 설치

추가적인 보안

  • service password-encryption: 모든 일반 텍스트 암호의 암호화
  • security passwords min-length: 최소 암호 길이 설정
  • login block-for # attempts # within #: 무차별 암호 대입 공격 차단
  • exec-timeout: 특정 시간 사용하지 않을 경우 특권 모드 접속 비활성화, line 모드

SSH 사용

  • 원격 접속은 항상 SSH를 사용
  • 호스트 이름 구성, 도메인 네임 구성, 암호화 키 생성, 로컬 DB 기반 인증, vty 인바운드 ssh 세션 활성화

LAN 보안 개념

Layer 2 보안 위협

Layer 2 취약성

  • 네트워크 관리자는 Layer 3에서 Layer 7까지의 요소를 보호하기 위한 보안 솔루션을 정기적으로 구현
  • VPN, 방화벽, IPS 장치를 사용하여 이러한 요소를 보호
  • Layer 2가 손상되면 모든 상위 계층에 영향 → 내부 네트워크에 대한 액세스 권한이 있는 위협 행위자가 Layer 2 프레임을 캡처하는 경우 상위 계층에 구현된 모든 보안은 의미가 없음

스위치 공격 범주

  • 보안 강도는 시스템에서 가장 취약한 링크 만큼만 강하며, 2계층은 취약한 링크로 간주됨

LAN 공격

VLAN Hopping Attack

  • 라우터를 사용하지 않고도 임의의 VLAN 트래픽을 다른 VLAN에서 볼 수 있음
  • 위협 행위자는 대부분의 스위치 포트에 기본적으로 활성화 되어 있는 자동 트렁킹 포트 기능을 이용
  • 타겟 스위치와의 트렁크 구성을 위해 802.1Q 및 DTP 시그널링을 하도록 호스트를 구성
  • 성공 시 모든 VLAN에서 트래픽 송수신이 가능하고 VLAN 사이를 효과적으로 이동 가능

VLAN Double-Tagging Attack

  • 위협 행위자가 트렁크 포트의 네이티브 VLAN과 동일한 VLAN 멤버십을 갖는 포트에 연결된 경우 공격 가능
  • 완화 방법: 액세스 포트의 트렁킹 비활성화, 자동 트렁킹 비활성화, 트렁크 링크에만 네이티브 VLAN 사용

DHCP Attack

  • DHCP Starvation Attack
    • 목적: DHCP 서비스가 필요한 클라이언트에 대한 DoS 공격
    • 방법: 특정 공격 도구를 사용하여 임대 가능한 IP 주소 범위 전체를 임대하여 주소 풀을 고갈시킴(bogus MAC address를 사용하여 DHCP DISCOVER 메시지 생성)
  • DHCP Spoofing Attack
    • 비인가(rogue) DHCP 서버를 네트워크에 연결하여 클라이언트에 잘못된 IP 구성 정보를 제공
    • 비인가 서버에 의한 잘못된 IP 구성 정보 제공 시 문제
    • 잘못된 기본 게이트웨이: 위협 행위자에 의한 중간자 공격이 가능하여 네트워크 상의 데이터 흐름을 가로챌 수 있음
    • 잘못된 DNS 서버: 비인가 서버가 유해 DNS 서버 주소를 제공하여 사용자를 악성 웹 사이트로 안내
    • 잘못된 IP 주소: 비인가 서버가 잘못된 IP 주소 정보를 제공하여 DHCP 클라이언트에 대한 DoS 공격 수행

ARP Attack

  • ARP 공격 배경
    • 타겟 IP 주소를 가진 호스트의 MAC 주소를 확인하기 위한 ARP request 및 이에 대한 ARP reply
    • 클라이언트는 “자발적(gratuitous) ARP(요청을 받지 않았는데도 호스트가 스스로 보내는 ARP 패킷)”를 보낼 수 있고, 서브넷 상의 다른 호스트는 이 ARP에 포함된 MAC 주소와 IP 주소를 ARP 테이블에 저장하도록 되어 있음
  • ARP Spoofing Attack: 위협 행위자가 스푸핑된 MAC 주소가 포함된 gratuitous ARP 메시지를 전송하면, 스위치는 이 ARP 메시지 내의 정보에 따라 자신의 MAC 테이블을 업데이트 하게 됨
  • ARP Poisoning Attack: LAN 상의 장치들이, 올바로 구성되어 있던 IP 주소와 MAC 주소 쌍을 위협 행위자가 사용하는 호스트의 MAC 주소로 업데이트
  • ex. 위협 행위자는 자신의 MAC 주소와 디폴트 게이트웨이의 IP 주소를 사용하여 서브네트워크 상의 다른 호스트에 unsolicited(gratuitous) ARP replies를 전송하여 중간자(MitM) 공격을 위한 설정을 효과적으로 가능
  • 인터넷에 ARP MitM에 사용가능한 많은 도구 존재(ex. dsniff, Cain & Abel, ettercap, Yersinia…)
  • 이러한 ARP 스푸핑과 ARP 포이즈닝은 **DAI(Dynamic ARP Inspection)**를 구현하여 완화 가능

Address Spoofing Attack

  • IP 주소 스푸핑: 서브넷 상의 다른 장치의 유효 IP 주소를 가로채거나 임의의 IP 주소를 사용. IP 주소 스푸핑은 특히 해당 IP 주소가 속한 서브넷 내에서 사용되는 경우 완화하기 어려움
  • MAC 주소 스푸핑: 위협 행위자 호스트의 MAC 주소를 타겟 호스트의 MAC 주소로 변경하여 스위치의 MAC address Table을 업데이트 함으로써 타겟 호스트로 향하는 프레임을 위협 행위자의 호스트로 전달하도록 함
  • 타겟 호스트가 트래픽 전송 → 스위치가 오류를 수정하여 MAC 주소를 원래의 포트로 다시 되돌려 놓을 수 있음 → 하지만 위협 행위자는 스위치가 스푸핑 된 정보를 계속 유지하도록 지속적으로 공격 프레임을 스위치에 보내는 프로그램이나 스크립트를 사용할 수 있음
  • L2 스위치는 MAC 주소의 소스를 확인할 수 있는 보안 메커니즘이 없으므로 스푸핑 공격에 매우 취약 → **IP 소스 가드(IPSG)**를 구현하여 IP 주소 스푸핑 및 MAC 주소 스푸핑 완화 가능

STP 공격

  • 네트워크 공격자는 루트 브리지를 스푸핑하여 네트워크 토폴로지를 변경하는 방식으로 STP 조작 공격이 가능
  • STP 조작 공격을 위해 공격 호스트는 스패닝 트리 재계산을 강제하는 구성과 토폴로지 변경 정보를 포함하는 STP BPDU를 브로드캐스트
  • 공격 호스트가 보낸 BPDU는 루트 브리지로 선택되기 위해 더 낮은 브리지 우선 순위를 가지도록 함
  • 이러한 이슈는 LAN 공격 의도와 상관없이 단순히 이더넷 스위치를 네트워크에 추가할 경우에도 발생할 수 있음
  • 공격자는 전환된 도메인의 모든 트래픽을 캡처할 수 있음
  • STP 공격은 모든 액세스 포트에 BPDU Guard를 구현하여 완화 가능

LAN 정찰 공격

  • LLDP(Link Layer Discovery Protocol)와 CDP(Cisco Discovery Protocol)는 모두 Layer 2 링크 검색 프로토콜로, 이러한 프로토콜이 장치에 활성화 되어 있을 경우 위협 행위자의 LAN 공격에 활용될 수 있음
  • 네트워크 관리자는 LLDP나 CDP를 사용하여 네트워크 장치를 구성하거나 문제를 해결함
  • CDP 정보는 주기적으로 그리고 암호화 되지 않은 멀티캐스트 방식으로 CDP가 활성화 되어 있는 포트로 전송됨 → 장치의 IP 주소, IOS 버전, 플랫폼, 기능, 네이티브 VLAN 정보 등
  • 정찰 공격을 막기 위해 해당 장치 또는 포트에서 해당 프로토콜의 사용 제한
    • 전역 설정 모드: no lldp run, no cdp run
    • 인터페이스 설정 모드: no lldp transmit, no lldp receive, no cdp enable

Switch Security Configuration

스위치 공격 완화 기법

  • 관리 프로토콜이 안전하지 않으면 이러한 Layer 2 솔루션은 효과가 없음
  • 권장되는 전략
    • 항상 SSH, SCP, SFTP, SSL/TLS와 같은 보안 기능이 있는 관리 프로토콜을 사용
    • 장치를 관리할 때는 대역 외(out-of-band) 관리 네트워크를 사용하는 것을 고려
    • 관리 트래픽만 상주하는 전용 관리 VLAN 사용
    • ACL을 사용하여 원치 않는 액세스를 필터링

스위치 보안 기술

포트 보안 구현

  • 포트 보안 활성화: 액세스 및 트렁크 포트로 수동 설정된 포트에만 설정 가능
    • Switch(config-if)#switchport port-security
  • MAC 주소 개수 제한, MAC 주소 수동 구성, MAC 주소 동적 학습
    • Switch(config-if)#switchport port-security maximum value
    • Switch(config-if)#switchport port-security mac-address {mac-address | sticky}
  • 포트 보안 에이징: 동적으로 학습한 또는 sticky 보안 MAC 주소를 일정 조건에서 ‘자동 만료(에이징)’시켜 주소 슬롯을 비우고 재학습 가능하도록 함. 수동(static) 보안 MAC은 에이징되지 않지만 static 설정으로 에이징 가능
    • Switch(config-if)#switchport port-security aging {static | time time | type {absolute | inactivity}}
  • 포트 보안 위반 모드: 디폴트 구성은 shutdown으로 즉시 error-disabled 상태로 됨. 보안 포트가 error-disabled 상태일 때는 shutdown 명령어와 no shutdown 명령어를 순차적으로 입력해야 함
    • Switch(config-if)#switchport port-security violation {shutdown | restrict | protect}

VLAN 공격 완화

  1. switchport mode access 명령으로 트렁킹이 아닌 포트에서 DTP(자동 트렁킹) 협상을 비활성화
  2. 사용하지 않는 포트를 비활성화하고 사용하지 않는 VLAN에 할당
  3. switchport mode trunk 명령으로 트렁킹 포트에 대한 트렁크 링크를 수동으로 활성화
  4. switchport nonegotiate 명령으로 트렁킹 포트에 대한 DTP 협상을 비활성화
  5. switchport trunk native vlan vlan_number 명령으로 네이티브 VLAN을 VLAN 1이 아닌 다른 VLAN으로 설정

DHCP 공격 완화: DHCP Snooping

  • DHCP 메시지를 필터링하고 신뢰할 수 없는 포트의 DHCP 트래픽 속도를 제한
  1. ip dhcp snooping 전역 설정 모드 명령으로 DHCP 스누핑 활성화
  2. 신뢰할 수 있는 포트에 ip dhcp snooping trust 명령 사용
  3. 신뢰할 수 없는 포트에 ip dhcp snooping limit rate packet-per-second 명령으로 수신할 수 있는 DHCP Discovery 메시지 수 제한
  4. ip dhcp snooping vlan 전역 설정 모드 명령으로 VLAN 또는 VLAN 범위 별로 DHCP 스누핑 활성화

ARP 공격 완화: Dynamic ARP Inspection(DAI)

  • ARP spoofing과 이로 인한 ARP poisoning을 방지하기 위해서는, 스위치에서 유효한 ARP request/reply만 릴레이 되도록 해야 함
  • DAI는 DHCP 스누핑을 필요로 하며, 다음과 같은 동작을 통해 ARP 공격을 방어하는데 도움이 됨
  • 유효하지 않거나 자발적 ARP requests를 동일한 VLAN의 다른 포트로 릴레이 하지 않음
  • 신뢰할 수 없는 포트의 모든 ARP requests를 동일한 VLAN의 다른 포트로 릴레이 하지 않음
  • 신뢰할 수 없는 포트의 모든 ARP 요청/응답을 인터셉트
  • 인터셉트한 각 패킷에 대한 IP-MAC 바인딩 유효성 확인
  • 유효하지 않은 소스로부터의 ARP 요청을 드롭 및 로깅 함으로써 ARP Poisoning 방지
  • 구성된 DAI ARP 패킷 수를 초과하는 경우 인터페이스를 오류-비활성화(error-disabled)

STP 공격 완화

  • PortFast
    • Listen 및 Learning 상태를 우회하여 포트를 blocking 상태에서 forwarding 상태로 즉시 전환
    • 사용자 액세스 포트에만 적용(스위치 간 링크의 PortFast는 스패닝 트리 루프를 생성할 수 있음)
    • Switch(config-if)#spanning-tree portfast
    • Switch(config)#spanning-tree portfast default(모든 액세스 포트에 대한 PortFast 활성화)
  • BPDU Guard
    • BPDU Guard는 BPDU를 수신하는 포트를 즉시 오류-비활성화(error-disabled)
    • PortFast와 마찬가지로 최종 사용자 장치에 연결된 인터페이스에만 구성
    • Switch(config-if)#spanning-tree bpduguard enable
    • Switch(config)#spanning-tree portfast bpduguard default(모든 액세스 포트에 대한 BPDU Guard 활성화)

ACL(Access Control Lists)

개요

ACL이란

  • 패킷 헤더 정보 기반의 패킷 필터링에 사용되는 일련의 IOS 명령
  • 인터페이스에 ACL을 적용하여 인터페이스를 통과하는 패킷의 전달 여부를 결정
  • **ACE(Access Control Entries)**라고 하는 허용(permit) 또는 거부(deny) 명령문의 순차적 목록
  • 라우터에 의해 수행되는 몇몇 작업에는 ACL을 이용한 트래픽 식별이 필요
    • 네트워크 트래픽 제한으로 네트워크 성능 향상
    • 트래픽 흐름 제어 제공
    • 네트워크 접속을 위한 기본 수준의 보안 제공
    • 트래픽 유형에 따른 트래픽 필터링
    • 네트워크 서비스에 대한 호스트 액세스 허용 또는 거부
    • 특정 네트워크 트래픽 클래스에 대한 우선 순위 제공

패킷 필터링

  • 송수신 패킷을 분석하고 주어진 기준에 따라 전달 또는 폐기하여 네트워크에 대한 접속을 제어
  • Layer 3 또는 4에 적용 가능
  • ACL 패킷 필터링 유형
    • 표준 ACL - 출발지 IPv4 주소만 사용하여 Layer 3 트래픽 필터링
    • 확장 ACL - 출발지 및/또는 목적지 IPv4 주소를 사용한 Layer 3 트래픽 필터링이 가능, 보다 세밀한 제어를 위해 TCP/UDP 포트와 프로토콜 유형 정보를 선택적으로 사용하여 Layer 4와 애플리케이션에 대한 필터링 가능

ACL 동작

  • 라우터의 인바운드 인터페이스로 들어오는 패킷, 라우터를 통해 릴레이 되는 패킷, 라우터의 아웃바운드 인터페이스에서 나가는 패킷에 대한 추가적인 제어를 하는 규칙들의 집합을 정의
  • 인바운드 트래픽과 아웃바운드 트래픽에 적용하도록 ACL 구성 가능(ACL은 라우터 자체에서 발생한 패킷에는 적용 불가)
  • 인바운드 ACL은 패킷이 아웃바운드 인터페이스로 라우팅 되기 전에 패킷을 필터링
  • 인바운드 ACL은 패킷 폐기의 경우 라우팅 룩업을 하지 않으므로 오버헤드 감소
  • 아웃바운드 ACL은 인바운드 인터페이스에 관계없이 라우팅을 한 후 패킷 필터링 수행

  • 인터페이스에 ACL을 적용할 때는 특정 운영 절차를 따라야 함
  • 인바운드 표준 IPv4 ACL이 구성된 라우터 인터페이스에서의 단계별 동작
    1. 패킷 헤더에서 출발지 IPv4 주소 추출
    2. 첫 번째 ACL로부터 시작해 출발지 IPv4 주소를 각각의 ACE와 순차적으로 비교
    3. 일치하는 항목이 있으면, 해당 명령을 수행하여 패킷을 허용 또는 거부, ACL의 나머지 ACE(있는 경우)는 검토X
    4. ACL의 어떠한 ACE와도 일치하지 않는다면 해당 패킷은 무조건 폐기
  • ACL의 마지막은 모든 트래픽을 차단하는 암시적 거부(implicit deny) ACE가 항상 존재
    • 구성 파일에 표시되지 않으며 숨겨져 있음 → 모든 ACL에는 최소한 하나 이상의 허용 명령문이 있어야 함(그렇지 않으면, 암시적 거부 ACE 문장으로 인해 모든 트래픽이 거부됨)

ACL 와일드카드 마스크

  • ANDing 프로세스를 사용하여 IPv4 주소에서 일치하는 비트 확인
  • IPv4 ACE는 32-비트 와일드카드 마스크를 다음 규칙을 사용하여 정보 일치 여부 확인
    • 와일드카드 마스크 비트 0 - 주소의 해당 비트 값을 확인
    • 와일드카드 마스크 비트 1 - 주소의 해당 비트 값을 무시
    • ex1. access-list 10 permit 192.168.1.0 0.0.0.255 (192.168.1.0 /24)
    • ex2. access-list 20 permit 192.168.16.0 0.0.15.255 (192.168.16.0 /24 ~ 192.168.31.0 /24)
  • 와일드카드 마스킹 키워드
    • host - 단 하나의 호스트 주소만을 필터링 하기 위해 32비트 주소 전체가 일치해야 함을 명시(0.0.0.0 와일드카드 마스크를 대체)
    • any - IPv4 주소 전체를 무시 → 모든 주소를 허용함을 명시(255.255.255.255 와일드카드 마스크를 대체)

ACL 생성 지침

  • 인터페이스 당 ACL 수: 라우터 인터페이스에 적용할 수 있는 ACL의 수는 제한됨
  • 인바운드 및 아웃바운드 IPv4 ACL 각각 1개
  • 인바운드 및 아웃바운드 IPv6 ACL 각각 1개
  • ACL 모범 사례

번호를 지정한(numbered) ACL

  • 표준 ACL: 번호가 1-99 또는 1300-1999인 ACL

  • 확장 ACL: 번호가 100-199 또는 2000-2699인 ACL

이름을 지정한(named) ACL

  • ACL 구성 시 이름을 지정한 ACL 사용을 권장(ACL의 목적 또는 용도 확인이 용이함)

ACL 배치 위치

  • 모든 ACL은 효율성 측면에서 가장 좋은 곳에 배치해야 함
  • 표준 ACL: 목적지에 가능한 가까운 곳
  • 확장 ACL: 출발지에 가능한 가까운 곳

→ 192.168.10.0 네트워크로부터 오는 트래픽을 PC3로 오지 못하게 막아야 함

→ 표준 ACL: R3의 좌측 포트에 설정 → 표준 ACL은 출발 주소를 기준으로 필터링 → 초반 부분에 설정하면 과도하게 많은 트래픽 필터링 가능

→ 확장 ACL: R1의 좌측 포트에 설정 → 출발 주소 이외에도 세밀한 조건을 바탕으로 필터링 가능 → 초반부 불필요한 트래픽 차단 가능

구성

표준 IPv4 ACL 구성

  • 번호를 지정한 표준 ACL 구문: access-list 명령 사용

  • 이름을 지정한 표준 ACL 구문: ip access-list standard 명령 사용
    • ACL 이름은 영문 숫자로 대소문자를 구분하며 고유해야 함
    • 대문자로 구성 시 running-config 출력에서 확인 용이

표준 IPv4 ACL 적용

  • 표준 IPv4 ACL 구성 후에는 인터페이스에 연결해야 함: ip access-group 명령 사용

표준 IPv4 ACL 구성 확인

  • show running-config, show ip interface, show access-lists 명령 사용

표준 IPv4 ACL을 사용한 VTY 포트 보안 구성

  • ACL을 생성하여 원격 액세스를 허용해야 하는 관리용 호스트를 식별
  • vty 라인의 수신 트래픽에 ACL을 적용

확장 IPv4 ACL 구성

  • Numbered Extended ACL: access-list access-list-number
  • Named Extended ACL: ip access-list extended access-list-name
  • 프로토콜 및 포트 번호 구성 예제

  • SSH(포트 번호 22) 또는 HTTPS(포트 번호 443)와 같이 특정 프로토콜 이름이 목록에 없는 경우 포트 번호로 구성

번호를 지정한 확장 IPv4 ACL 적용

  • 192.168.10.1 네트워크로부터의 HTTP 및 HTTPS 트래픽 모두 허용
  • 확장 ACL은 다양한 위치에 적용 가능하나, 일반적으로 출발지 가까이 적용
  • 아래 예에서, ACL 110은 R1 G0/0/0 인터페이스에 인바운드 방향으로 적용

TCP Established 확장 ACL

  • TCP established 키워드를 사용하여 기본적인 상태 저장 방화벽 서비스 지원 가능
  • established: 내부 트래픽이 내부 프라이빗 네트워크를 빠져나갈 수 있게 하고 반환되는 응답 트래픽이 내부 프라이빗 네트워크로 들어오도록 허용
  • 외부 호스트에서 생성되어 내부 호스트와 통신하려는 TCP 트래픽은 거부

→ PC1에서 생성된 TCP Request, 이에 대한 응답인 TCP Reply만 허용, 이를 제외한 외부의 Request는 차단

TCP Established 확장 ACL 예제

  • ACL 120은 내부 호스트로의 웹 트래픽 응답만 허용하도록 구성
  • R1 G0/0/0 인터페이스의 아웃바운드 방향으로 적용

이름을 지정한 확장 IPv4 ACL

  • ip access-list extended 명령 구문 사용

  • 시나리오
    • SURFING - 내부 HTTP 및 HTTPS 트래픽이 인터넷으로 나가는 것을 허용
    • BROWSING - R1 G0/0/0 인터페이스를 통해 내부 호스트로 되돌아 오는 웹 트래픽만 허용, 다른 모든 트래픽은 암묵적으로 거부

  • 확장 IPv4 ACL 통계 정보 확인
    • SURFING ACL의 HTTPS 허용 카운터(ex. eq 443)와 BROWSING ACL의 반환 카운터(ex. established)가 증가했음을 확인 가능

728x90
반응형