Vous êtes sur la page 1sur 23

Troubleshooting Guide

Federico Castaeda
Principal SE ROLA, SE Manager CALA
federico@imperva.com

Agenda
Herramientas Disponibles
FAQ
+ MX
+ Gateway
+ Agentes Remotos

Soporte
+ Cmo contactar a soporte?
+ Informacin necesaria para abrir un caso
+ Recomendaciones

- CONFIDENTIAL -

Herramientas disponibles

Archivos Interesantes
Comandos impctl
Otros comandos
Logs

- CONFIDENTIAL -

Archivos interesantes - /proc/hades


En el gateway, todo el procesamiento de
paquetes lo realiza el kernel por medio de un
mdulo denominado hades
Como es comn en la mayora de los mdulos del
kernel, estos ofrecen un acceso al estado interno
del mismo por medio del pseudo filesystem /proc
/proc/hades brinda acceso a valores y datos
fundamentales para el debug de los problemas
ms comunes

- CONFIDENTIAL -

Archivos en /proc/hades
/proc/hades/status
+ Brinda una visin de las variables generales de

procesamiento de trfico
+ Se utiliza para realizar el dimensionamiento de los
equipos durante un PoC
[root@ss90 hades]# cat status
Global:
3516 Kbps (max 371140 Kbps)
<= TOTAL DEL TRFICO QUE PASA
3444 Kbps Application (max 7984 Kbps)
<= TRFICO QUE REALMENTE ANALIZA
0 Kbps FAM (max 14468 Kbps)
1 connection/sec (max 31 connection/sec)
0 overload connection/sec (max 0 connection/sec)
0 HTTP hits/sec (max 20 hits/sec)
0 WFD successful hits/sec (max 0 hits/sec)
342 SQL hits/sec (max 1232 hits/sec)
<= TPS por segundo de bases de datos
0 Cifs hits/sec (max 127 hits/sec)
0 Cifs aggregated hits/sec (max 7 hits/sec)
0 Sharepoint hits/sec (max 7 hits/sec)
0 Sharepoint aggregated hits/sec (max 1 hits/sec)

- CONFIDENTIAL -

Archivos en /proc/hades
/proc/hades/streams
+ Muestra las sesiones establecida a travs del gateway

(NO que termina o salen de este)


+ Se utiliza para verificar que el trfico que queremos
proteger est efectivamente siendo visto por el gateway
+ Permite identificar trfico asimtrico y problemas de
sniffing
+ Muestra cada stream asociado al Server Group que le
corresponde
#421362 7 2
#421360 7 2
#158579 4 1
#962 0 0 (0

(1219 718) 172.31.1.50:443 -> 172.31.1.26:56161 [438196107 22411] Farm_-_OneBox_xxxxx:https


(1219 718) 172.31.1.50:443 -> 172.31.1.26:56159 [1468436327 36711] Farm_-_OneBox_xxxxx:https
(8752290 6687122) 172.31.1.26:56332 -> 172.31.1.25:1025 [526042313 50377] FileServer_xxxxxx:any-tcp
0) 0.0.0.0:65535 -> 0.0.0.0:0 [302702929 57681] Farm_-_OneBox_xxxxxx:http

- CONFIDENTIAL -

Archivos en /proc/hades
/proc/hades/nzcounters
+ Muestra todos los contadores internos que no estn en

cero
+ Aquellos que contienen [!] corresponden a contadores
asociados a errores
+ El incremento contantes de contadores con errores
representa un problema a analizar
watch -d -n 1 cat /proc/hades/nzcounters

[root@ss90 hades]# cat nzcounters


