안녕하세요.
오피스 SDN 구성을 위한 효율적인 Network 인증 2번째 포스트로 MAC Address를 이용한 인증 구성에 대해 알아 보겠습니다.
MAC Address를 통한 인증은 MAB (MAC Authentication Bypass) 방식 입니다.
이 MAB 방식의 인증은 다음의 장점을 가지고 있습니다.
- 사용자 입장에서 별도의 인증을 위한 추가 작업이 필요 없음.
- MAC Address를 기반으로 인증을 수행 하므로 단말의 식별 가능.
- SDN 인증을 위한 별도의 DB가 마련 되지 않은 환경에서 가장 쉽게 DB 구성 가능.
- MAC Address의 등록 및 삭제가 단순함.
하지만 MAB 방식의 단점 또한 존재 합니다.
- 사용자 식별 불가능.
- MAC Address 위조에 대해 취약.
이 중 장점인 “사용자 입장에서 별도의 인증을 위한 추가 작업이 필요 없음” + “SDN 인증을 위한 별도의 DB가 마련 되지 않은 환경에서 가장 쉽게 DB 구성 가능” 두가지 측면에서 많이 선택 되는 방식 입니다. 그 이유는 아래의 Flow를 보며 이해 할 수 있습니다.

단말에서 별도의 인증을 위한 값의 입력 혹은 절차를 진행 하지 않더라도, 스위치 혹은 네트워크 장비는 단말이 생성한 패켓에서 단말의 MAC Address를 확인 하고 인증서버에게 해당 MAC의 권한에 대해 질의 합니다.
이 요청을 수신한 인증서버는 내부 혹은 외부의 DB를 조회 하여 해당 MAC 이 사용할 VLAN 정보를 전달 하게 됩니다.

MAB 동작을 위해서는 그룹화 된 MAC Address 기반의 DB 가 필요 합니다. 별도의 DB가 존재 하지 않는 경우 인증서버 내부에 DB를 생성 하여 사용 합니다.
하지만, SDN 이 아닌 전통적인 네트워크 환경에서도 네트워크의 단말을 제어 하기 위해 MAC Address 기반의 통제를 수행 하는 시스템이 이미 존재 했습니다.
바로 국내 개발사들이 개발한 NAC (Network Access Control) 시스템 입니다. 이 국내 NAC 시스템은 해외에서 사용 되는 NAC 시스템과는 다르게 연결 된 단말의 MAC Address를 학습하고 MAC Address 기반의 허용 차단 정책을 수행 하도록 설계 되어 있습니다. 이 시스템은 네트워크 동작에 필수적인 ARP (Address Resolution Protocol)의 수집 및 제어를 통해 동작 합니다.
MAC Address를 기반으로 동작하는 인증 시스템이라는 측면에서 SDN의 MAB와 국산 NAC 시스템은 유사해 보이지만, 기본 프로토콜의 차이 SDN 인증 (Radius), 국산 MAC (ARP)로 인해 SDN 도입 초반기에는 두 가지 시스템을 개별적으로 사용 해야 했습니다.
이는 구조적인 차이는 SDN 도입 과정에서 두 시스템이 개별적으로 동작해야 하는 상황이 되었고, 이에 따라 운영상 몇가지 불편한 지점이 발생 했습니다.
- 인증서버와 국산 NAC 두 곳의 DB 관리.
- 각 시스템의 정책이 상반 될 경우 단말의 네트워크 접속이 허용 되지 않음.
- 각 시스템의 DB의 정책 동기화 어려움.
이를 개선 하기 위해 SDN 인증서버가 별도의 DB를 스스로 생성하지 않고 국산 NAC 솔루션의 DB를 활용 하는 방안을 협의하여 테스트를 진행 했습니다.
이 테스트에는 Cisco의 인증서버인 ISE와 국산 NAC 솔루션인 Genians의 NAC이 사용 되었습니다.
다음의 순서로 테스트가 진행 되었습니다.
[등록 된 단말의 경우]
- 네트워크 장비는 단말의 패켓을 확인 하여 단말의 MAC Address를 기반으로 한 Radius 패켓을 인증서버에게 전달 한다.
- 인증서버는 해당 패켓을 다시 Genians 에게 전달 한다.
- Genians 는 내부의 DB를 확인 하여 해당 단말의 Group 정보를 인증서버에게 회신 한다.
- 인증서버는 Genians 를 통해 회신 받은 정보를 바탕으로 인증서버 정책을 생성 하여 Switch에게 VLAN을 회신 한다.

[미등록 (신규) 단말의 경우]
- 미등록 단말의 인증 요청에 대해 NAC은 미등록 단말임을 인증서버에 회신 합니다.
- 인증서버는 해당 단말을 NAC의 단말 등록 페이지로 유도하는 정책을 스위치에 전달 합니다. (URL redirection)
- 단말은 NAC의 등록페이지로 유도 되고, 등록 절차를 마무리 하면 스위치에서 재인증이 자동으로 수행 됩니다.
- 등록 상태가 된 단말은 본인의 VLAN을 할당 받게 됩니다.

인증서버와 Genians NAC의 연계를 통해 다음의 이점을 제공 합니다.
- 관리 포인트 단일화 – 단일 MAC Address DB와 관리 정책 포인트로 기존 NAC 시스템과 SDN 인증을 모두 수용.
- DB 동기화 필요성 제거 – 인증서버에 별도의 DB를 생성 하지 않으므로 별도의 DB 동기화 절차 필요 없음.
- 보안 강화 – 기존 네트워크에서 사용 되던 네트워크 접속 이후의 차단 정책보다 한단계 강화 된, 네트워크 연결 이전 차단 가능.
- 사용자 경험 – 사용자는 기존 NAC 시스템 사용 시와 동일한 사용자 경험.
이 구조의 완성을 위해 Genians NAC 에서는 몇가지 요소의 추가 개발이 필요 했습니다.
- 인증서버의 Radius 요청을 회신 하기 위한 Radius 처리 프로세스 추가.
- VLAN 할당을 위한 MAC Address DB의 그룹화.
- 미등록 단말의 정상 등록 이후, 스위치 재인증을 위한 CoA (Change of Authorization) 요청 기능 추가.
- 위의 예제에서는 인증서버와 NAC 간의 Radius를 통한 연결을 설명 하였지만, 보다 단순한 External DB로 연결 또한 가능 합니다.
몇 차례의 테스트를 통해 최초 목표로 했던 Flow의 정상 동작을 확인 하였고, 이를 통해 MAC Address 기반 인증의 관리 포인트를 줄이고, 기존 NAC 시스템과의 호환성과 보안 강화 및 고도화 까지 함께 이루어낸 사례 입니다.
이상으로 SDN 도입 과정에서 가장 많이 검토되는 MAC Address 를 이용한 인증에서 기존 NAC 시스템과의 연계를 통해 보다 유연하고 합리적인 운영 방안에 대해 설명 드렸습니다.
다음 포스팅에서는 SSO (Single Signed On) 과 SDN 인증 Flow의 연계에 대해 전달 드리겠습니다.
감사합니다.