오픈 소스 Packetfence NAC 솔루션 설정 방법 - 2. Vlan enforce 방식

오픈 소스 Packetfence NAC 솔루션 설정 방법 - 2. Vlan enforce 방식

초기 공통 설치 부분은 1화를 참고해 주세요.

오픈 소스 Packetfence NAC 솔루션 설정 방법 - 1. inline 방식




옵션 2. Vlan enforce 방식

이전 inline 방식은 내부IP가 몇인지만 알고 수동으로 넣으면 인터넷은 안됩니다만..
공격자가 게이트웨이를 주지않고 IP만 비어 있는거 때려 맞추면 동일 선상 네트워크 접근이 가능합니다.

공격 시나리오를 써보자면 이렇습니다. (옵션1 inline부분 보고 오시면 이해가 되실 겁니다.)

공격자가 10.0.0.0/24가 회사 사설 네트웍대역인 것을 알고 있습니다.
10.0.0.20에 중요한 정보가 있는 서버가 있다고 가정합니다.
사내 관리자는 외부에서는 들어올 수 없으니 ssh 접속 정책을 소홀하게 하였다고 가정합니다.
외부에서는 접근이 불가능하고 내부에서만 접근이 가능하여 공격자는 내부에 침입합니다.
비어 있는 IP도 알고 있습니다.
10.0.0.239라고 설정하고 랜선을 물리고 10.0.0.20 22번 포트로 ID는 사내관리자 메일주소의 ID부분만 취득하여 SSH 접속을 시도하며 brute force 공격을 하여 접속에 성공합니다.
sudo su 하고 공격에 성공햇던 패스워드를 입력하자 root로 바뀝니다.

이제 끝났죠..???


이 공격이 아까 설명드렸던 inline 방식은 막을 수가 없습니다.
상용 NAC쓰시는 분들도 실험해보세요. IP수동으로 임의로 입력하고 게이트웨이 주지 않고
사내서버에 ping이 나가는지 등.. 저렴한 방식의 NAC들은 다들 이렇습니다.

이제는 보다 강력한 보안을 갖춘 NAC 셋팅 방법 시작하겠습니다.
스위치 만져보신분들은 빠르게 습득하시고 구성하실 수 있을겁니다.


이더넷 설정부터 보시겠습니다.
랜포트 1개면 가능합니다스위치를 직접 통제하는 방식입니다.
따라서 스위치 포트단에서 허가되지 않은 사용자가 블락되어 다른 VLAN으로 할당 됩니다.
그 VLAN은 망 연결이 없으며 어떠한 VLAN과도 통신되지 않게 되어 있습니다.
(기본적으로 VLAN은 백본이나 방화벽에서 설정해주지 않으면 VLAN간의 통신이 원래 안됩니다.)



아까 이 부분부터 셋팅 시작 합니다.

Type 부분 Management 로 변경합니다.

New VLAN 눌러 줍니다.

Vlan ID 2로 설정하고 IP정하시고 netmask 입력후 type Registration으로 합니다.

DHCP 서버 키고 Create 합니다.

같은 방법으로 VLAN ID 3도 만들고 Isolation 할당합니다.

자 이제 목록보시면~

이렇게 나와 있습니다.



2가지 추가 되었습니다.

메인 이더넷도 type Management지정해주세요

호스트네임.. 저는 변경할게요.

그 다음 NEXT


자동 끄시고 (패스워드가 어렵게 생성되요… 수동으로 해줍니다.)

root패스워드 입력하시고 Set Password 눌러요.

그다음 Create 누르면서 pf 패스워드도 입력하고 create누릅니다.

위와 같이 설정하고 NEXT 눌러줍니다.
API키 부분은 아까 inline부분에서 설명하였습니다.

start!

로그인 화면 나오셨다면 로그인 한번 해보시고

서버 재부팅 한번 해주세요.

이후부터는 이제 머리가 아프고 생소할 수 있습니다.

스위치나 라우터 cli에서 셋팅을 해보신분들은 에이~이것쯤이야 하고 따라오실수도 있습니다.

그래도 초보자도 셋팅 할 수 있도록 가이드 하겠습니다.

 이렇게 생긴 케이블이 필요해요.
(rs232라고도 부르고 콘솔케이블이라고도 하죠)
보통 스위치 사면 같이 들어 있습니다콘솔이라고 적힌 부분에 꽂아 주고 USB부분은 PC에 꽂아 줍니다.

장치 관리자 보시면 위와 같이 포트 부분에 Serial Port COM3 라고 쓰여있습니다.

이 정보가 필요합니다,.

위에처럼 Serial 선택 후 COM3 입력해주세요그리고 Open



스위치 설정에 앞서서 제가 이미 셋팅이 되어있는 스위치라서….

여러분들에게 설명하기위해

