## 개요
**네트워크 접속 통제 시스템**. 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)]] 연결 상태 중에도 권한을 바꾸는 기술