본문 바로가기

Security_Space

웹 인터페이스를 이용한 패킷펜스

IT 보안분야에도 큰 비용을 들이지 않고, 시도해 볼 수 있는 많은 프로그램과 툴들이 있는 것 같다. 그것이 자신의 환경에 맞게 하기 위해서는 부단히 경험해 보는 수밖에 없을 것이다. 처음 접하지만, 그 기능과 성능이 궁금하다...

=======================================================================================

패킷펜스는 설치하기 상당히 어려운 시스템이나 시간 투자 대비 가치는 뛰어나다. 이 시스템은 유저가 선호하는 어떤 OS 환경이나 디바이스와도 궁합이 잘 맞으며, 다양하면서도 안전한 기능들을 지녔다.


이 중 하나가 웹기반의 admin 툴이라는 것이다. 패킷펜스를 설치하는데 요구 사항이 꽤 많으며, 커맨드 라인을 통해 핸들링 해야 하는 것도 많다. 하지만, 한번 설치를 하고 나면, 웹기반의 툴을 통해 아주 쉽게 운영 할 수 있다.

환경
이 글에서는 우분투 서버 6.06에서의 패킷펜스 웹GUI에 대해 설명하려고 한다. 이 소프트웨어 사용에 있어 좋은 점은 요구 사항이 많지 않다는 것이다. 실제로, AMD 2075MHz 프로세스에 512 MB RAM, SSH만 지원되면 된다.

패킷펜스 GUI를 통해 admin계정으로 로그 하는데, 아이폰을 이용해도 상관없다. 따라서, 어떤 OS를 사용하던, 웹기반의 GUI 사용에는 문제될 것이 없다.

시작하기
처음으로 해야 할 일은 웹브라우저를 열고 https://IP_OF_PacketFence_SERVER:1443 주소를 치면 대시보드 화면이 <그림1>과 같이 나타난다.
<그림1>



대시보드를 통해 admin 유저 네임 및 패스워드를 넣고 로그인 하면 된다. 대부분 유저네임은 admin으로 한다.

GUI를 보면 몇 개의 탭을 볼 수 있으며, 탭의 아랫부분은 대부분 리포팅 관련 한 것이며, 탭의 윗쪽 열은 실제 운영에 관련 한 것들이다.

현재까지 액티브 리포트에 관한 버그가 있다. 만약 리포트에서 액티브를 선택하면 에러 메시지를 보게 될 것이다.
Error: Problems executing 'PFCMD report active '
DBD::mysql::st execute failed: Unknown column 'n.dhcp_fingerprint' in 'on clause' at /usr/local/pf/lib/pf/db.pm line 96.
Can't use string ("0") as a HASH ref while "strict refs" in use at /usr/local/pf/bin/pfcmd line 653.

이 문제는 MySQL 5의 조인부분의 변경을 어떻게 했는가 때문에 발생한다. 이 문제는 1.6.4가 릴리스 되면 해결 될 것 같다. 따라서 그때까지는 액티브 리포트 부분은 스킵 해야 한다.

대시보드로 다시 돌아가서, 윈도우 창에 중요한 정보를 보게 될 것이다.

-Disk Usage: 패킷펜스 서버에 있는 디스크 사용량
-Memory Usage: 패킷펜스 서버상에서의 메모리 사용량.
-CPU Load:
-Recent Violations: 패킷펜스에 따른 네트워크상에 발생했던 모든 최신 침해.
-Recent Registrations: 시스템상에서 발생했던 모든 디바이스의 레지스트레이션(노트: 이 부분은 admin에 의해 발생한 것이 아니라 초기 유저 등록시 발생한 것임.)

대시보드는 유저에 맞게 커스트마이징 할 수 있고, 표준 대시보드는 유저가 원하는 모든 정보를 제공 하지는 않는다. 대시보드를 커스트마이징 하기 위해서는 아이콘을 사용하여 변경 하거나 리포트를 추가 할 수 있다.