references (immutable): 19224 / 19224 (total=38448)
allocated_bytes (immutable): 610847 / 610847 (total=1219089)
allocations (immutable): 17025 / 17025 (total=33905)
[!] IP small TTL (net): 2052 (03/07/2012 2:28:33)
[!] TCP syn ack state drop (net): 2 (30/06/2012 14:48:19)
[!] TCP unexpected syn (net): 58 (03/07/2012 0:39:27)
[!] timer late bh (net): 81 (02/07/2012 14:53:15)
[!] regexp long match time (PCRE) (net): 1 (27/06/2012 12:25:56)
[!] dictionary: regexp too much time (net): 1 (27/06/2012 12:25:56)
[!] dictionary_search_ex_outer: regexp too much time (net): 23 (02/07/2012 14:50:15)
[!] timer late (cpu0) (net): 67 (02/07/2012 14:53:15)
[!] timer late (cpu1) (net): 72 (02/07/2012 14:53:15)

- CONFIDENTIAL -

Archivos en /proc/hades
/proc/hades/sg_xxxx
+ Los sub directorios que comienzan con la sigla sg_

representan la entidad Server Group definida en la


GUI
+ Contienen valores especficos de ese server group
+ Se utilizan para analizar un server group en particular
[root@ss90
total 0
-r--r--r--rw-r--r--r--r--r-dr-xr-xr-x
dr-xr-xr-x
-rw-r--r--r--r--r--r--r--r--r--r--r-dr-xr-xr-x
-r--r--r--

hades]# ls -l sg_SuperVedaDB_-779746907540713504
1
1
1
2
2
1
1
1
1
4
1

root
root
root
root
root
root
root
root
root
root
root

root
root
root
root
root
root
root
root
root
root
root

0
0
0
0
0
0
0
0
0
0
0

Jul
Jul
Jul
Jul
Jul
Jul
Jul
Jul
Jul
Jul
Jul

3
3
3
3
3
3
3
3
3
3
3

02:50
02:50
02:50
02:50
02:50
02:50
02:50
02:50
02:50
02:50
02:50

aggregations
counters
filters
hooks
new-hooks
nzcounters
policies
registered_hooks
services
srv_MySQL_6933119632852556197
status

- CONFIDENTIAL -

Archivos en /proc/hades
/proc/hades/sg_xxxx/svc_xxxx
+ Los sub directorios que comienzan con la sigla svc_

representan la entidad Service definida en la GUI


+ Siempre se encuentran dentro de un sg_
+ Contienen valores especficos de ese servicio
[root@ss90
total 0
dr-xr-xr-x
dr-xr-xr-x
-rw-r--r--r--r--r--rw-r--r--r--r--r--r--r--r--r--r--r--r--r--r--r--r--r--rw-r--r--r--r--r--r--r--r--

hades]# ls -l sg_SuperVedaDB_-779746907540713504/srv_MySQL_6933119632852556197/
2
2
1
1
1
1
1
1
1
1
1
1
1

root
root
root
root
root
root
root
root
root
root
root
root
root

root
root
root
root
root
root
root
root
root
root
root
root
root

0
0
0
0
0
0
0
0
0
0
0
0
0

Jul
Jul
Jul
Jul
Jul
Jul
Jul
Jul
Jul
Jul
Jul
Jul
Jul

3
3
3
3
3
3
3
3
3
3
3
3
3

02:51
02:51
02:51
02:51
02:51
02:51
02:51
02:51
02:51
02:51
02:51
02:51
02:51

app_Default_MySql_Application_-608108429
connectors
counters
histograms
nzcounters
open_mode
open_mode_streams
policies
ports
registered_hooks
specific_stream
streams
temp_ports

- CONFIDENTIAL -

Archivos en /proc/hades
/proc/hades/meminfo
+ Representa todos los indicadores relacionados con el

uso de memoria
+ Entre [n] se identifican aquellos bloques de memoria
que no han podido ser reservado, lo que seguramente
gener algn error
+ cat meminfo | egrep "\[[1-9][0-9]*\]"
[root@ss90 hades]# cat meminfo
Dynamic cache total memory: 627712KB
LRU blocks: 1

Free: 337536KB

Total Blocks: 4904

Free blocks: 2637

<alloc_bytes>/<max_bytes> <alloc_count>/<tot_alloc> [<failed_alloc>] <name>


