• Acct y Psacct. Monitorizar la Actividad de los Usuarios de un Equipo en GNU/Linux

    ¡Muy buenas querido lector! Si administras un equipo o un servidor GNU/Linux en el que se puedan acreditar múltiples usuarios, en este breve post te explicare como puedes monitorizar la actividad de los mismos, de la mano de GNU Accounting Utilities, un conjunto de utilidades que podrás obtener a través de los paquetes acct o psacct, en función de tu distribución.

    Si sigues estas lineas te explicare que puedes conseguir con estas herramientas, y los comandos más importantes que debes conocer, dependiendo de la información que quieras conocer. Dicho esto, ¡vamos alla!

    Tabla de contenidos:

    1. GNU Accounting Utilities
    2. Instalar acct o psacct en tu distribución
    3. Habilitar el servicio de acct o psacct en el arranque del sistema
    4. Guía de uso
      1. Obtener información relativa a los inicios de sesión
      2. Obtener información relativa al uso de recursos
    5. Si quieres buscas un entorno de auditoria completo

    GNU Accounting Utilities

    GNU Accounting Utilities es un conjunto de utilidades de monitorización enfocadas a que el administrador de un equipo pueda conocer información relativa a los usuarios que se loguean en él, y el uso de recursos que realizan.

    Como puedes imaginar, es una herramienta enfocada sobretodo en entornos de servidores, que es donde suelen haber diferentes usuarios pudiendo iniciar sesión en una misma máquina.

    Entre los diferentes parámetros que permiten monitorizar, destacaría los siguientes:

    • Fechas de inicio de sesión de cada usuario
    • Tiempos de sesión de cada usuario
    • Uso de comandos por parte de cada usuario

    Instalar Acct o Psacct en tu Distribución

    GNU Accounting Utilities se presenta en dos paquetes diferentes, en función de la distribución GNU/Linux en la que te encuentres: acct y psacct. Así pues, deberás instalar un paquete u otro según aplique en tu caso particular.

    Para las distribuciones que hacen uso del formato de paquetes .deb, representados por la extensa familia de Debian y sus derivados, el paquete a instalar es acct. De ese modo, si te encuentras en la misma Debian, Ubuntu, o Linux Mint, por nombrar algunos ejemplos, puedes realizar la instalación utilizando este comando:

    sudo apt install acct

    Por otro lado, para las distribuciones del universo RPM, ya sea Fedora, openSUSE o muchas otras, el paquete es psacct. Si estás en Fedora, puedes realizar la instalación con DNF de la siguiente manera:

    sudo dnf install psacct

    Para el caso de openSUSE, el paquete a instalar es el mismo que en el caso de Fedora, pero en este caso deberás utilizar Zypper como gestor de paquetes.

    sudo zypper install psacct

    Habilitar Acct o Psacct en el Arranque del Sistema

    Instalados ya los paquetes correspondientes, ahora lo que faltaría es habilitar el servicio o demonio asociado a acct o psacct, por tal de que se ejecute siempre en segundo plano. Para ello, puedes utilizar systemctl, tal como te indico a continuación.

    sudo systemctl enable acct.service

    Una vez hecho esto, faltaría reiniciar y comprobar, tras el próximo arranque, que el servicio esté habilitado. Para ello, puedes usar igualmente systemctl de la forma que te muestro a continuación.

    sudo systemctl status acct.service

    Si todo esta correcto, te debería aparecer un output por pantalla indicando que el servicio se encuentra activo.

    Guía de Uso

    Ahora que ya tienes el servicio corriendo en segundo plano, la herramienta ya podrá empezar a registrar los diferentes parámetros que cubre relativos a la actividad de los diferentes usuarios. Para ello, voy a dividir esta guía en dos partes.

    Primero me enfocaré en los diferentes comandos que te permitirán conocer la información relativa a los inicios de sesión de los usuarios, y luego entraremos en la parte del uso de recursos.

    Obtener Información Relativa a los Inicios de Sesión

    Empezemos por el caso mas sencillo. Para conocer el tiempo total de conexión en el equipo por parte del conjunto de todos los usuarios que en algun momento han iniciado sesión en el equipo, puedes utilizar el siguiente comando:

    sudo ac

    El comando anterior te dará un numero representando el tiempo total de sesiones activas de usuario. Esto puede que no te diga mucho, pero puedes conocer el mismo dato desglosado por días. Para ello, tan solo tienes que añadir el parámetro -d, tal como te indico abajo.

    sudo ac -d

    Si quieres conocer el tiempo total de conexión al equipo, pero desglosado en función de los diferentes usuarios que han iniciado sesión en algun momento, puedes utilizar el mismo comando del principio, pero añadiéndole el parámetro -p.

    sudo ac -p

    Obtener Información Relativa a los Recursos Utilizados

    Para obtener el listado de todos los comandos ejecutados, puedes utilizar el comando sa. Si lo usas sin argumentos, verás un listado de comandos, con los valores totales para el conjunto de todos los usuarios.

    sudo sa

    Si quieres obtener el mismo listado de comandos anterior, pero añadiendo el dato del usuario que ejecuta cada comando, tan solo debes añadir el parámetro -u, tal como te copio a continuación:

    sudo sa -u

    También puedes obtener un resumen, en base a cada usuario, del numero de procesos ejecutados y el tiempo de CPU. En este caso, solo debes utilizar el parámetro -m.

    sudo sa -m

    Estos son solo algunos de los comandos que he considerado mas interesantes, pero si quiers conocer más, te dejo con el listado completo que aparece en la pagina oficial del proyecto:

    Si Quieres un Entorno de Auditoria Completo

    Si buscas un entorno de auditoria completo, te recomiendo que no dejes de echar un ojo a este post en el que hablo de Linux Audit Framework, un conjunto de herramientas y utilidades integradas como módulo en el propio kernel, y que, en su conjunto, proporcionan un potente entorno de auditoria, gracias a la monitorización todo tipo de eventos de sistema, y a contar con utilidades especificas para ayudarte en la búsqueda y reporting de dichos eventos.

  • Portmaster. Conoce el Mejor Cortafuegos de Aplicación para GNU/Linux

    Muy buenas lector. En este post te introduciré a Portmaster, una interesante aplicación libre y de código abierto, con la que podrás realizar una potente gestión de cortafuegos, pero desde una interfaz gráfica extremadamente senzilla e intuitiva.

    (más…)
  • Git (II). Instalación y Configuración Inicial

    Muy buenas lector. Este es el segundo post de la serie sobre Git, el famoso sistema de control de versiones desarrollado por Linus Torvalds en 2007, y que a día de hoy podemos decir que se ha convertido en el estándar en el estándar de facto en su ambito.

    (más…)
  • Bash Scripting en Linux (VII). Ejemplo: Análisis Semanal con ClamAV, Chkrootkit y Rkhunter

    Muy buenas. Ahí va otro post de la serie de Linux Scripting. Ahora que ya conoces el entorno de Bash, la sintaxis básica del lenguaje, los pasos a seguir para crear y ejecutar tu primer script de forma manual, e incluso las formas que tienes para programar la ejecución de tu script en el arranque del sistema, es hora de ir a por la parte de ejemplos prácticos.

    (más…)
  • RustDesk. Conoce la Mejor Alternativa a TeamViewer para GNU/Linux

    Muy buenas!! Cuando hablo de software de escritorio remoto, seguramente, los primeros nombres que te vienen a la cabeza cuando hablo de esto son TeamViewer o AnyDesk, dos aplicaciones muy utilizadas, especialmente en los departamentos de soporte al usuario de las empresas.

    (más…)
  • Ubuntu 22.04 LTS + Nvidia. Como Forzar el Inicio de Sesión con Wayland

    Muy buenas lector! Si eres usuario de un ordenador con gráficos Nvidia, y lo utilizas con Ubuntu 22.04 LTS, en este post te explicare como puedes establecer que, por defecto, el sistema inicie sesión con Wayland como servidor gráfico, en vez de X11, que es la opción que en Canonical decidieron dejar por defecto, únicamente en el caso de las gráficas Nvidia.

    Explico esto porque personalmente, el hecho de cambiar el servidor gráfico por defecto de X11 a Wayland es lo que me ha permitido solucionar un problema bastante molesto, el cual no me permitia capturar mi raton al realizar un screencast con el capturador de pantalla de GNOME.

    (más…)
  • Git (I). Introducción. Como Funciona

    Muy buenas lector. Este es un primer post de una serie completa que quiro estrenar sobre Git, un sistema de control de versiones libre y de código abierto, desarrollado por Linus Torvalds en 2007, y que a día de hoy se ha convertiro en todo un estándar en el ámbito de la programación y el desarrollo.

    (más…)
  • Bash Scripting en Linux (VI). Ejemplo: Setup Post Instalacion en Ubuntu

    Muy buenas. Ahí va otro post de la serie de Linux Scripting. Ahora que ya conoces el entorno de Bash, la sintaxis básica del lenguaje, los pasos a seguir para crear y ejecutar tu primer script de forma manual, e incluso las formas que tienes para programar la ejecución de tu script en el arranque del sistema, es hora de ir a por la parte de ejemplos prácticos.

    (más…)
  • Firejail. Sandbox Para Ejecutar Aplicaciones de Forma Aislada en Linux

    Muy buenas lector. En este post te hablaré de Firejail, una herramienta disponible en cualquier distribución GNU/Linux y que, haciendo uso de varios de los mecanismos de seguridad presentes en el kernel Linux, permite actuar como sandbox para cualquier aplicación que desees.

    (más…)
  • Fail2Ban. Como Configurarlo en GNU/Linux para Prevenir Ataques de Fuerza Bruta

    Muy buenas. En este post te hablaré de Fail2Ban, una herramienta de seguridad fundamental en servidores GNU/Linux para prevenir intentos de acceso por fuerza bruta contra todo tipo de servicios abiertos al exterior.entenderás el porqué representa un herramienta de prevención de intrusiones fundamental, especiaunque tambien puede ser util a nivel más desktop, si tienes algun servicio que te permita conectarte vía remota.

    (más…)