Saltar al contenido principal
Servicio de soporte de OCLC

LogFormat

Aprenda como usar la directiva de config.txt LogFormat para personalizar los datos registrados por EZproxy en el ezproxy.log.

EZproxy tiene la capacidad de registrar grandes cantidades y variados tipos de datos sobre el uso de EZproxy por parte de sus usuarios remotos. Estos datos pueden ser utilizados de varias maneras para evaluar el acceso de los usuarios remotos a EZproxy, identificar problemas de seguridad y solucionar problemas que puedan surgir con su instancia de EZproxy.

La directiva LogFormat y sus campos le brindan la oportunidad de personalizar qué datos desea que EZproxy registre en ezproxy.log. Los mismos campos utilizados para refinar los datos de ezproxy.log también son compatibles con la directiva LogSPU y también se pueden utilizar para personalizar la información contenida en spu.log .

LogFormat es una directiva de config.txt/ezproxy.cfg independiente de la posición que especifica el formato y la información que EZproxy debe utilizar al registrar la actividad del usuario de EZproxy. Estas solicitudes se registran en el archivo ezproxy.log o en el nombre de archivo especificado por LogFile. De forma predeterminada, EZproxy registra esta información utilizando un formato de registro común que es reconocido por muchos paquetes de análisis de archivos de registro del servidor web.

LogFormat Campos para personalizar los datos de registro