805024/805024 7/7 [0] default vmalloc
<alloc_bytes>/<max_bytes> <alloc_count>/<tot_alloc> [<failed_alloc>] <name>
643268032/643268032 5460/5463 [0] default kmalloc

10

- CONFIDENTIAL -

Archivos en /proc/hades
/proc/hades/cpuload
+ Representa la carga porcentual en cada uno de los

cores del gateway


+ Permite identificar si la carga est balanceada y a
travs de la ejecucin peridica, tener un registro de
carga en el tiempo
[root@ss90 hades]# cat cpuload
average load: 8
cpu0 system load:
12
cpu1 system load:
4

11

- CONFIDENTIAL -

Archivos en /proc/hades
/proc/hades/interfaces
+ Muestra la configuracin de las interfaces del gateway

operando en modo bridge


[root@ss90 hades]# cat interfaces
opened interfaces:
Bridge br0 (eth2 <-> eth3) IMPVHA OFF
Bridge br1 (eth4 <-> eth5) IMPVHA OFF

/opt/SecureSphere/etc/patch_level
+ Muestra el historial de patching de equipo
[root@ss90 hades]# cat /opt/SecureSphere/etc/patch_level
Tue Mar 20 08:23:33 ART 2012
9.0.0-2_0
Tue Jun 19 15:43:13 ART 2012
9.0.0-4_0
12

- CONFIDENTIAL -

Comandos impctl
impctl
+ El comando impctl permite la configuracin y control a

bajo nivel de todos los componentes de la solucin.


+ Debe evitar el uso directo de este comendo, al menos
que se recomiende lo contrario. Utilizar impcfg.
+ impctl + TAB para conocer los posibles argumentos.
[root@ss90 hades]# impctl show commands
impctl
|-- boot
|-- configure
|-- disable
|-- enable
|-- flock
|-- flock.c
|-- force-remote-registration
|-- make-udev-network-rules
|-- ng_discover_network
|-- restart

13

- CONFIDENTIAL -

Otros comandos
netstat -plant | grep <port> or <ip address>
+ Permite la identificacin de las sesiones que se originan

o terminan en el gateway
+ til para determinar si las conexiones de los agentes
llegan al gateway correctamente
+ Conexin de control
[root@ss90 ~]# netstat -plant | grep 172.31.1.21
tcp
0
0 172.31.1.50:443
172.31.1.21:48282

ESTABLISHED

+ Conexin de datos
[root@ss90 ~]# netstat -plant | grep 5555
tcp
0
0 172.31.1.50:5555
0.0.0.0:*

14

- CONFIDENTIAL -

LISTEN

Otros comandos
ip route
+ Muestra la tabla de ruteo del gateway.
+ Es importante para entender por donde van a salir los

paquetes, especialmente cual se configura al gateway


en reverse proxy.

[root@ss90 ~]# ip route


1.1.1.0/24 dev lo scope link
172.31.1.0/24 dev eth0 proto kernel
169.254.0.0/16 dev eth0 scope link
default via 172.31.1.1 dev eth0

15

- CONFIDENTIAL -

scope link

src 172.31.1.50