<그림2>




<그림3>



대시보드 구성을 위와 같이 하고 나면, Sumit Query를 선택하면, 원하는 대시보드가 된다. 물론, 실제로 차이점을 보기 전에 몇 가지 통계부분이 팝업이 시작될 때까지 기다려야 한다.

Repostitory: History
대시보드의 리포트 부분으로 가보자. 이 섹션은 유용한 정보를 많이 제공 하는데 그림4를 참조하라.

<그림4>



특정 IP나 MAC어드레스와 함께 액티브 리스트를 보고 싶다고 가정하면, History 링크를 선택하고, IP나 MAC어드레스를 쳐 넣으면 볼 수 있다. 그림5를 참조 하라.

<그림5>



Query History를 선택하면, IP나 MAC어드레스의 액티브 상태였던 리포트를 볼 수 있다. 불행하게도, 리포트 되는 데이터는 액티비티에 대한 특정 시간에 리포트를 볼 때만 유용하다.

그림6에서 보는 것처럼, 리포트 된 데이터는 MAC 어드레서, IP어드레스, Start Time, End Time을 보여준다. 액티비티 타입은 불행하게도 알 수가 없다.

<그림6>



리포트: Inactive
한 가지 좋은 기능은 Inactive 리포트이다. 네트워크상의 등록되지 않은 각각의 MAC어드레스 리스트가 나타나는 것을 선택하면 된다. <그림7>을 참조하라.

<그림 7>



History리포트에서 얻는 정보뿐만 아니라, 브라우저에 따른 정보, OS타입, DHCP라이센스 및 ARP리포트를 볼 수 있다.

Person
Person탭은 NAC상에 있는 어드민 유저를 조정할 수 있게 한다. 인증(authentication)과 헷갈리지 않기를 바란다. Autentication은 이 부분과는 아무 상관이 없다. 여기서 Person부분은 어드민의 작업을 더욱 쉽게 해주는 것뿐이다.

시스템 상의 디바이스에 결합된 사람 추가, 편집 또는 지우기를 할 수 있다. 따라서 MAC 어드레스에 무엇이 있는지를 기억하는 대신에, 어떤 유저가 어떤 부서에 속해 있는지, 시스템에 유저를 추가 하고, 그들의 이름과 주소를 할당하는 것이다.

<그림 8>




<그림 9>




Nodes
패킷펜스에서의 노드는 기본적으로 디바이스를 의미 한다. 디바이스는 PC 프린터, 라우터 또는 허브등 MAC어드레스를 가지고 있는 디바이스를 말한다. Node 탭을 누르면, 네트워크상에 접속 되어 있는 모든 디바이스 리스트를 볼 수 있다.

<그림 10>



예를 들어, IP 어드레스 192.168.1.24가 누군가에 속해 있고, 노드 리스팅에 그 사람의 이름을 추가 하고 싶다고 하자. 문제는 노드 리스팅은 MAC어드레스만 보여 준다는 것이다. 이 문제의 해결책은 간단하다. Reports로 가서, History를 선택하고, IP어드레스를 넣고, Query History를 선택하면 된다. 그러면 리포트에 IP어드레스와 결합된 MAC어드레스를 리스트 할 것이다. MAC어드레스 질문에 대응하는 Edit버튼을 누르면 편집 화면을 볼 수 있다.
<그림 11>




