## 개요 **네트워크 접속 통제 시스템**. Who, When, Where, How 네트워크에 접속할 수 있는지 네트워크에 접근을 통제하는 시스템이다. 단순 허용/거부가 아니라 해당 네트워크에 접속하기 위한 특정 조건을 만족하는 경우에만 접속을 허용하는 통제 시스템. #### - 왜 필요해졌을까? 1. 회사 네트워크 = 신뢰하는 내부망 2. 외부 인터넷 = 불신하는 외부망 과거 네트워크 보안은 위와 같이 명확한 이분법에 기반하여 "내부망은 기본적으로 신뢰한다"는 Perimeter Security Model (경계선 보안)이 사용되었다. 하지만 이 모델은 점점 깨지기 시작했는데 * BYOD, 개인 장비 사용 * 직원이 외부에서 회사 네트워크에 접근 * 내부 직원의 악의적 행위 * 다양한 IoT 기기들의 사용 증가 * 클라우드와 SaaS 사용 확산 이로 인해 네트워크의 "이분법적인 경계선"은 흐려졌고 내부를 신뢰할 수 없는 상황이 발생했다. 이에 따라 등장한 해결책 중 하나가 "NAC (Network Access Control)"이다. #### - NAC 큰 작동 흐름 * **Authentication**: 단말기의 ID, MAC 주소, 인증서 등을 확인 * **Authorization**: 접속 허용 여부, VLAN 분리 여부, 리소스 접근 범위 결정 등 * **Accounting**: 접속 기록을 남김. 감사 #### - NAC의 구성요소 * **Supplicant** (요청자): 네트워크에 접속하려는 디바이스 * **Authenticator** (중간자): 접속 요청을 받아서 검증 서버로 넘기는 장비 (스위치, 무선 AP) * **Authentication Server** (검증자): 접속 여부를 판단하는 서버 (RADIUS 서버, Cisco ISE) 1. Supplicant가 네트워크에 접속을 시도 2. Autenticator가 요청을 받고 Autentication Server로 전달 3. Authentication Server가 조건을 평가하고 승인/거부 결정 #### - NAC 구현 방식 * Agent-based: 디바이스에 NAC 클라이언트 설치 * Agent-less: 브라우저 인증, MAC 인증 등 * In line vs Out of band 방식 >[!note] Firewall과 차이점 >동일한 서브넷에 존재하는 두 PC간에 이루어지는 통신에 대해서 Firewall은 제어하지 못하지만 NAC은 제어할 수 있다. *** ## NAC의 핵심 제어 1. **사전 접근 제어 (Pre-Admission Control)**: 디바이스가 네트워크에 연결되기 전에 보안 정책을 검증한다. 2. **사후 접근 제어 (Post-Admission Control)**: 디바이스가 네트워크에 이미 연결된 상태에서 활동하는 것을 모니터링하고 제어한다. 악성 코드 감염, 비인가 스캐닝, 데이터 유출 시도 등 ### 1) 사전 접근 제어 (Pre-Admission Control) 사용자가 물리적으로 케이블을 연결 혹은 무선 접속을 시도할 때 1. 스위치/AP가 사용자에게 802.1X, MAB, WebAuth 등을 통해 인증을 요구 * OSI 모델 상 Network Access(L1-L2) 계층 쪽에서 이루어진다 2. 사용자는 EAP-PEAP, EAP-TLS 등 방법으로 사용자 인증과 장비 인증을 한다 3. Authentication Server (ex: RADIUS 서버)가 요청을 평가한다. 4. Authentication Server가 통과/격리/차단 등을 결정한다 5. 접속 후에도 상태를 모니터링하거나, 필요하면 CoA(Change of Authorization) 명령어로 권한을 바꾼다. #### - 검증 정보 단순 ID/PW만 보는 것이 아니다. * 사용자 ID: Active Directory, [[LDAP (Lightweight Directory Access Protocol)|LADP]] 연동 * MAC 주소: [[MAB (MAC Authentication Bypass)|MAB]]를 통한 MAC 인증 * 디바이스 상태: OS 버전, 안티바이러스 설치 여부 등 * 해당 장비가 안전한지 판단하기 위해서 [[Posture Assessment|Endpoint Posture Assessment]] 를 실행 * 네트워크 위치: 사내 LAN, Guest VLAN, VPN * 시간 조건: 일정 허용 시간 접속 가능 이 모든 것을 종합해서 "정책"으로 만든다 #### - 정책 예시 * 회사 노트북 + 최신 OS + 안티바이러스 설치 → Full Access * 개인 스마트폰 + VPN 접속 → 제한된 VLAN 이동 * MAC 주소 등록되지 않은 IoT → Guest VLAN, 인터넷만 허용 명시된 정책에 따라서 인증 결과가 달라지고 이에 따른 네트워크 접근 권한이 결정되며 자동화 된다. ### 2) 사후 접근 제어 (Post-Admission Control) 각 계층의 네트워크 장비 스스로 감시와 동시에 NAC 서버에 연계된다. 이상 행위(포트 스캔, 데이터 유출 등)가 감지되면 RADIUS CoA(Change of Authorization)로 제재 한다. #### - 대상과 주체 * 실시간 트래픽 (L2 - L7): 네트워크 장비 (스위치, WLC) + NAC Server * 정책 위반 탐지: NAC Server * 세션 모니터링: 인증서버 (RADIUS, TACACS+) * (고급) 트래픽 심층 분석: 별도 시스템 연계 (EDR, NDR, XDR, SIEM) #### - 감시 대상 세부 설명 ##### (1) 악성 코드 감염 (Malware Infection) **신호** * 비정상적인 트래픽 생성 (예: 짧은 주기의 외부 접속 반복) * 이상한 C2 서버로의 통신 (C2 = Command & Control 서버) * HTTP/S 트래픽 패턴이 평소와 다름 * DNS 요청 패턴이 평소와 다름 (도메인 생성 알고리즘 DGA 의심) **감지 방법** * NDR (Network Detection and Response) * 네트워크 흐름을 분석해 이상 패턴 감지 * DNS 모니터링 * 수상한 도메인 요청 감지 * Threat Intelligence 연계 * 알려진 악성 IP/도메인 블록 리스트와 대조 * Firewall/IPS * 알려진 서명 기반 악성 패턴 탐지 ##### (2) 비인가 스캐닝 (Unauthorized Scanning) **신호** * 짧은 시간 안에 많은 포트/호스트를 스캔하려는 트래픽 패턴 * SYN 패킷(연결 시도)만 연달아 날리는 비정상적인 TCP 세션 생성 * ICMP Echo Request(핑) 폭탄 **감지 방법** * IPS (Intrusion Prevention System) * 포트 스캔 시그니처 탐지 * NDR * 비정상적인 커넥션 시도 빈도 분석 * 스위치/라우터 플로우 통계 * NetFlow/sFlow를 통해 짧은 시간 다수 대상 트래픽 탐지 ##### (3) 데이터 유출 시도 (Data Exfiltration Attempt) **신호** * 한 세션/단일 사용자가 평소보다 큰 데이터를 외부로 전송 * 암호화되지 않은 프로토콜을 통한 민감 정보 전송 * 평소 접속하지 않던 외부 IP로 데이터 전송 **감지 방법** * DLP (Data Loss Prevention) * 민감한 데이터(예: 개인정보, 금융 정보) 패턴 탐지 * NDR * 평소보다 높은 트래픽량이나, 비정상적인 트래픽 목적지 감지 * Proxy * HTTP/S 데이터 업로드 감시 * TLS Fingerprinting * 비정상적인 암호화 트래픽 시도 탐지 #### - 감시 주체 세부 설명 1. 스위치나 무선 컨트롤러 (Authenticator)가 * 802.1X 인증 성공 후 사용자의 세션을 계속 모니터링한다. 2. RADIUS 서버는 * RADIUS Accounting 기능을 통해 사용자의 세션 지속 정보를 받아본다.(예: 언제 로그인했는지, 얼마나 트래픽을 썼는지, 세션 중간 상태가 어떤지) 3. NAC Server (정책 엔진)는 * 특정 조건 (예: 포트 스캔 탐지, 비인가 서버 오픈, 대량 데이터 전송 등)이 발생하면, 자동으로 VLAN 이동 (격리 VLAN으로 전환) 혹은 접근 차단을 지시할 수 있다. * ※ NAC Server는 기본적으로 직접 트래픽을 캡처하거나 DPI를 하지 않는다. NAC Server은 정책적 Action만 하는 경우가 대부분이다. **==Event Reactor==** 4. 고급형 구성일 경우 * 별도 NDR (Network Detection and Response) 솔루션이 L7 트래픽까지 심층 분석하고, NAC과 연동해 추가 조치한다. #### - 제재 방식 1. 인증 세션 기반 2. VLAN 조작 3. ACL 조작 *** ## 표준 NAC과 경량 NAC 지금까지는 표준적인 NAC의 설명이었다. 비교적 가볍게 만들어진 NAC도 있다. 표준 NAC과 경량 NAC의 차이는 정교한 디바이스 인증 과정과 모니터링 범위이다. *** ## 경량 NAC의 핵심 제어 ### 1) 사전 접근 제어 (Pre-Admission Control) 네트워크에 처음 접속 시, 1. Probe가 해당 장비의 DHCP 요청(Option 필드)을 확인하거나 ARP 트래픽을 감지해서 MAC 주소 기반으로 식별한다. 2. MAC OUI를 이용해 벤더(제조사) 정도는 추정할 수 있다. 3. 장비가 위험군(예: 알려진 IoT 장비, 검증되지 않은 벤더)으로 판별되면 차단하거나 격리한다. 아주 기본적인 MAC+DHCP 분석에 의존하여 식별한다 #### - 검증 정보 Prob, 센서역할을 수행하는 소프트웨어/장비를 사용한다 * 사용자 ID * MAC 주소: [[MAB (MAC Authentication Bypass)|MAB]]를 통한 MAC 인증 * 디바이스 기본 정보: OS 버전 등 ### 2) 사후 접근 제어 (Post-Admission Control) Probe가 인스펙터로서 감시 역할을 수행한다. 트래픽을 캡처하거나 미러링해서 비정상적인 MAC/IP 활동을 감지하고 규칙에 어긋나면 제재한다. 1. Probe는 계속 트래픽을 가로채서(Frame, Packet) 모니터링한다. 2. MAC 주소가 다른 스위치 포트로 이동하면 알람 발생 (예: MAC 플래핑 감지) 3. IP 주소가 불법적으로 변조되거나(Static IP 변조), VLAN이 변하면 감지한다. 4. 포트 스캔 등 기본적인 공격성 흐름도 간단히 패턴 매칭할 수 있다. * Layer 2 (Frame): MAC 주소, VLAN 이동 감지 * Layer 3 (Packet): IP 패턴, 기본 트래픽 플로우 감지 #### - 제재 방식 1. L2 인터페이스를 다운시킴 (Disable) 2. (무식한 방법, 잘 안씀) ARP Spoofing 공격해서 GW 사용을 제대로 못하게 함. Default Gateway를 속여버렸다. 3. (잘 쓰는 것) HTTP Redirect 4. DHCP Proxy: DHCP Offer를 조작해 "통제용 Proxy"를 기본 게이트웨이로 알려줬다. *** ## 표준과 경량을 비유적으로 이해하기 * 경량 NAC * **Pre-Admission**: 마을 입구에 선 작은 초소가 자동차 번호판(MAC, IP)만 보고 감시하고 들여보내준다 * **Post-Admission**: 차가 의심스러우면 그 차를 통제를 한다 (ARP, DHCP 조작) * 표준 NAC * **Pre-Admission**: 금 보관소 검색대 (RADIUS, TACACS+)와 경찰서(기간계) 연계. 입장할 때 신분증 + 짐검사(L2-L3) * **Post-Admission**: 안에 들어온 후에도 지속적인 짐검사(L2-L3), CCTV 감시, 통화기록 분석(L7)까지 진행하며, 필요하면 경찰이 개입하는 구조. *** ## NAC와 연관지어서... #### - NAC 서버와 NGFW의 세션 연계 *** ## NAC의 취약점 * MAC Spoofing * MAC 주소를 알면 보안성 약화 * [[Dynamic ARP Inspection]] * [[DHCP Snooping]] * [[IP Source Guard]] * [[Port Security]] *** ## 관련 개념 * [[802.1x]]: 사용자/디바이스 레벨 인증 ([[EAP]] 기반) * [[MAB (MAC Authentication Bypass)]]: 802.1x 불가한 장비용 대체 인증 * [[WebAuth]]: 웹 포털 통한 인증 (게스트 사용자요) * [[Posture Assessment]]: 단말기 상태 검사 * [[Dynamic VLAN Assignment]] 인증 결과에 따라 VLAN 자동 변경 * [[CoA (Change of Authorization)]] 연결 상태 중에도 권한을 바꾸는 기술