눈물을 머금고 제 스위치 설정값을 초기화 하였습니다.ㅠㅠ

스위치 설정은
https://packetfence.org/doc/PacketFence_Network_Devices_Configuration_Guide.html

여기 사이트 참고하시면됩니다.
대체로 예시로 나와있는 스위치 모델명이 일치하면 설정이 그대로 잘 먹힙니다.
SG350( SG 300 시리즈로 설명드리겠습니다. (cisco 2950도 위 문서파일대로하면 잘되요)

초기 ID/PW cisco/cisco

패스워드를 쉽게 입력하면 복잡하지 않다고 다시 입력하라고 합니다.

그래서 저는 영문 숫자 특수문자 모두 사용하였습니다.

이름형식으로 보였다면 성공

스위치 명령어는 다들 축약해서 쓸 수 있어요

예를들어 컨피그를 보고 싶다면 show running-config이지만

sh ru 이렇게 쳐도 알아서 동작합니다.

하지만 초보자분들도 있을 수 있으니 적당히만 축약해서 써보도록 하겠습니다

참고로 기본 putty에선 지우기는 백스페이스 말고 시프트 + 백스페이스로 지워집니다.



switchf9dce7#conf

입력하시면 아래와 같이 config가 들어가도록 바뀝니다.

switchf9dce7(config)#

호스트 네임을 변경하겠습니다.

switchf9dce7(config)#hostname SG350

SG350(config)#

SG350(config)# dot1x system-auth-control

SG350(config)# radius-server key 비밀키하나 정해서 입력(radius 비밀키)

 ex) radius-server key ********
SG350(config)# radius-server host 192.168.111.130

 packetfence의 IP를 가리킵니다.

 만약 설정값 입력하셨다가 잘못 입력하셨다면 입력하셧던 거에 앞에 no만 붙여서 입력하심되요

 ex) SG350(config)# radius-server host 192.168.11.130 이라고 1을 빼먹고 입력했다면

 SG350(config)# no radius-server host 192.168.11.130

SG350(config)# aaa accounting dot1x start-stop group radiu

SG350(config)# snmp-server community sparkread ro view DefaultSuper

 #빨간 글씨 부분은 패스워드라고 생각하심됩니다.
SG350(config)# snmp-server community strongsparkwrite rw view DefaultSuper

SG350(config)# #int range Gi 1-24

 1번포트 셋팅 하겠다는 겁니다. (저는 업링크를 25번포트에 꽂았어요~)
SG350(config-if-range)# dot1x host-mode multi-sessions

SG350(config-if-range)# dot1x reauthentication

SG350(config-if-range)# dot1x timeout quiet-period 10

SG350(config-if-range)# dot1x timeout server-timeout 5

SG350(config-if-range)# dot1x timeout supp-timeout 3

SG350(config-if-range)# dot1x authentication mac

SG350(config-if-range)# dot1x radius-attributes vlan

SG350(config-if-range)# dot1x port-control auto

SG350(config-if-range)# spanning-tree portfast

SG350(config-if-range)# switchport mode general

SG350(config-if-range)# switchport general pvid 2

이제 업링크 꽂아준 25번포트 셋팅하겠습니다.

(아래 부터는 packetfence문서에는 당연히 말안해도 알겠지?” 하고 안내가 없는 내용입니다.)


SG350(config-if-range)#exit

SG350(config)# int gi 25

SG350(config-if)#

SG350(config-if)# switchport mode trunk


스위치 IP 할당 시작 하겠습니다.

SG350(config-if)#int vlan 1

SG350(config-if)#ip addr 192.168.111.5 255.255.255.0

 위와 같이 스위치 IP를 111.5로 할당 했습니다.

 여기까지 오셨으면 90% 끝났습니다.

 스위치 설정은 끝났습니다.

이제 셋팅 전체를 보겠습니다.

do show run 이후 부분을 쭉 스크롤해서 복사해서 메모장에 두시고 나중에
스위치 고장 났을 때 새 스위치 최초 접속 후 switchf9dce7# conf하여
switchf9dce7(config)# 상태에서
붙여넣기하시면 그대로 설정값 들어가는 겁니다.

SG350(config-if)#do show run

dot1x system-auth-control

bonjour interface range vlan 1

hostname SG350

encrypted radius-server

radius-server host 192.168.111.130

aaa accounting dot1x start-stop group radius

username xxxx password encrypted

snmp-server community sparkread ro view DefaultSuper

snmp-server community strongsparkwrite rw view DefaultSuper

!

interface vlan 1

 ip address 192.168.111.5 255.255.255.0

 no ip address dhcp

!