En la tabla siguiente se describen los campos especiales que están disponibles para personalizar el formato de registro. Al registrar la información de la URL, EZproxy registra solo la URL de la base de datos remota (p. ej. http://www.somedb.com/) y no la URL de EZproxy correspondiente que ve el usuario (por ejemplo, http://ezproxy.yourlib.org:2050/ o http://www.somedb.com.ezproxy.yourlib.org/). No todos los campos están disponibles en versiones anteriores de EZproxy, por lo que si un campo específico devuelve -, es posible que deba actualizar a la versión actual si desea utilizar ese campo.

Campo Valor
%a Dirección IP del host que accede a EZproxy
%b Número de bytes transferidos
%{expression}e Evaluar expression como una expresión EZproxy
%h La dirección IP del host que accede a EZproxy
%{header}i Encabezado especificado de la solicitud del navegador; cualquier campo de encabezado HTTP puede sustituirse por header; las siguientes filas (hasta %l) son encabezados específicos de EZproxy y de uso común dentro de los registros de EZproxy
%{ezproxy-dbvar #}i Reemplace # con un dígito del 0 al 9 para que se inserte el DbVar asociado con esta base de datos
%{ezproxy-groups}i Lista delimitada por signos más de grupos a los que el usuario tiene acceso (p. ej. General+Restringido)
%{ezproxy-protocol}i Protocolo del servidor remoto al que se accede (p. ej. http, https o ftp)
%{ezproxy-session}i Identificador de EZproxy para la sesión actual del usuario
%{ezproxy-spuaccess}i Cuando se utiliza con LogSPU, inserte "proxy" si el acceso del usuario remoto a la dirección URL será proxy; "local" si se redirige debido a ExcludeIP; o "unknown" si EZproxy no conoce la URL y Option RedirectUnknown aparece en el config.txt.
%{ezproxy-url #}i Parte específica de la URL de destino; # es un número que especifica qué parte se va a insertar. Por ejemplo, en la http://www.somedb.com/abc/defde URL, %{ezproxy-url1}i devolvería abc, %{exproxy-url2}i def y %{ezproxy-url}i una cadena en blanco.
%{ezproxy-usrvar #}i Reemplace # con un dígito del 0 al 9 para que se inserte el UsrVar correspondiente asociado con este usuario
%{referer}i La URL del sitio web en el que se encontraba el usuario antes de acceder a EZproxy, si ese sitio web ha enviado un encabezado de URL de referencia (es posible que desee registrar esto para que pueda ver cómo llegan sus usuarios a EZproxy)
%{user-agent}i El navegador que está utilizando el usuario
%l Nombre de usuario remoto obtenido por identd (si no se utiliza identd , se insertará un -)
%m Método de solicitud (p. ej. GET, POST)
%r Solicitud completa (p. ej. GET http://www.somedb.com HTTP/1.0)
%s HTTP Estado numérico de la solicitud
%t Fecha/hora de la solicitud; También puede aparecer como %{format}t para especificar un formato de hora strftime.
%T Tiempo en segundos para procesar la solicitud
%u Nombre de usuario utilizado para iniciar sesión en EZproxy si aparece la opción LogUser en config.txt; identificador de sesión si la opción LogSession aparece en config.txt; - otherwise. Para registrar tanto el nombre de usuario como la sesión, agregue solo la opción LogUser a config.txty, a continuación, use %u para el nombre de usuario y %{ezproxy-session}i para el identificador de sesión.
%U URL solicitada (p. ej. http://www.somedb.com/)
%v El nombre de host del servidor web virtual (p. ej. www.somedb.com)
%% Signo de porcentaje único (%)
\n Carácter de nueva línea
\t Carácter de tabulación

Consideraciones de privacidad

Al considerar el uso de Option LogUser, Option LogSession y %{ezproxy-session}i, considere cuidadosamente el equilibrio entre las posibilidades de recopilación de datos frente a los posibles problemas de privacidad de poder agrupar el historial de navegación de sus clientes.

Códigos de estado específicos de EZproxy

El campo LogFormat %s registra el estado numérico HTTP de la solicitud. Este campo puede devolver códigos de estado de HTTP estándar, pero también puede registrar códigos de estado especiales en las circunstancias especificadas en la tabla siguiente.

Code Significado
597 Registrado en los intentos de acceso después de que se haya superado el umbral IntruderReject .
598 Intento de acceso a una función de administración de EZproxy no autorizada
599 La URL del punto de partida hacía referencia a un host para el que EZproxy no está configurado
900-905 & 907 Se ha producido un error al recibir la solicitud desde el navegador del usuario remoto
906 Se ha producido un error al reenviar la solicitud desde el navegador del usuario al servidor remoto
950 Se ha producido un error al interpretar una solicitud de administración del usuario remoto
997 Shibboleth Fallo de inicio de sesión Shibboleth debido a una configuración incorrecta de los metadatos (registrado como 999 en las primeras versiones beta de soporte Shibboleth)
998 Acceso denegado basado en una directiva de DenyIfRequestHeader en config.txt
999 Se intenta acceder desde una dirección IP que se encuentra en un intervalo de direcciones RejectIP

Sintaxis

De forma predeterminada, EZproxy utiliza este comando LogFormat:

LogFormat %h %l %u %t "%r" %s %b

Y le proporcionará la siguiente información en este orden:

  • %h: la dirección IP del host que accede a EZproxy
  • %l: el nombre de usuario remoto obtenido por identd, si se utiliza identd; Si no se utiliza identd, verá un -
  • %u: el nombre de usuario o el identificador de sesión, basado en otras opciones config.txt; Si no se incluyen directivas relacionadas en el archivo config.txt , verá un -
  • %t: la fecha y hora en que se realizó la solicitud
  • "%r": la solicitud HTTP completa enviada al servidor remoto; Este campo está contenido entre comillas, por lo que se analiza como un dato aunque contenga espacios, ya que los espacios son generalmente una señal de que está comenzando un nuevo campo de datos
  • %s: el estado numérico HTTP de la solicitud
  • %b: el número de bytes transferidos

Este valor predeterminado le proporcionará la siguiente línea de datos:


132.174.1.1 - - [14 /Mar/2014:09:39:18 -0700] “GET http://www.somedb.com:80/index.html HTTP/1.0” 200 1234

Si desea recopilar información diferente en su archivo ezproxy.log , puede editar config.txt especificar la información y el formato que desea que contengan sus archivos de registro agregando diferentes valores de campo después de la directiva LogFormat . Para obtener una lista completa de los campos disponibles para la personalización, consulte la siguiente tabla

Ejemplo

En la tabla siguiente se proporcionan escenarios en los que los datos recopilados de los registros de EZproxy podrían ser útiles, la instrucción de directiva config.txt que registraría información útil en respuesta a ese escenario y una explicación de por qué esta instrucción de directiva le proporcionaría la información necesaria.

Lo que quiere saber config.txt Directiva ¿Por qué funciona esto?

Datos de usuario y uso

Quieres saber más sobre tus usuarios remotos. Se pregunta por detalles como su ubicación, cuántos datos están transfiriendo en una sesión proxy típica, cuándo están más activos y qué recursos están utilizando.

 

LogFormat %h %l %u %t "%r" %s %b

La configuración predeterminada especificada por la directiva LogFormat le proporciona una selección de información general para evaluar la actividad de sus usuarios remotos en EZproxy.

%h le proporcionará su dirección IP, que puede vincular a una ubicación geográfica

%t revelará las fechas y horas de sus solicitudes, para que pueda determinar cuándo están más activas

%r le mostrará qué recursos solicitan, para que pueda evaluar sus colecciones de recursos electrónicos

%b le mostrará cuántos bytes se transfieren en sus sesiones, revelando exactamente a cuánta información están accediendo cuando utilizan sus recursos de forma remota.

Grupos de usuarios más activos

Desea saber qué grupos dentro de su comunidad de usuarios acceden a los recursos de forma remota con la mayor frecuencia (por ejemplo, a qué grupo/s pertenecen, p. ej. estudiante, estudiante de posgrado, profesorado) Le gustaría utilizar estos datos para comercializar el acceso remoto a la base de datos a grupos que están infrautilizando este servicio.

 

LogFormat %h %l %u %t "%r" %s %b %{ezproxy-groups}i

O

LogFormat %h %l %u %t "%r" %s %b %{ezproxy-usrvar #}i

La configuración predeterminada se conserva para que EZproxy continúe registrando información básica de uso en su registro. Existen dos opciones para recopilar información del grupo de usuarios en función de la configuración y los ajustes de autenticación.

Si tienes Groups definido en el archivo config.txt , puede agregar la primera instrucción config.txt para agregar una lista de grupos de recursos a los que un usuario individual puede acceder a cualquier línea de datos en su registro de EZproxy.

Si tienes UsrVar definido en el archivo user.txt , puede agregar la segunda instrucción config, sustituyendo la variable de usuario, del 0 al 9, que ha incluido en el archivo user.txt para asignar una etiqueta determinada a una selección de usuarios.

Las páginas Groups y uservar proporcionan más detalles sobre cada una de estas opciones de configuración.

Seguridad

Le preocupa la seguridad y desea determinar si se ha producido algún uso sospechoso desde ubicaciones en las que es probable que no estén los usuarios. Desea confirmar que nadie está intentando piratear las cuentas de sus usuarios o descargar cantidades inusualmente grandes de datos.

 

Option LogUser
LogFormat %h %l %u %t "%r" %s %b

El formato predeterminado más la directiva Option LogSession le proporcionará información que puede comparar con los datos proporcionados en los registros de auditoría, según las directivas Audit Most y Location , para evaluar la seguridad.

%u combinado con la directiva Option LogSession, le proporcionan un número de sesión para cada inicio de sesión de usuario.

Audit Most más la directiva Location registrará la dirección IP y la ubicación correspondiente tal como se define en el archivo GeoLiteCity junto con el ID de sesión para cada evento de auditoría registrado.

Puede comparar cualquier sesión sospechosa en el registro de EZproxy buscando el ID de sesión de la sesión identificada en los registros de auditoría de la página de administración. A continuación, puede determinar si la sesión se originó en una ubicación en la que probablemente no estarían los usuarios.