Les teves pròpies Notícies IT

Una cosa que potser pugui resultar interessant a un departament d'IT és estar al dia quant a què succeeix al nostre voltant, obtenir notícies del nostre món, que són interessants de conèixer, com puguin ser butlletins de seguretat, o conèixer quan un fabricant nostre ha publicat una nova versió, parxís… d'algun producte que usem…

Bo, doncs per a això i altres coses més que anirem veient, farem servir un lector de RSS, així de simple, però vam fer-ho bé, i bonic :-). Podem desplegar en un minut, un contenidor de Docker on tinguem un lector i agregador de notícies basat en web (RSS/Atom) gratuït i de codi obert, en aquest document farem servir Tiny Tiny RSS, que és molt llivià, senzill i complet.

Però no només serà un portal de notícies on puguem accedir manualment via web o amb una app als nostres mòbils, si no que podrem configurar-la perquè ens enviï un mail amb el resum diari de les notícies, per exemple, en arribar al matí que tinguem un correu amb les notícies importants de ciberseguretat, o si tenim algun parxís que haguem d'aplicar…

Y, el contingut? ¿las suscripciones? Pues com te imaginarás, entre comillas es algo personal, dependerá de qué quieras estar al tanto, per exemple puedas suscriure't a llistes d'avisos, de alertas primerenques en cuanto a ciber, o conèixer los últims atacs a empreses espanyoles, o el que s' ha dit, suscribiret a los llocs de descàrregues dels teus fabricants, i quan en la seva web publiquen una nova versió, lo sepas.

Para desplegar ràpidament els contenedors de Tiny Tiny RSS tendrem que tenir prèviament una màquina amb Linux preparada, per exemple Ubuntu Server, amb Docker y Docker Compose instal·lats; a part del de sempre, que tingui la màquina un nombre, direccionamiento IP, NTP… En el meu cas creo una carpeta llamada 'tinytinyrss’ on deixarem un par de ficheros, el primer el que porta la configuració llamada '.env’ y os dejo aquí su contenido, obtenido de la documentación oficial, debéis establecer al menos la contraseña del usuario 'admin':

# Posa qualsevol modificació local aquí.

# Executa FPM sota aquest UID/GID.
# OWNER_UID=1000
# OWNER_GID=1000

# FPM settings.
#PHP_WORKER_MAX_CHILDREN=5
#PHP_WORKER_MEMORY_LIMIT=256M

# ADMIN_USER_* configuracions s'apliquen a cada inici.

# Configura la contrasenya d'usuari d'administrador a aquest valor. Si no s'activa, es generarà una contrasenya aleatòria a l'inici, busca-la als registres del contenidor de l'aplicació.
ADMIN_USER_PASS=CONTRASEÑA_DE_ADMIN

# Configura el nivell d'accés d'usuari administrador a aquest valor. Valors vàlids:
# -2 - prohibit iniciar sessió
# -1 - només lectura
#  0 - usuari per defecte
# 10 - admin
#ADMIN_USER_ACCESS_LEVEL=

# Crea automàticament un altre usuari (a més de l'administrador integrat) tret que ja existeixi.
#AUTO_CREATE_USER=
#AUTO_CREATE_USER_PASS=
#AUTO_CREATE_USER_ACCESS_LEVEL=0

# Credencials de base de dades per defecte.
TTRSS_DB_USER=postgres
TTRSS_DB_NAME=postgres
TTRSS_DB_PASS=password

# Probablement necessitaràs establir-ho al valor correcte - hauria d'apuntar a la URL externa de tt-rss tal com la veus al teu navegador.
TTRSS_SELF_URL_PATH=http://example.com/tt-rss

# Pots personalitzar altres defines de config.php establint sobrescripcions aquí. Consulta tt-rss/.docker/app/Dockerfile per a la llista completa. Exemples:

# TTRSS_PLUGINS=auth_remote
# TTRSS_SINGLE_USER_MODE=true
# TTRSS_SESSION_COOKIE_LIFETIME=2592000
# TTRSS_FORCE_ARTICLE_PURGE=30
# ...

# Vincula el port exposat a 127.0.0.1 per executar darrere d'un proxy invers al mateix host. Si penses exposar el contenidor, elimina "127.0.0.1:".
#HTTP_PORT=127.0.0.1:8280
HTTP_PORT=8280

Així mateix crearem el fitxer ‘docker-compose.yml’ amb la configuració dels contenidors:

version: Serveis '3':
  db:
    image: postgres:15-alpine
    restart: unless-stopped
    env_file:
      - .env
    environment:
      - POSTGRES_USER=${TTRSS_DB_USER}
      - POSTGRES_PASSWORD=${TTRSS_DB_PASS}
      - POSTGRES_DB=${TTRSS_DB_NAME}
    volums:
      - db:/var/lib/postgresql/data

  app:
    image: cthulhoo/ttrss-fpm-pgsql-static:latest
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - app:/var/www/html
      - ./config.d:/opt/tt-rss/config.d:ro
    depends_on:
      - db

#  optional, makes weekly backups of your install
#  backups:
#    image: cthulhoo/ttrss-fpm-pgsql-static:latest
#    restart: unless-stopped
#    env_file:
#      - .env
#    volums:
#      - backups:/backups
#      - app:/var/www/html
#    depends_on:
#      - db
#    command: /opt/tt-rss/dcron.sh -f

  updater:
    image: cthulhoo/ttrss-fpm-pgsql-static:latest
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - app:/var/www/html
      - ./config.d:/opt/tt-rss/config.d:ro
    depends_on:
      - app
    command: /opt/tt-rss/updater.sh

  web-nginx:
    image: cthulhoo/ttrss-web-nginx:latest
    restart: unless-stopped
    env_file:
      - .env
    ports:
      - ${HTTP_PORT}:80
    volums:
      - app:/var/www/html:ro
    depends_on:
      - app