Otros comandos
ip addr
+ Muestra la configuracin de IP de todas las interfaces
+ Es ms completo que hacer un ifconfig -a
+ Es importante para verificar las mscaras de red
[root@ss90 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 1500 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet 1.1.1.1/24 scope global lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
qlen 1000
link/ether 00:0c:29:2f:7c:09 brd ff:ff:ff:ff:ff:ff
inet 172.31.1.50/24 brd 172.31.255.255 scope global eth0
inet6 fe80::20c:29ff:fe2f:7c09/64 scope link
valid_lft forever preferred_lft forever

16

- CONFIDENTIAL -

Logs Server logs


/
opt/SecureSphere/server/SecureSphereWork/logs/
server_log.txt
+ Log del server (Application Server)
+ Holds information about:
Gateway registration
Process executiong errors like Discovery, Assessment, Lookup
Datasec queries, ThreatRadar update, etc
Error apear with the ERROR label

+ Use tail f | grep A5 ERROR to see only error lines


[root@ss90 logs]# tail f server_log.txt | grep A5 ERROR
""2012-07-04 08:43:49,785 ERROR [BL-Thread-Jobs-General_5]
endpointsimport.EndpointDataImporterImpl
(EndpointDataImporterImpl.java:102) - General Error Uploading Table
Group file Failed to retrieve data

17

- CONFIDENTIAL -

Logs Gateway
/opt/SecureSphere/etc/logs/log.html
+ Registra la actividad del gateway
+ Registra cada vez que se baja la configuracin y todos

los errores de procesamiento


+ La salud de los agentes remotos tambin puede ser
monitoreada con este archivo
+ Se puede ver con un browser
<div class="ConfigManager_NOTIFICATION" id="NOTIFICATION">28/06/2012
01:00:22<b>[NOTIFICATION]ConfigManager.cpp:4486</b> Partial configuration update
finished successfully (in 0 seconds)</div>
<div class="SslConnection_warning" id="warning">28/06/2012
14:49:06<b>[warning]SslConnection.cpp:349</b> ssl accept error: 5 (error 0)
([172.31.1.50]:443->[172.31.1.25]:3646)</div>
<div class="SslConnection_warning" id="warning">28/06/2012
14:50:20<b>[warning]SslConnection.cpp:349</b> ssl accept error: 5 (error 0)
([172.31.1.50]:443->[172.31.1.25]:3645)</div>
<div class="HttpConnection_ERROR" id="ERROR">28/06/2012
14:50:20<b>[ERROR]HttpConnection.cpp:101</b> Failed SSL handshake connection
95</div>
18

- CONFIDENTIAL -

Logs - Otros
/opt/oracle/oradata/OracleLogs/alert_secsph.log
+ Log del Oracle (slo en el MX)
+ Normalmente slo mantiene informacin de los

procesos de mantenimiento de Imperva, pero en caso


de encontrar un Internal Error es un punto interesante
para revisar.

/var/log/messages
+ Errores y eventos dentro de la plataforma Linux
+ Es un punto interesante para encontrar errors con

servicios que se ejecutan a nivel de sistema operativo

/var/log/dmesg
+ Log del proceso de booteo del kernel
+ Interesante para ver errores de hardware o de disco

(lgicos)
19

- CONFIDENTIAL -

Acceso a Support
Cmo contactar a soporte?
Informacin necesaria para abrir un
caso
+ impctl support get-tech-info --last-server-archives=5

Recomendaciones para trabajar con


soporte

20

- CONFIDENTIAL -

Acceso a Support
Cmo contactar a soporte?
+ Se debe enviar un mail a la cuenta

support@imperva.com
+ Se debe incluir en todos los casos
Nombre del cliente
Nro de serie del equipo afectado o relacionado (inclusive si es una
pregunta y no hay fallas)

+ Si el caso est relacionado con algn error, ejecutar en

Mx y Gateways afectados:
impctl support get-tech-info --last-server-archives=5

+ Todo el intercambio de archivo se debe hacer por medio

del FTP
ftp-us.imperva.com
Se debe crear un folder con el nmero de caso

21

- CONFIDENTIAL -

Acceso a Support
Recomendaciones
+ Los mails deben describir el problema en ingls. Ese es

el nico idioma soportado (por ahora)


+ Recolectar la informacin antes de abrir el caso, para
minimizar las idas y vueltas con soporte
+ Ser puntual con los horarios de los Webex. La gente de
soporte tiene una agenda apretada y si el cliente se
retrasa, cancelan la webex y siguen con otro caso
+ Si detectan un problema de comunicacin con soporte
notificar al SE que les corresponde

22

- CONFIDENTIAL -

Questions?
Thanks!
Federico Castaeda
Senior SE ROLA
federico@imperva.com

Vous aimerez peut-être aussi