Administration
이제 admin 툴의 많은 작업을 들여다 보자. Administration탭을 선택하면 많은 서브탭을 볼 수 있다.
" Configuration: 이 서브탭에서는 많은 시스템의 configuration을 볼 수 있다..
" Services: 패킷서비스의 시작과 중단을 할 수 있다.
" Add User
" UI Options.
" Remediation
" Instructions
Alerting
" Wins Server: Address of Wins server.
" E-mail Address: Address of administrator.
" SMTP Server: Outgoing mail server for system.
" Admin netbiosname: Netbios name of the PacketFence server.
" Log: Log file to be used for violations.
ARP
" DHCP Timeout: Hours and Minutes of ARP timeout.
" Clean Shutdown: Enable or disable.
" Interval: Seconds.
" Strobe: Enable or disable.
" GW Timeout: Enable or disable.
" ARP Timeout: Enable or disable.
" Heartbeat: Seconds.
" Stuffing: Enable or disable.
Database
" Username: Database username.
" Password: Database password.,
" Port: Port for database use.
" Host: Database host.
DHCP
" Registered lease: Hours.
" Unregistered lease time: Minutes.
" Isolation lease time: Minutes.
Expire
" Iplog: Days.
" Node: Days.
General
" Logo: Location of system logo.
" Caching: Enabled or disabled.
" Domain: Domain name.
" Dnsservers: Location of DNS servers.
" Hostname: Hostname of PacketFence server.
" Dhcpservers: Location of DHCP servers.
Interface
" IP address: IP of PacketFence server.
" Gateway: Gateway for PacketFence server.
" Type: Internal, Managed, or Monitored.
" Mask: Netmask of PacketFence server.
Logging
" Level: 0-8
" Priority: Debug, info, notice, warning, warn (same as warning), err, error (same as err), crit, alert, emerg, or panic (same as emerg).
" Facility: Auth, authpriv, cron, daemon, ftp, kern, lpr, mail, mark, news, security (same as auth), syslog, user, uucp, or local0 through local7.
Network
" Rogueinterval: 1-10.
" Named: Enabled or disbled.
" Scan: Enabled or disabled.
" Nat: Enabled or disabled.
" DHCP detector: Enabled or disabled.
" Mode: Passive or Inline.
" DHCP: Enabled or disabled.
Passthroughs
" Symantec Scanner: URL
" PacketFence: IP addresses of devices allowed to pass through system.
Ports
" Admin: Administration port
" Open: Open ports.
" Allowed: Ports allowed for use.
" Redirect: Ports that are redirected.
" Listeners: IMAP or POP3.
Proxies
" Stinger.exe: Address of stinger.exe
Registration
" Expire Window: Days
" Detection: Enabled or disabled.
" Range: IP address range for registration.
" Registration: Enabled or disabled.
" Skip reminder: Days
" Immediate: Enabled or disabled.
" Expire deadline: Date.
" Auth: Local, ldap, mysql, radius, or harvard.
" Expire Session: Days
" Skip Mode: Window, Deadline, Disabled.
" Isolation: Enabled.
" Queuesize: Integer
" Expire Mode: Window, deadline, session, or disabled.
" AUP: Enabled or disabled.
" Complete Message: Enabled or disabled.
" Redirect URL: Address for redirection.
" Skip Deadline: Date.
" Skip Window: Seconds, minutes, hours, days, weeks.
" Button Text: Text to appear on registration button.
" Maxnodes: Maximum number of nodes allowed.
Scan
" Pass: Type of data to pass
" SSL: Enabled or disabled.
" Live TIDS: Plug in IDs allowed to live on the system.
" User: User allowed to scan.
" Port: Port number for scanning.
" Registration: Enabled or disabled.
" Host: Address of scanning host.
Services
" Named: Location of named executable.
" DHCPD: Location of dhcpd executable.
" HTTP: Location of apache executable.
" Pfredirect: Location of pfredirect executable.
" Pfdetect: Location of pfdetect executable.
" Pfmon: Location of pfmon executable.
" Snort: location of snort executable.
Trapping
" Isolation: Enabled or disabled.
" Testing: Enabled or disabled.
" Detection: Enabled or disabled.
" Blacklist: Location of blacklist.
" Range: IP range of trapping.
" Whitelist: Enabled or disabled.
" Trapping Registration: Enabled or disabled.
" Redirect URL: URL for trapping redirection.
" Immediate: Enabled or disabled.
" Redirtimer: Seconds
" Passthrough: IP tables or proxy.


출처 : ZDNet Korea