volumes:
  db:
  app:
  backups:

Y, tras guardar ambos ficheros ya podemos descargar las imágenes y desplegar los contenedores ejecutando:

sudo docker compose up -d

Y ya podremos acceder con un navegador por HTTP al puerto que indicamos en el fichero de configuración, por defecto el 8280tcp. Entraremos con el usuario ‘adminy la contraseña igualmente establecida en el fichero de configuración.

Veréis que a aplicación no tiene mucho misterio, el seu ús és molt fàcil, arriba a la dreta podrem entrar a les preferències i crear directoris per organitzarnos, així com per afegir llocs, bé por la seva URL o el seu RSS, no ens preocuparem ja que afegirà perfectament la web de la que volem tenir notícies quan publiquen alguna cosa, se le pondrá su icono…

Y algo así quedaría por exemple las noticias de Una al día de Hispasec, també per supuesto os recomiendo las llistes de INCIBE, la de Avisos, la de su Bitàcora de ciberseguretat o si queréis la de Vulnerabilitats… O también las del Centro Criptológico Nacional o CCN-CERT, tenim Avisos, Alertes y Vulnerabilitats entre d' altres. Cuantas menos, mejor 😉

O por exemple lo dicho, podem usarla per suscribirnos a nostres fabricants, y que cuando saquen una nova versió de un producte que usemos lo sepamos, o un parche, update… Bastará con ir a la web del fabricante, buscar la URL o el RSS de la web donde suela publicarlos, y añadirla a nuestro Tiny Tiny RSS (en las Fuentes).

Se puede compartir la mateixa instància de Tiny Tiny RSS per tenir un usuari genèric i compartir amb el resto de l'equip, o cada uno podrà tenir el seu propi usuari d'accés i les seves pròpies suscripcions.

Y tenéis varios clientes RSS en los Stores de vuestros móviles, yo uso en Android la app original. Os dejo unos pantallazos de cómo se verían las distintas vistas,

Y, (per a mi) lo mejor de todo esto… és que no es necessari estar pendent d'accedir al lloc web per estar informado. Si no que lo comenta, se puede recibir un mail diario con el resumen, del que tu triïs i com veieu totalment personalitzable, corporatiu…

Per a això, n'hi haurà prou d'anar a les Preferències de Tiny Tiny RSS en els Correus recopilatoris marcar 'Enable digest'’ i indiquem l'hora aproximada en UTC per rebre'ls.

Perquè funcioni l'enviament SMTP en Tiny Tiny RSS haurem de descarregar un Plugin i donar-nos permisos, ho farem executant alguna cosa com això:

git clone https://git.tt-rss.org/fox/ttrss-mailer-smtp.git /var/lib/docker/volumes/tinytinyrss_app/_data/tt-rss/plugins.local/mailer_smtp
chown USUARIO_LINUX: /var/lib/docker/volumes/tinytinyrss_app/_data/tt-rss/plugins.local/mailer_smtp/ -R

Per configurar el SMTP, n'hi haurà prou d'afegir al nostre fitxer '.env'’ aquestes configuracions:

TTRSS_PLUGINS=mailer_smtp,auth_internal,nginx_xaccel,note
TTRSS_SMTP_FROM_NAME='NOMBRE DEL REMITENTE'
TTRSS_SMTP_FROM_ADDRESS=CO**************@*****IO. ESO
TTRSS_SMTP_SERVER=SERVIDOR_SMTP:587
TTRSS_SMTP_LOGIN=US*****@*****IO. ESO
TTRSS_SMTP_PASSWORD=CONTRASEÑA
TTRSS_SMTP_SECURE=tls
TTRSS_SMTP_SKIP_CERT_CHECKS=yes
TTRSS_DIGEST_SUBJECT='ASUNTO DEL CORREO'

I res, regeneramos los contenedores con los canvis realitzats, encara que em poso a pensar i potser amb reiniciar el contenedor valdría, total, que:

sudo docker compose up -d

Si queréis canviar la plantilla del correo, para hacerlo personalitzat, tendréis que editar el fichero /home/usuario/tinytinyrss/digest_template_html.txt, vaya o donde hayáis creat la carpeta de 'tinytinyrss', y con codi HTML lo tendremos en un periquete:

<!-- $BeginBlock digest -->
<p style='font-family:Roboto Slab; font-size:14px'>Buenos d&iacute;as,</p>
<p style='font-family:Roboto Slab; font-size:14px'>Te enviamos las &uacute;ltimas noticias y novedades, per favor, presta atención:</p>

<!-- $BeginBlock feed -->
<b><p style='font-family:Roboto Slab'>${FEED_TITLE}</p></b>

<ul>
<!-- $BeginBlock article -->
<li style='font-family':Roboto Slab; font-size:14px'><a href="${ARTICLE_LINK}">${ARTICLE_TITLE}</a>
<div><em>${ARTICLE_LABELS}</em></div>
<div>${ARTICLE_EXCERPT}</div>
<!-- $Article d'EndBlock -->
</ul>
<!-- $Feed d'EndBlock -->


<p>Y aquí ponéis vuestra ferma</p>
<!-- $EndBlock digest -->

Bo, ¿chulo? Ara no tenemos excusa para no estar al dia de tot lo que sucede a nuestro alrededor, de les últimes notícies de ciberseguretat, de les nostres llocs IT de referència (com pugui ser aquest blog 😉 😉 ), de quan el producte de torn té una actualització… Com sempre, es mezclar cosas, dar ideas y posibilidades de mejorar la nostra organització en els nostres departaments, com sempre, que seáis felices y comés perdices!

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!