domingo, 14 de abril de 2019

Uso de ARM para monitorizar un instancia de Tor

ARM es una herramienta que se ejecuta por lineas de comandos y permite monitorizar el comportamiento y los eventos ocurridos en una instancia Tor, funcionando de una forma muy similar a como lo hace el comando "top" en sistemas basados en GNU/Linux. Esta aplicación se encuentra escrita en python y no necesita un proceso de compilación e instalación  previo siendo muy sencillo su uso. Para descargar la herramienta se puede utilizar el comando "APT" en distribuciones basadas en Debian.
apt-get install tor-arm
La instalación se lleva a cabo en los directorios compartidos del sistema (/usr/share/arm/) ahora es posible comenzar a utilizar ARM simplemente ejecutando el comando “arm” desde consola, de este modo de podrá ver información del servicio TOR correspondiente a:
  •     Figerprint del servicio
  •     Nickname del servicio
  •     Número de bytes de subida y de bajada
  •     Porcentaje de Memoria utilizada por TOR
  •     Porcentaje de CPU utilizado por TOR
  •     PID del servicio TOR
  •     Tiempo que lleva activo el servicio
  •     Reporte en tiempo real
  •     Menú de opciones muy completo para controla el servicio de TOR y las conexiones establecidas.

 

USO DE ARM

Antes de comenzar a utilizar ARM, es necesario que el fichero de configuración de TOR (torrc) tenga la opción ControlPort, esto es obligatorio ya que esta opción permite que clientes externos (como en este caso ARM)  establecer una conexión con el servicio y posteriormente consultar sus propiedades y controlar su comportamiento. Además se recomienda definir la opción HashedControlPassword o CookieAuthentication con el fin de no permitir que cualquier cliente se pueda conectar al servicio de TOR, evidentemente es mejor evitar que cualquier usuario pueda conectarse sin ningún tipo de restricción al servicio de TOR. En el caso de que estas opciones se declaren en el fichero de configuración de TOR, cuando se inicie ARM, lo primero que solicitará TOR será la contraseña de acceso al servicio (El puerto por defecto es el 9051).
Las opciones disponibles en ARM son: 
>arm -h
Usage arm [OPTION]
Terminal status monitor for Tor relays.
-g, –gui launch the Gtk+ interface
-i, –interface [ADDRESS:]PORT change control interface from 127.0.0.1:9051
-c, –config CONFIG_PATH loaded configuration options, CONFIG_PATH
defaults to: /root/.arm/armrc
-d, –debug writes all arm logs to /root/.arm/log
-b, –blind disable connection lookups
-e, –event EVENT_FLAGS event types in message log (default: N3)
d DEBUG a ADDRMAP k DESCCHANGED s STREAM
i INFO f AUTHDIR_NEWDESCS g GUARD r STREAM_BW
n NOTICE h BUILDTIMEOUT_SET l NEWCONSENSUS t STATUS_CLIENT
w WARN b BW m NEWDESC u STATUS_GENERAL
e ERR c CIRC p NS v STATUS_SERVER
j CLIENTS_SEEN q ORCONN
DINWE tor runlevel+ A All Events
12345 arm runlevel+ X No Events
67890 torctl runlevel+ U Unknown Events
-v, –version provides version information
-h, –help presents this help
Example:
arm -b -i 1643 hide connection data, attaching to control port 1643
arm -e we -c /tmp/cfg use this configuration file with ‘WARN’/’ERR’ events
Como puede apreciarse, el valor por defecto de la interfaz de control es 127.0.0.1:9051, sin embargo si el servicio de TOR se encuentra en ejecución en un puerto distinto (o en una máquina distinta) es necesario establecer este valor con la opción “-i”.
Ahora, el funcionamiento de ARM es casi por completo interactivo y muchas de las opciones que definen el comportamiento de la herramienta pueden ser cambiadas posteriormente desde la propia herramienta en ejecución, a continuación se indica el funcionamiento de ARM utilizando algunas capturas de pantalla, principalmente porque “una imagen vale más que mil palabras”.
m: menu, p: pause, h: page help, q: quit
Controller password:
En el panel superior de la interfaz se puede apreciar datos relacionados con el relay y las políticas asociadas a este, así como también se puede apreciar información general como la versión de TOR, el tiempo que lleva en ejecución, la carga de la maquina y el fingerprint del servicio. En la zona central se puede apreciar el trafico de subida y de bajada y finalmente en la parte inferior de la pantalla se pueden ver las trazas relacionadas con los eventos ADDMAP (a), NOTICE (n) y INFO (i) estos valores representan la opción “-e ani” del comando ejecutado.
Por otro lado, se pueden controlar todos los eventos y demás con las opciones que aparecen justo por encima de los reportes en tiempo real de subida y bajada.
Las opciones que se incluyen en este menú se indican a continuación:
Actions:

Close Menu: Cierra el Menú.

New Identity: Crea un nuevo circuito para cambiar la dirección de origen de las peticiones.

Stop TOR: Detiene TOR

Reset TOR: Resetea TOR

Setup Wizard: Asistente encargado de configurar el servicio de TOR, habilitando opciones muy similares a las disponibles en Vidalia, tales como crear un Internal Relay, Exit Relay, Bridge y Client.

Pause: Pausar el gráfico en tiempo real y los logs enseñados en ARM

Exit: Salir del Programa.
Posteriormente en el menú “View” se incluyen reportes y opciones muy interesantes.

Escrito por Daniel Echeverri Montoya.
Extraido en parte de este link.

No hay comentarios.: