Guia de Troubleshooting Imperva

23
Troubleshooting Guide Federico Castañeda Principal SE ROLA, SE Manager CALA [email protected]

description

Guía de fabricante para evaluación de Troubleshooting para equipo WAF Imperva

Transcript of Guia de Troubleshooting Imperva

Presentation Title Arial 32 pt, Bold, Black

Troubleshooting GuideFederico CastaedaPrincipal SE ROLA, SE Manager [email protected] 1AgendaHerramientas DisponiblesFAQMXGateway Agentes RemotosSoporteCmo contactar a soporte?Informacin necesaria para abrir un casoRecomendaciones- CONFIDENTIAL -2Herramientas disponiblesArchivos InteresantesComandos impctl Otros comandosLogs- CONFIDENTIAL -3Archivos interesantes - /proc/hadesEn el gateway, todo el procesamiento de paquetes lo realiza el kernel por medio de un mdulo denominado hadesComo 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 -4Archivos en /proc/hades /proc/hades/statusBrinda una visin de las variables generales de procesamiento de trficoSe utiliza para realizar el dimensionamiento de los equipos durante un PoC- CONFIDENTIAL -5[root@ss90 hades]# cat statusGlobal: 3516 Kbps (max 371140 Kbps) 172.31.1.25:1025 [526042313 50377] FileServer_xxxxxx:any-tcp#962 0 0 (0 0) 0.0.0.0:65535 -> 0.0.0.0:0 [302702929 57681] Farm_-_OneBox_xxxxxx:http

Archivos en /proc/hades /proc/hades/nzcountersMuestra todos los contadores internos que no estn en ceroAquellos que contienen [!] corresponden a contadores asociados a erroresEl incremento contantes de contadores con errores representa un problema a analizarwatch -d -n 1 cat /proc/hades/nzcounters- CONFIDENTIAL -7[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)Archivos en /proc/hades /proc/hades/sg_xxxxLos sub directorios que comienzan con la sigla sg_ representan la entidad Server Group definida en la GUIContienen valores especficos de ese server groupSe utilizan para analizar un server group en particular- CONFIDENTIAL -8[root@ss90 hades]# ls -l sg_SuperVedaDB_-779746907540713504total 0-r--r--r-- 1 root root 0 Jul 3 02:50 aggregations-rw-r--r-- 1 root root 0 Jul 3 02:50 counters-r--r--r-- 1 root root 0 Jul 3 02:50 filtersdr-xr-xr-x 2 root root 0 Jul 3 02:50 hooksdr-xr-xr-x 2 root root 0 Jul 3 02:50 new-hooks-rw-r--r-- 1 root root 0 Jul 3 02:50 nzcounters-r--r--r-- 1 root root 0 Jul 3 02:50 policies-r--r--r-- 1 root root 0 Jul 3 02:50 registered_hooks-r--r--r-- 1 root root 0 Jul 3 02:50 servicesdr-xr-xr-x 4 root root 0 Jul 3 02:50 srv_MySQL_6933119632852556197-r--r--r-- 1 root root 0 Jul 3 02:50 statusArchivos en /proc/hades /proc/hades/sg_xxxx/svc_xxxxLos sub directorios que comienzan con la sigla svc_ representan la entidad Service definida en la GUISiempre se encuentran dentro de un sg_Contienen valores especficos de ese servicio- CONFIDENTIAL -9[root@ss90 hades]# ls -l sg_SuperVedaDB_-779746907540713504/srv_MySQL_6933119632852556197/total 0dr-xr-xr-x 2 root root 0 Jul 3 02:51 app_Default_MySql_Application_-608108429dr-xr-xr-x 2 root root 0 Jul 3 02:51 connectors-rw-r--r-- 1 root root 0 Jul 3 02:51 counters-r--r--r-- 1 root root 0 Jul 3 02:51 histograms-rw-r--r-- 1 root root 0 Jul 3 02:51 nzcounters-r--r--r-- 1 root root 0 Jul 3 02:51 open_mode-r--r--r-- 1 root root 0 Jul 3 02:51 open_mode_streams-r--r--r-- 1 root root 0 Jul 3 02:51 policies-r--r--r-- 1 root root 0 Jul 3 02:51 ports-r--r--r-- 1 root root 0 Jul 3 02:51 registered_hooks-rw-r--r-- 1 root root 0 Jul 3 02:51 specific_stream-r--r--r-- 1 root root 0 Jul 3 02:51 streams-r--r--r-- 1 root root 0 Jul 3 02:51 temp_portsArchivos en /proc/hades /proc/hades/meminfoRepresenta todos los indicadores relacionados con el uso de memoriaEntre [n] se identifican aquellos bloques de memoria que no han podido ser reservado, lo que seguramente gener algn errorcat meminfo | egrep "\[[1-9][0-9]*\]"- CONFIDENTIAL -10[root@ss90 hades]# cat meminfoDynamic cache total memory: 627712KB Free: 337536KB Total Blocks: 4904 Free blocks: 2637 LRU blocks: 1

/ / [] 805024/805024 7/7 [0] default vmalloc

/ / [] 643268032/643268032 5460/5463 [0] default kmallocArchivos en /proc/hades /proc/hades/cpuloadRepresenta la carga porcentual en cada uno de los cores del gatewayPermite identificar si la carga est balanceada y a travs de la ejecucin peridica, tener un registro de carga en el tiempo

- CONFIDENTIAL -11[root@ss90 hades]# cat cpuloadaverage load: 8cpu0 system load: 12cpu1 system load: 4Archivos en /proc/hades /proc/hades/interfacesMuestra la configuracin de las interfaces del gateway operando en modo bridge

- CONFIDENTIAL -12[root@ss90 hades]# cat interfacesopened interfaces:

Bridge br0 (eth2 eth3) IMPVHA OFFBridge br1 (eth4 eth5) IMPVHA OFF/opt/SecureSphere/etc/patch_levelMuestra el historial de patching de equipo

[root@ss90 hades]# cat /opt/SecureSphere/etc/patch_level

Tue Mar 20 08:23:33 ART 20129.0.0-2_0

Tue Jun 19 15:43:13 ART 20129.0.0-4_0Comandos impctlimpctlEl 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.- CONFIDENTIAL -13[root@ss90 hades]# impctl show commandsimpctl |-- boot |-- configure |-- disable |-- enable |-- flock |-- flock.c |-- force-remote-registration|-- make-udev-network-rules|-- ng_discover_network|-- restart Otros comandosnetstat -plant | grep or Permite la identificacin de las sesiones que se originan o terminan en el gatewaytil para determinar si las conexiones de los agentes llegan al gateway correctamenteConexin de control

Conexin de datos- CONFIDENTIAL -14[root@ss90 ~]# netstat -plant | grep 5555tcp 0 0 172.31.1.50:5555 0.0.0.0:* LISTEN -[root@ss90 ~]# netstat -plant | grep 172.31.1.21tcp 0 0 172.31.1.50:443 172.31.1.21:48282 ESTABLISHED -Otros comandosip routeMuestra 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.- CONFIDENTIAL -15[root@ss90 ~]# ip route1.1.1.0/24 dev lo scope link 172.31.1.0/24 dev eth0 proto kernel scope link src 172.31.1.50 169.254.0.0/16 dev eth0 scope link default via 172.31.1.1 dev eth0Otros comandosip addrMuestra la configuracin de IP de todas las interfacesEs ms completo que hacer un ifconfig -aEs importante para verificar las mscaras de red- CONFIDENTIAL -16[root@ss90 ~]# ip addr1: lo: 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 forever2: eth0: 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 foreverLogs Server logs/opt/SecureSphere/server/SecureSphereWork/logs/server_log.txtLog del server (Application Server)Holds information about:Gateway registrationProcess executiong errors like Discovery, Assessment, Lookup Datasec queries, ThreatRadar update, etcError apear with the ERROR labelUse tail f | grep A5 ERROR to see only error lines- CONFIDENTIAL -17[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 dataLogs Gateway /opt/SecureSphere/etc/logs/log.htmlRegistra la actividad del gatewayRegistra cada vez que se baja la configuracin y todos los errores de procesamientoLa salud de los agentes remotos tambin puede ser monitoreada con este archivoSe puede ver con un browser

- CONFIDENTIAL -1828/06/2012 01:00:22[NOTIFICATION]ConfigManager.cpp:4486 Partial configuration update finished successfully (in 0 seconds)28/06/2012 14:49:06[warning]SslConnection.cpp:349 ssl accept error: 5 (error 0) ([172.31.1.50]:443->[172.31.1.25]:3646)28/06/2012 14:50:20[warning]SslConnection.cpp:349 ssl accept error: 5 (error 0) ([172.31.1.50]:443->[172.31.1.25]:3645)28/06/2012 14:50:20[ERROR]HttpConnection.cpp:101 Failed SSL handshake connection 95Logs - Otros/opt/oracle/oradata/OracleLogs/alert_secsph.logLog 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/messagesErrores y eventos dentro de la plataforma LinuxEs un punto interesante para encontrar errors con servicios que se ejecutan a nivel de sistema operativo/var/log/dmesgLog del proceso de booteo del kernelInteresante para ver errores de hardware o de disco (lgicos)

- CONFIDENTIAL -19Acceso a SupportCmo contactar a soporte?Informacin necesaria para abrir un casoimpctl support get-tech-info --last-server-archives=5Recomendaciones para trabajar con soporte

- CONFIDENTIAL -20Acceso a SupportCmo contactar a soporte?Se debe enviar un mail a la cuenta [email protected] debe incluir en todos los casosNombre del clienteNro 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=5Todo el intercambio de archivo se debe hacer por medio del FTPftp-us.imperva.comSe debe crear un folder con el nmero de caso- CONFIDENTIAL -21Acceso a SupportRecomendacionesLos 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 soporteSer 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 casoSi detectan un problema de comunicacin con soporte notificar al SE que les corresponde- CONFIDENTIAL -22Questions?Thanks!Federico CastaedaSenior SE [email protected] 23