본문 바로가기

시스템/PacketFence

[PacketFence] NAC(Network Access Control) 구축해보기 [1] - PacketFence 설치

반응형
1편 참조 : https://ploz.tistory.com/entry/PacketFence-NACNetwork-Access-Control-%EA%B5%AC%EC%B6%95%ED%95%B4%EB%B3%B4%EA%B8%B0-1
2편 참조 : https://ploz.tistory.com/entry/PacketFence-NACNetwork-Access-Control-%EA%B5%AC%EC%B6%95%ED%95%B4%EB%B3%B4%EA%B8%B0-2 
3편 참조 : https://ploz.tistory.com/entry/PacketFence-NACNetwork-Access-Control-%EA%B5%AC%EC%B6%95%ED%95%B4%EB%B3%B4%EA%B8%B0-3

 

 

오픈소스 인 PacketFence을 설치하여 NAC을 구축해보고자 한다.

NAC의 방식에는 Inline, VLAN Enforce 두가지 방식이 있는데 여기서는 VLAN Enforce 방식으로 구축해보고자 한다.

 

구축 개요


여기서는 Active Directory(AD)를 통해 PacketFence 802.1x 사용자 인증을 사용하는 것이 아닌 PacketFence를 RADIUS 서버로 구성하고 Client에서 접속한 MAC을 PacketFence에서 허용,차단 하는 방법으로 구성해보고자 한다.

허용,차단은 PacketFence에서 WS-3560X-48 스위치 포트에 Vlan을 이동시키는 방법이 사용되며, AD서버에는 AD 역할 외에 DHCP 역할을 추가해 Client에서 IP을 할당 받을 수 있게 한다.

 

VLAN 정보

  1. VLAN1
    • 10.10.111.0/24
    • default vlan으로 장비의 manage vlan으로 사용된다.
  2. VLAN2
    • 10.10.112.0/24
    • isolation vlan으로 사용된다.
  3. VLAN3
    • 10.10.113.0/24
    • 클라이언트에 할당 할 vlan으로 허용된 클라이언트가 실제 통신할 vlan으로 registrered 상태가 해당된다.
  4. VLAN4
    • 10.10.114.0/24
    • registration에 관련된 vlan으로 unregistered, pending 상태가 모두 이 vlan에 해당된다.

 

IP 정보 

  • WS-3560X-48 : 10.10.111.1
  • PacketFence : 10.10.111.11
  • AD,DNS,DHCP : 10.10.111.13
  • Client : 10.10.113.0/24로 DHCP에서 할당 받는다.

 

 

PacketFence 설치


PacketFence를 설치하는 방법에는 여러가지가 있는데 여기서는 CentOS Stream 8 에서 패키지 설치로 하며 14.0 버전을 설치할 것이다.

PacketFence의 하드웨어 최소 요구 정보는 아래와 같으니 참고하면 된다.

  • Intel or AMD CPU 3 GHz, 4 CPU cores
  • 16 GB of RAM
  • 200 GB of disk space (RAID-1 recommended)
  • 1 network card (2 recommended)
PacketFence 설치 가이드 참조 : https://www.packetfence.org/doc/PacketFence_Installation_Guide.html

 

사전 작업

# iptables 비활성화
systemctl disable firewalld
systemctl stop firewalld

# selinux 비활성화
vim /etc/selinux/config
...
SELINUX=disabled
...

# 개발 패키지 커널 설치
yum install kernel-devel-$(uname -r)

# packetfence는 docker를 사용하므로 runc, podman 제거
yum remove runc podman

# 재부팅
reboot

 

Repogitory 주소변경(옵션)

mirror 지원이 끝난 CentOS 8 Stream 버전의 Repo 주소를 변경한다.

sed -i 's|mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-Stream-*
sed -i 's|#baseurl=http://mirror|baseurl=http://vault|g' /etc/yum.repos.d/CentOS-Stream-*

 

PacketFence 패키지 설치

yum localinstall http://packetfence.org/downloads/PacketFence/RHEL8/packetfence-release-14.0.el8.noarch.rpm
yum install --enablerepo=packetfence packetfence

 

 

PacketFence 초기설정


Packetfence의 초기 설정은 웹을 통해 진행된다.

https://10.10.111.11:1443 으로 접속한다.

 

STEP1

ens18 인터페이스를 클릭하여 Type을 management로 변경하고 Save 한다.

 

STEP2

Step2에서 Database - Automatic Configuration을 False로 변경한다. 그리고 password 및 database name을 적절히 입력한다.(True일 경우 root, user 계정 및 패스워드, db name을 임의로 생성한다.)

아래로 스크롤을 내려서 웹 admin 비밀번호를 입력한다.

 

STEP3(옵션) 

Fingerback API Key가 있으면 클라이언트의 하드웨어, OS 등의 정보를 볼수 있다. API 키를 받기 위해서는 https://api.fingerbank.org/users/register 에 가입하고 발급받으면 된다.

 

STEP4

마지막으로 Database, WEB의 계정을 확인한다.

 

반응형