PacketFence Administration Guide 2.2.0의 Technical introduction to VLAN mode 장에 있는 내용을 옮김.
VLAN 할당 기법
Port-security와 SNMP 조합
이 방식은 port-security SNMP 트랩을 이용한다. 모든 스위치 포트에 존재하지 않는 MAC 주소를 할당해놓으면 보안 위반이 발생하면서 자동으로 PacketFence에게 트랩이 전송된다. 시스템은 MAC을 인증한 후에 해당 포트를 적합한 VLAN으로 설정한다.
Wired: 802.1X + MAC 인증
802.1X는 suppliant와 authenticator (NAS), 그리고 인증 서버 (AAA) 사이의 상호작용을 통한 포트 기반의 인증을 제공한다. 이 때 보통 supplicant는 랩탑과 같은 클라이언트 디바이스 의 소프트웨어이고, authenticator는 이더넷 스위치나 무선 액세스 포인트, 인증 서버는 일반적으로 RADIUS 서버이다.
supplicant는 그 자신의 신원이 인가되기 전까지는 네트워크 사용이 불가능하다. 802.1X 포트 기반의 인증을 이용하면 supplicant는 사용자 이름과 패스워드 혹은 인증서와 같은 자격증명을 authenticator에게 제공하고, authenticator는 이를 인증 서버에 전달하여 인증을 수행한다. 만약 자격증명이 유효하면 supplicant는 네트워크를 사용할 수 있다. 이 인증 프로토콜은 EAP라 불리는데, 많은 변종 프로토콜이 존재한다. supplicant와 인증 서버는 동일한 EAP 프로토콜을 사용해야 하는데, 가장 많이 사용되는 EAP 프로토콜은 PEAP-MsCHAPv2이다 (윈도우/맥 OSX/리눅스에서 모두 AD 연동이 지원된다.)
PacketFence 서버에서는 FreeRADIUS 서버가 동작하고 있는데, 이 서버가 적합한 VLAN을 스위치에게 반환해준다. FreeRADIUS에 연동되는 모듈이 PacketFence 서버로 원격 호출을 해서 정보를 얻어간다. 날이 갈수록 많은 장치들이 802.1X supplicant를 지원하고 있기 때문에 이 방식이 시간이 지날수록 널리 사용되고 있다.
MAC 인증은 802.1X supplicant가 존재하지 않는 경우를 처리할 목적으로 일부 스위치 벤더에서 소개한 새로운 방식이다. 벤더마다 이 기능을 서로 달리 부른다. 시스코는 MAC Authentication Bypass (MAB), 주니퍼는 MAC RADIUS, Extreme Networks는 Netlogin 등으로 부른다. 타임아웃 시간이 지나면 스위치는 802.1X 시도를 중단하고 MAC 인증으로 전환한다. MAC 인증은 사용자 이름 대신에 MAC 주소를 사용한다는 점과 단말 간의 EAP 통신이 없다는 점을 제외하면 802.1X와 동일하다. MAC 인증을 사용하면 네트워크 프린터나 802.1X을 지원하지 않는 IP 전화와 같은 장치들도 제대로 된 VLAN을 할당 받아 네트워크를 사용할 수 있다.
Wireless: 802.1X + MAC 인증
Wireless 802.1X는 wired 802.1X + MAC 인증과 마찬가지로 동작한다. 다른 점이 있다면 MAC 인증을 수행할 때 암호화된 통신(WPA2-Enterprise)을 하기 위해 보안 키를 설정할 필요가 있다는 것이다.
무선 네트워크에서 PacketFence를 설정할 때는 보통 두 개의 SSID를 지정한다. 하나는 공개용, 하나는 내부용이다. 공개용은 Captive Portal을 통해 인증을 하게 만들고 사용자가 내부용 SSID를 설정하는 방법을 알려준다.
SNMP 트랩 기반의 VLAN 격리 방식
모든 스위치 포트에 SNMP 트랩을 걸어놓고 VLAN 격리를 동작시킬 때에는 반드시 SNMP 트랩이 PacketFence 호스트로 전달되도록 설정해야 한다. PacketFence에서는 snmptrapd를 사용하여 SNMP 트랩을 수신한다. PacketFence는 트랩을 수신하여 다시 포맷팅한 다음에 /usr/local/pf/logs/snmptrapd.log 파일에 기록한다. 멀티스레딩 되는 pfsetvlan 데몬은 이 트랩을 읽어서 스위치 포트에 적절한 VLAN을 설정한다. PacketFence는 현재 시스코, Edge-core, HP, 인텔, Linksys, Nortel 스위치를 지원한다. 스위치의 기능에 따라 pfsetvlan은 다른 종류의 SNMP 트랩에 반응한다.
여러분은 PacketFence가 등록되지 않은 장치를 집어넣을 등록용 VLAN을 생성해야 하고 (DHCP 서버 필요) 여러분이 만약 정책을 위반한 컴퓨터를 특정 VLAN에 격리해놓고 싶다면 격리용 VLAN도 만들어야 한다.
Link up/Link down 트랩
가장 흔하게 지원되는 방식이고, MAC 탐지용 VLAN이 하나 더 필요하다. 이 VLAN에는 아무 것도 없어야 하고 (DHCP 서버도 없어야 함) 다른 곳으로의 라우팅도 없다. 그냥 비어있는 VLAN이다.
호스트가 스위치 포트로 접속하게 되면, 스위치는 linkUp 트랩을 PacketFence에 전송한다. 스위치가 새로 접속한 장치의 MAC 주소를 학습하는데는 시간이 좀 걸리기 때문에, PacketFence는 이 포트를 MAC 탐지 VLAN에 집어넣고 장치가 DHCP 요청을 보내기를 기다려 스위치가 MAC을 학습하게 만든다. (당연히 이 때는 DHCP 요청에 응답을 못한다.) 그런 다음 pfsetvlan이 스위치가 MAC 주소를 알아냈을 때까지 일정한 주기로 SNMP 쿼리를 스위치로 보내어 MAC 주소 획득을 시도한다. MAC 주소를 확보하면, pfsetvlan은 상태를 체크하고 (등록 여부, 정책 위반 여부 등) 해당 포트를 적절한 VLAN으로 할당한다. 장치 연결이 뽑히면 스위치는 linkDown 트랩을 PacketFence에 보내고 포트를 MAC 탐지용 VLAN에 다시 집어넣는다.
컴퓨터가 부팅할 때 NIC 초기화가 진행되면서 몇 번의 링크 상태 변화가 일어나는데, 이 때마다 스위치가 linkUp과 linkDown 트랩을 PacketFence에게 보내게 된다. PacketFence는 이 때마다 트랩에 반응해야 하기 때문에 불필요하게 pfsetvlan에 부하가 발생한다. 이러한 상황에 대비하도록 PacketFence는 linkUp을 받아 만들어진 모든 스레드는 같은 포트에 대응하는 linkDown 트랩을 받을 때 바로 정지하도록 구현되어 있다. 하지만 linkUp/linkDown 트랩만을 사용하는 것은 확장성이 좋지 못하다. 가령 정전이 발생하는 경우 수백 대의 컴퓨터가 동시에 부팅하게 될텐데, PacketFence가 많은 트랩을 일시적으로 받게 되면서 네트워크 접속에 지연을 야기할 수 있다.
MAC 통지 트랩 (notification)
여러분의 스위치가 MAC 통지 트랩 (MAC learnt, MAC removed)을 지원하는 경우, linkUp/linkDown 트랩 외에도 이를 활성화 시키기를 권장한다. 이를 이용하면 pfsetvlan이 linkUp 트랩을 받았을 때 스위치에 계속해서 MAC을 쿼리할 필요가 없어진다. MAC 탐지용 VLAN에 집어넣기만 하고 스레드를 해제할 수 있다. 스위치가 장치의 MAC 주소를 학습하게 되면 MAC learnt 트랩을 PacketFence에게 전송한다.
Port Security 트랩
Port Security는 스위치 포트에 연결된 MAC 주소를 기억하고 있다가 해당 포트에는 그 MAC 주소만 통신할 수 있도록 허용하는 기능이다. 만약 해당 포트를 통해 다른 MAC 주소로 통신하려고 시도한다면 Port Security는 이를 허용하지 않고 Port Security 트랩을 전송한다.
여러분의 스위치가 이 기능을 지원한다면, linkUp/linkDown과 MAC 통지보다는 이 기능을 사용하는 것을 강력하게 권장한다. 왜냐하면 해당 포트에 인가된 MAC 주소로 접속되어 있는 한, 장치가 리부팅을 하든 연결을 하든 뽑든 아무런 트랩이 발생하지 않기 때문이다. 따라서 매우 큰 폭으로 스위치와 PacketFence 간에 필요한 SNMP 패킷이 줄어들게 된다.
이 기능을 사용하는 경우에는 linkUp/linkDown이나 MAC 통지 트랩 모두 비활성화해야 한다.
PacketFence의 FreeRADIUS 모듈 응답
EAP 요청에서 참조하는 속성
Calling-Station-Id
Client-IP-Address
User-Name
EAP-Type
RADIUS 응답에 추가되는 속성
Tunnel-Medium-Type: 6
Tunnel-Type: 13
Tunnel-Private-Group-ID: VLAN ID
관련 링크






최근 덧글