interface GigabitEthernet1

 dot1x host-mode multi-sessions

 dot1x reauthentication

 dot1x timeout quiet-period 10

 dot1x timeout server-timeout 5

 dot1x timeout supp-timeout 3

 dot1x authentication mac

 dot1x radius-attributes vlan

 dot1x port-control auto

 spanning-tree portfast

 switchport mode general

 switchport general pvid 2

!


----------------중략 ---------------

interface GigabitEthernet25

 switchport mode trunk

!

exit

(스페이스바 누르면 넘어가요)

SG350(config-if)#exit

SG350(config)#exit

SG350#write       (저장 할 것인지 물어보면 y)

이제 다시 packetfence 웹페이지로 오실게요~

Role 하나 추가 하고 가겠습니다.

New Role 누르시고

users 하나 추가 하겠습니다. (자유롭게 지으셔도 됩니다.)

switchs 들어가서 -> new Switch -> default

IP에 스위치 IP

설명부분은 자유

Type부분  300입력하면 Cisco SG300 선택가능해요

Deauth부분 SNMP

나머진 똑같이 맞춰주세요.



Role 부분 default -1 / users 1 입력합니다.

-1 주면 해당 role 할당시 통신 끊긴 차단상태 됩니다.

1주면 허용 상태입니다. 2~3 주면 2와 3에 대응되는 vlan이 할당됩니다.

숫자가 VLAN ID를 의미합니다.

만약 회사내에 1층 사람들은 192.168.10.0 사용하고 2층사람들은 192.168.20.0 사용한다면

1층 사용자에게 192.168.10.0 vlan10으로 정하고 role 부분에 10 할당해주고

2층 사용자에게 192.168.20.0 vlan20 으로 정하고 role 부분에 20 할당해주면 되겠죠.


이 부분 아까 쉐어드 시크릿 입력하신 부분 radius-server key 뒷부분 입력하신거 그대로 입력하세요

그 다음 Create 클릭

SNMP탭 이동

여기 좀 많습니다..

그런데 입력할건 몇 개 없어요.

3가지 저렇게 바꿔주세요.

밑에 Save 눌러주세요.

원래는 pfcmd 명령어로 configreload 해줘야하지만

자 이제 cisco 스위치에 랜선을 꼽아주세요 1~24번포트는 이제 packetfence가 통제합니다.



근데 이렇게 까지 했는데 작동이 안되요;;;

완전 개고생 했는데 느낌이 뭔가 통신이 안되는 느낌이더라구요

아래 처럼 설정 하시면 됩니다.

웹페이지에 스위치 IP 쳐서 접속하시구요.

…SNMP Service 체크해주세요..그리고 apply눌러주세요.

그리고 상단에 조그만크기로 save 깜빡 거립니다눌러주세요.




꽂으시면 online on 되고 기기가 보입니다.

클릭 후 들어가셔서 등록하고 users룰 할당합니다그리고 save 하시고 

Reevaluate Access or Restart Switch Port 누르시면됩니다.




기타 알림 사항

  • 1.DB 패스워드 변경

  • -간혹 노드가 삭제 안될 때 DB접속해서 노드 강제 삭제 할 수 있습니다.

  • -원래 노드 삭제 기능 자체가 없었는데 최근에 생겼는데 다시 다른 패치하더니 삭제가 월할하지 않더군요. 10.1 -> 10.2 버전으로 업데이트하면 수정된다고 합니다.

  • -삭제 방법은 아래 사진으로 첨부드립니다.

로케이션로그문제라서 이렇게 삭제하고 웹에서 노드삭제합니다.

10.1버전에서 생긴 문제입니다.



추가적으로

여기 페이지 가셔서 node_cleanup 정책은 꼭쓰시는게 맘편합니다.


상용 NAC 솔루션이 맘이 편합니다. G사 NAC을 군에 있을 때 써보았는데 참 편하더라구요..
물론 그것도 네트웍 구성이 조금 잘못되면 우회하는 방법이 있어서 우회해서 사용한 적도 있지만
아무튼 그렇습니다.


긴 글 읽어주셔서 감사합니다.

동작 시연영상은..아마 구글에 packetfence 시연 치시면 나옵니다.

그거 올린사람이 저 밖에 없어서 쉽게 찾을 수 있습니다.

옛날영상인데 오늘찍은 최신으로 이번주 내로 바꿔놓을께요.

태그가 없습니다.

7개의 댓글이 있습니다.

3년 이상 전

알찬 내용 잘 봤습니다.

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

3년 이상 전

좋은정보 감사드립니다.

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

3년 이상 전

인라인 보다 할게 많군요...
좋습니다. 감사합니다.

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

3년 이상 전

좋은 정보 감사드립니다.

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

3년 이상 전

좋은정보네요 참고하겠습니다.

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

3년 이상 전

좋은 정보 감사합니다~

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

3년 이상 전

매뉴얼 급이네요 감사합니다

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입