ZTNA 분석 방법
===========================

이 페이지에서는 Genian ZTNA에서 문제를 해결하기 위해 검사할 수 있는 주요 프로세스에 대한 개요를 제공한다.

ZTNA 프로세스 설명
------------------------------

정책서버 프로세스
'''''''''''''''''''''''

.. code:: bash

	centerd: 정책과 노드관리
	sensord: 네트워크센서 프로세스
	mysql: 데이터베이스에 노드와 정책정보를 저장
	httpd: 웹서비스 데몬
	java: WebUI를 실행하기 위한 JAVA프로세스로 웹과 데이터베이스 간의 연결작업 수행
	procmond: ZTNA에서 사용하는 프로세스 모니터 데몬, 비정상 종료 모니터링 및 재실행 수행
	sshd: SSH 원격접속 서비스를 제공하는 데몬
	syslog-ng: SYSLOG 데몬
	hbd:하드웨어 또는 소프트웨어 오류가 발생한 경우 일정 시간 후 시스템을 정상화하는 작업(부팅 등)을 수행하는 데몬
	mysqld_safe: mysqld 서버구동이 실패할 때 Mysqld_error에 재시작 및 런타임 정보를 저장하는 스크립트
	gnlogin: CLI 명령 실행을 위한 서비스 제공
	crond: 지정된 사이클에서 스크립트 및 명령을 수행하는 데몬
	radiusd: 인증을 위한 RADIUS서버 데몬
	

네트워크센서 프로세스
''''''''''''''''''''''''

.. code:: bash

	sensord: 네트워크센서 프로세스
	nmap: 노드의 네트워크 정보 검색 도구
	procmond: ZTNA에서 사용하는 프로세스 모니터 데몬, 비정상 종료 모니터링 및 재실행 수행
	sshd: SSH 원격접속 서비스를 제공하는 데몬
	syslog-ng: SYSLOG 데몬
	hbd: 하드웨어 또는 소프트웨어 오류가 발생한 경우 일정 시간 후 시스템을 정상화하는 작업(부팅 등)을 수행하는 데몬


에이전트 프로세스
'''''''''''''''''

.. code:: bash

	프로세스명 : GnAgent.exe
	설명 : Genian Agent
	기능 : 에이전트 무경설 검사, 노드 정책 수신 및 GnPlugin 실행 관리
	실행주기 : 항상
	실행조건 : 윈도우즈 로그온 이후 항상

	프로세스명: GnPlugin.exe
	프로세스명: Genian Action Plugin
	기능: 노드 정책의 작업 정책 수행 및 결과 전송
	실행 주기: 항상
	실행조건: 노드정책에 에이전트 액션이 있는 경우

	프로세스명: GnStart.exe
	프로세스명: Genian Starter
	기능: 에이전트 무결성 검사, GnAgent 실행 관리, Keepalive 전송 
	실행 주기: 항상
	실행조건: 항상

	프로세스명: GnAccount.exe
	프로세스명: Genian User Account Manager
	기능: OS 로그온 계정 대신 특정 계정으로 GnAgent 프로세스를 실행하는 경우 사용
	실행 주기: 이벤트가 발생한 경우
	실행조건: 노드정책에 에이전트 실행계정 설정이 되어 있는 경우
	
	프로세스명: GnDump.exe
	프로세스명: Genian Agent Dump Utility
	기능: 에이전트 디버그로그 수집
	실행 주기: 없음
	실행조건: 수동 실행 시에만 작동

	프로세스명: GnExLib.exe
	프로세스명: Genian External Module
	기능: 외부 인증 모듈 등록(예:dll)
	실행 주기: 없음
	실행조건: 정책적으로 수동 실행시나 인증정보 갱신시 

	프로세스명: GnScript.exe
	프로세스명: Genians Software Install Manager
	기능: 에이전트 설치시
	실행 주기: 없음
	실행조건: 에이전트 설치 중에만 실행

	프로세스명: GnUpdate.exe
	프로세스명: Genian Updater
	기능: 에이전트 자동 업데이트검사 및 업데이트
	실행 주기: 6시간
	실행조건: 없음

	프로세스명: GnUtil.exe
	프로세스명: Genian Agent Utility
	Funcfiton: 특정 파일의 SHA1 해시 값 계산
	실행 주기: 없음
	실행조건: 수동으로 실행될 때만 작동함


시스템 디버그 프로세스명
------------------------

정책서버 로그
'''''''''''''''''

Elasticsearch
'''''''''''''

.. code:: bash

	GENIAN.log: Elasticsearch 프로세스 비정상 종료 및 재시작 오류 로그


httpd
'''''

.. code:: bash

	Error_log: httpd 에러 로그
	Mod_jk.log: Apache와 Tomcat은 Apache JServ Protocol(AJP)을 사용하여 통신하여 서로 통신하고 mod_jk라는 모듈을 사용하여 구성한다.
	- Apache 및 Tomcat 관련 오류 로그


mysqld
''''''

