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 공격 완화
- switchport mode access 명령으로 트렁킹이 아닌 포트에서 DTP(자동 트렁킹) 협상을 비활성화
- 사용하지 않는 포트를 비활성화하고 사용하지 않는 VLAN에 할당
- switchport mode trunk 명령으로 트렁킹 포트에 대한 트렁크 링크를 수동으로 활성화
- switchport nonegotiate 명령으로 트렁킹 포트에 대한 DTP 협상을 비활성화
- switchport trunk native vlan vlan_number 명령으로 네이티브 VLAN을 VLAN 1이 아닌 다른 VLAN으로 설정

DHCP 공격 완화: DHCP Snooping
- DHCP 메시지를 필터링하고 신뢰할 수 없는 포트의 DHCP 트래픽 속도를 제한
- ip dhcp snooping 전역 설정 모드 명령으로 DHCP 스누핑 활성화
- 신뢰할 수 있는 포트에 ip dhcp snooping trust 명령 사용
- 신뢰할 수 없는 포트에 ip dhcp snooping limit rate packet-per-second 명령으로 수신할 수 있는 DHCP Discovery 메시지 수 제한
- 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이 구성된 라우터 인터페이스에서의 단계별 동작
- 패킷 헤더에서 출발지 IPv4 주소 추출
- 첫 번째 ACL로부터 시작해 출발지 IPv4 주소를 각각의 ACE와 순차적으로 비교
- 일치하는 항목이 있으면, 해당 명령을 수행하여 패킷을 허용 또는 거부, ACL의 나머지 ACE(있는 경우)는 검토X
- 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
반응형
'Computer Science > Computer Network' 카테고리의 다른 글
| [컴퓨터네트워크] 14주차: WAN 개념, VPN, NAT (0) | 2026.02.12 |
|---|---|
| [컴퓨터네트워크] 13주차: 무선 LAN (0) | 2026.02.12 |
| [컴퓨터네트워크] 11주차: 리던던트 네트워크, STP 개념, 이더채널, FHRP (0) | 2026.02.11 |
| [컴퓨터네트워크] 10주차: VLAN 활용, VLAN 트렁크, DTP, Inter-VLAN 라우팅 (0) | 2026.02.11 |
| [컴퓨터네트워크] 9주차: 2계층 스위치, 스위칭 개념, VLAN 개념 (0) | 2026.02.10 |