.. code:: bash

	Initdb.log: 데이터베이스 초기화 중에 생성된 로그
	구동시 테이블이 비정상인지 점검해야 한다. 

	Mysqld.error: mysql 작업 중 오류 로그
	Slowquery.log: 장시간 실행된 작업에 대한 SQL 쿼리 로그
	- ZTNA 작동 중 특정 작업이 오래 걸리는 경우 참조


system
''''''

.. code:: bash

	Agent: PC에 저장된 에이전트 로그를 정책 서버에서 호출하여 저장

	centerd: 정책서버에서 수행한 작업에 대한 로그
	- 정책 서버 상태, 노드 Role 상태, 인증, 연동, 데이터 동기화 등

	sensord: 네트워크센서가 수행한 작업 및 오류 로그
	- 네트워크센서 상태, 노드 감지, UP/Down, 정책 수신 등

	messages: dmesg와 같은 하드웨어 상태 관련 메시지

	procmond: 프로세스가 비정상적으로 종료되고 다시 시작된 로그
	scanraw: 노드의 플랫폼 탐지를 위한 노드의 네트워크 검색 정보
	updown: 에이전트 Up/Down 상태 로그
	authsync: 정보동기화 관련 로그
	dbmigration: 데이터베이스 마이그레이션 로그 
	gnlogin: CLI명령어 수행 이력 로그
	radius.log: RADIUS 상태 및 노드 인증 로그 


tomcat
''''''

.. code:: bash

	Catalina.out: catalina.log 파일은 Tomcats "system.out" 및 "system.err" 스트림에 기록된 모든 로그 메시지를 포함한다
	catalina.out에 포함된 내용:
	- 미발견된 예외 사항 java.lang.ThreadGroup.uncaughtException(..)
	- 시스템 신호를 통해 요청한 경우 시스템 덤프 제공


radius
''''''

.. code:: bash

	Radiusd: 인증 및 오류 기록 포함(외부포함)
	외부 서버에서 가져온 계정


시스템 검사
-----------------

cli 명령어를 이용하여 ZTNA시스템의 상태를 확인합니다. 

- 박스에 표시된 대로 다음 단계를 수행하십시오.

 - 정책서버 콘솔에 직접 연결하거나 SSH통해 제품에 접속합니다. 
 

.. code:: bash

 genian> en

 genian#

서버체크와 시스템 정보
''''''''''''''''''''''''''''''''

- 시스템 이중화 여부 확인

.. code:: bash
 
 genian# show ha status


- 데이터베이스 이중화체크, 복제상태 체크

.. code:: bash

 genian# show replication status


- 시스템 구동된 시간, 시스템 부하

.. code:: bash

 genian# show uptime


- 제품버전, H/W모델명 확인, 설치날짜

.. code:: bash

 genian# show Version


- 사용중인 인터페이스 정보 확인

.. code:: bash
 
 genian# show interface all


- 시스템 마운트 정보

.. code:: bash

 genian# show filesystem



서비스 상태 체크
''''''''''''''''''''

ZTNA에서 필요한 모든 프로세스가 실행 중인지 확인하십시오.


구성 요소별 필요한 프로세스:

.. code:: bash

    정책서버: 
    Mysqld, elasticsearch, java, centerd, sensord, httpd, procmond, sshd, syslog-ng, radius (Need confirmation if using RADIUS server), vrrpd (Need confirmation if using HA configuration)  

    네트워크센서:
    sensord, procmond, sshd  

	명령어:
	genian# show processes


디스크사용량 체크와 메모리체크
'''''''''''''''''''''''''''''''

서버의 하드 디스크 용량 및 메모리를 확인합니다.
하드 디스크가 꽉 찼거나 사용 가능한 메모리가 없는 경우 ZTNA는 다음과 같은 문제가 발생할 수 있습니다.

- ZTNA 동작이 느리거나 동작하지 않음
- 백업파일이 만들어 지지 않음

.. code:: bash

 명령어:
 genian# show Memory
 genian# show filesystem


네트워크센서 확인 방법:

.. code:: bash

    genian# show enforcer
    interface | mode | active | local | request | strict | max
    bond0.100 |    2 |    OFF |    ON |     OFF |    OFF | 10
    bond0.101 |    2 |    OFF |    ON |     OFF |    OFF | 10

노드상태 확인 방법:

.. code:: bash

    genian# show nodeinfo filter [IP address]
	IP              | MAC               | device | sta | up |    age |   idle |     expire | noderole
	172.29.20.183   | 00:E0:4C:36:0D:F8 | eth0   |   1 |  1 | 1728088 |      5 |   -3118306 | Unauthorized Device(10)

    ARP Poisoning list
    genian# show nodeinfo poisoning [IP address]
    IP=172.29.111.55 MAC=00:05:1B:A3:E2:07 IF=bond0.111
    TARGET=172.29.111.56   ACTIVE=1 LASTREQ=832    DSTTOXIC=0
    TARGET=172.29.111.254  ACTIVE=1 LASTREQ=0      DSTTOXIC=0