Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums



(Advanced Search)

Forum Statistics
» Members: 6.668
» Latest member: laser_hair_removal_miami
» Forum threads: 3.297
» Forum posts: 19.133

Full Statistics

Online Users
There are currently 239 online users.
» 2 Member(s) | 234 Guest(s)
Bing, Facebook, Google

Latest Threads
Como de importante es la ...
Forum: Empezando con tu NAS
Last Post: yeraycito
11 minutes ago
» Replies: 1
» Views: 9
Docker BotTorrent v4.1 y ...
Forum: VMs & Docker Containers
Last Post: jesusguason
3 hours ago
» Replies: 13
» Views: 485
Actualizar el microcode d...
Forum: Tutoriales
Last Post: yeraycito
Today, 02:00 AM
» Replies: 0
» Views: 33
SSD NVMe M2
Forum: Empezando con tu NAS
Last Post: volteretero
14-06-2024, 02:09 PM
» Replies: 4
» Views: 79
Acceso a datos en myQNAPc...
Forum: Cuestiones técnicas
Last Post: Ganekogorta
12-06-2024, 01:09 PM
» Replies: 1
» Views: 46
Nuevo en el foro
Forum: Presentaciones
Last Post: Ganekogorta
11-06-2024, 08:33 PM
» Replies: 1
» Views: 43
Nuevo con qnap!
Forum: Presentaciones
Last Post: NicolaLambert
11-06-2024, 12:29 PM
» Replies: 2
» Views: 1.708
Docker Authelia para prot...
Forum: VMs & Docker Containers
Last Post: Ganekogorta
10-06-2024, 07:05 PM
» Replies: 0
» Views: 58
No veo manera de loguearm...
Forum: Cuestiones técnicas
Last Post: Ganekogorta
10-06-2024, 06:00 PM
» Replies: 3
» Views: 97
Sincronizar fotos desde e...
Forum: Empezando con tu NAS
Last Post: adrolmar
10-06-2024, 05:51 PM
» Replies: 34
» Views: 40.580

 
  Como de importante es la Ram en un Nas
Posted by: volteretero - 4 hours ago - Forum: Empezando con tu NAS - Replies (1)

Ando inmerso en la compra de un Nas. Pero todo lo que hay ahora en el mercado es 8G
Es decir que tiene la ram soldada y tiene de capacidad máxima 8B
¿Están agotados los de 4 GB, los cuales sí se puede ampliar a 16 GB de Ram
Teniendo en cuenta que el precio prácticamente no varía de uno a otro es recomendable esperar a que haya stock?
¿En qué puede influir tener nada más ocho GB de ram comparado con 16GB aparte de la velocidad supongo?

Enviado desde mi SM-S928B mediante Tapatalk


  Actualizar el microcode del procesador del nas
Posted by: yeraycito - Today, 02:00 AM - Forum: Tutoriales - No Replies

Este tutorial va ser muy largo más que nada por las explicaciones que voy a dar para que se entienda en que consiste y lo que se pretende conseguir, su puesta en funcionamiento va a ser más sencilla. Lo primero que tengo que decir es que va a estar más enfocado en los nas Qnap con procesador Intel aunque también comentaré la posibilidad de implementarlo en nas con procesador AMD, los nas que van a quedar descartados serán los que lleven procesadores ARM o de otro tipo.


INTRODUCCION:


Como es sabido los procesadores van integrados en dispositivos de todo tipo, cuando un fabricante de procesadores sea Intel o AMD saca un procesador al mercado este procesador recibe actualizaciones a lo largo del tiempo y esas actualizaciones son lo que se conoce como microcodes. Esos microcódigos se los podría considerar como actualizaciones del firmware del procesador con varios matices. El primero de ellos es que esas actualizaciones del microcode del procesador no " se graban " en el propio procesador. Por norma general el microcode está incluido en la Bios de la placa base del equipo en cuestión y la actualización del microcódigo se guarda en la memoria volátil y cada vez que encendemos el equipo la BIOS / UEFI actualiza el microcódigo del procesador en cada arranque. Dicho de otra forma, al encender el equipo la Bios le dice al procesador como " se tiene que comportar " con arreglo al microcódigo que lleva incorporado la propia Bios. Como he explicado antes tanto Intel como AMD actualizan el microcódigo de cada uno de sus procesadores a lo largo del tiempo corrigiendo errores que pueden causar desde un procesamiento incorrecto hasta corrupción de código y datos que incluso pueden llegar a provocar bloqueos del sistema, es decir, aumentando la estabilidad del procesador como también mejorando su rendimiento.


Los fabricantes de placas base de ordenadores y portátiles suelen lanzar cada cierto tiempo actualizaciones de Bios y en esas actualizaciones se debería de suponer que integran también actualizaciones de los microcodes, digo debería porque no hay absolútamente ninguna información sobre este aspecto, esto lo podemos comprobar si revisamos el changelog de las actualizaciones de las Bios. Aparte de lo anterior existen ciertos dispositivos que una vez adquiridos no reciben actualizaciones de la Bios, un ejemplo de esto podrían ser los minipc chinos de Aliexpress y otro son los Nas al menos la gran mayoría de ellos.


Por suerte existe otro método para actualizar el microcode de los procesadores sin tener que pasar por la Bios del equipo y este va a ser el objetivo de este tutorial. Actualizar el microcode del procesador del nas no es sencillo por las limitaciones que impone Qnap para modificar QTS pero aún así no va a ser complicado.


Procesadores AMD: 

Como comenté al principio este tutorial va estar enfocado en los procesadores Intel de los nas de Qnap y el motivo es porque no dispongo de ningún nas con procesador AMD, sin embargo creo fírmemente que se puede realizar de igual manera ya que prácticamente se hace lo mismo. Para actualizar los microcode primero los tenemos que descargar en un ordenador, en el caso de los microcode para procesadores AMD lo tendremos que hacer desde aquí:

https://github.com/platomav/CPUMicrocode...master/AMD

En el caso Intel la actualización del microcode se basará en una carpeta llamada intel-ucode que los integra, en el caso de AMD esa carpeta se llamará amd-ucode y esa es prácticamente la única diferencia ya que todo lo que explicaré a partir de ahora será iguálmente válido para AMD así que los que tengáis en el nas un procesador AMD os recomiendo seguir leyendo este tutorial hasta el final. Aún así vuelvo a repetir que al no tener un nas AMD no he tenido ocasión de probarlo.


PRIMERA PARTE ( Explicación ):


Como tanto la gama actual de nases de Qnap como también las gamas antiguas pueden tener diferencias relativas al funcionamiento de QTS lo primero que tenemos que hacer obligatóriamente es realizar una comprobación, y esa comprobación consite en verificar la existencia en el nas de un archivo de nombre reload.
Para hacerlo nos conectaremos al nas por SSH con Filezilla o similares y nos dirigiremos a la siguiente ruta:

/sys/devices/system/cpu/microcode



   



Como se puede ver ese archivo reload está instalado " de serie " en mi nas. Hecha la comprobación nos olvidamos de este tema.

Lo siguiente que paso a explicar es como actualizar el microcode Intel del nas que es el objetivo de este tutorial como también demostraré que lo que se va a hacer funciona, sin embargo aunque lo voy a poner en práctica no va a ser la forma que verdadéramente vamos a utilizar, al menos en su mayor parte, esto último lo explicaré en la segunda parte de este tutorial.

Como he comentado antes una de las formas de actualizar el microcode del procesador es a través de la Bios pero al no recibir actualizaciones de ellas tenemos un problema que vamos a resolver de otra forma consistente en hacer lo mismo pero a través de QTS.

Lo primero que tenemos que hacer es descargarnos a nuestro ordenador los microcodes desde la web de Intel en Github:

https://github.com/intel/Intel-Linux-Pro...e-20240531

Nos descargaremos el archivo Source code:



   



Una vez descargado lo descomprimimos y nos encontramos con esto:



   


De todo lo que aparece sólo nos va a interesar la carpeta intel-ucode de lo demás nos olvidamos.
Dentro de la carpeta intel-ucode nos encontramos los microcodes de TODOS los procesadores Intel habidos y por haber y tiene esta pinta:



   



Como es imposible saber que microcode se corresponde al de nuestro nas vamos a utilizarlos todos, es decir, la carpeta intel-ucode al completo. En el momento de redactar este tutorial esa carpeta tiene un tamaño ligéramente mayor de 12 megas así que no es problema utilizarla al completo.
Esta carpeta intel-ucode la tenemos que pasar con Filezilla al nas y ponerla en la siguiente ruta:

/lib/firmware



   


Hecho esto deberíamos lanzar un comando reload mediante Terminal que será el encargado de actualizar el microcode Intel de nuestro nas, ese comando reload lo hará el archivo reload que comprobamos su existencia al principio de este tutorial, el comando es el siguiente:

echo 1 > /sys/devices/system/cpu/microcode/reload



   



Lo que acabo de hacer es simplemente demostrar que lo que estoy explicando en este tutorial funciona, es decir, en este caso sólo es una demostración. El comando que acabo de ejecutar lo vamos a utilizar después de otra forma que explicaré como he dicho antes en la segunda parte.

En la imagen que acabo de poner se puede ver además del citado comando que puse antes otro comando que sirve para comprobar que se ha hecho corréctamente la actualización del microcode. Se puede ver que el microcode del procesador Intel de mi nas se ha actualizado a la versión con fecha 26 - 09 - 2023 con el número de revisión 0x24000026

Antes de continuar con el tutorial voy a explicar alguna cosa más. Tanto en la web de Intel en Github como en el interior de la carpeta intel-ucode que nos hemos descargado la información sobre los microcodes es prácticamente nula así que vamos a buscar otras fuentes. Al estar QTS basado en Debian - Ubuntu un buen sitio donde buscar es en la web de Ubuntu:

https://www.ubuntuupdates.org/package/co...-microcode

Intel actualiza en su web de Github los microcodes de sus procesadores cada 3 meses y los microcodes que nos hemos descargado a la hora de realización de este tutorial tienen fecha del 31 de Mayo del 2024 y en la web de Ubuntu van un pelin retrasados:



   



Si nos fijamos en el listado de microcodes que aparecen podemos ver que el que se corresponde al procesador Intel de mi nas está incluido:



   



Sobre esto último voy a explicar algo más. Como acabo de comentar Intel actualiza los microcodes cada 3 meses, pero eso no significa que actualice todos los microcodes de sus procesadores tanto actuales como pasados en ese tiempo, es decir, unas veces actualiza unos y otras veces otros. En este punto conviene recordar lo que expliqué al principio, tanto si nuestro nas es un modelo más o menos antiguo como si es un modelo reciente va a tener una Bios " desfasada " en la que lógicamente no va a llevar integrada actualizaciones de los microcodes de nuestro procesador independiéntemente de que Intel los haya actualizado más o menos que a bien seguro lo habrá hecho.

Continúo con el tutorial. Una vez lanzado el comando anterior mediante Terminal y comprobado que se ha actualizado el microcode corréctamente lo siguiente que habría que hacer es que ese procedimiento fuera automático ya que como expliqué al principio la actualización del microcode no se " graba " físicamente en el procesador sino que funciona a través de memoria volatil. Para conseguir ese funcionamiento automático lo siguiente que habría que hacer es decirle al kernel de nuestro nas que haga ese proceso de forma automática cuando se enciende o se reinicia el nas. Lamentáblemente Qnap no permite ese tipo de modificaciones por parte de sus usuarios en QTS.
Ese sería un primer problema a solucionar, el segundo consiste en algo parecido. Como comenté antes tenemos que meter en el nas la carpeta intel-ucode que descargamos antes en la ruta /lib/ firmware y esto funciona siempre y cuando no apaguemos o reiniciemos el nas, si lo hacemos QTS elimina automáticamente esa carpeta cuando el nas se inicia. La solución de estos dos problemas la voy a explicar en la segunda parte de este tutorial que es reálmente la que tenemos que poner en práctica.



SEGUNDA PARTE:


Lo primero que vamos a hacer es pasar la carpeta intel-ucode que tenemos descargada en el ordenador a nuestro nas, la podemos meter dentro de la carpeta compartida del nas que nos apetezca:



   



Hecho esto lo siguiente va a consistir en la utilización de un script, en este punto quiero darle las gracias a mi buen amigo Pepe BETIS que ha tenido a bien hacerme un script conforme a las indicaciones que le he indicado. El script lo pondré después como también explicaré como utilizarlo y que es lo que hace pero antes de eso voy a demostrar que su ejecución funciona. Para el ejemplo el script llevará el nombre de microcode.sh

Al poner ese script en una carpeta compartida del nas y ejecutarlo manuálmente a través de Terminal podemos comprobar que funciona corréctamente actualizando el microcode del procesador cogiéndolo de la carpeta intel-ucode que también hemos puesto en el nas:



   



Como acabo de decir no vamos a utilizar ese script de esa forma, antes de explicar como lo vamos a hacer os pongo el contenido del script:


#!/bin/bash

PATH=/share/CACHEDEV1_DATA/.qpkg/container-station/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin

cp -r /share/CACHEDEV1_DATA/Scripts/intel-ucode /lib/firmware/

echo 1 > /sys/devices/system/cpu/microcode/reload &> /share/CACHEDEV1_DATA/Scripts/microcode.log


El script hace dos cosas, la primera es copiar la carpeta intel-ucode que en mi caso está en la carpeta compartida que se puede ver en ese script y copiarlo a la carpeta /lib/firmware también de nuestro nas. Lo segundo que hace es ejecutar el comando reload que expliqué antes y a continuación crear un archivo log de registro. Todo lo anterior lo hace de forma automática y desatendida.

A tener en cuenta: Mi carpeta intel-ucode la tengo puesta en mi nas en la ruta /share/CACHEDEV1_DATA/Scripts/intel-ucode que es la que aparece en el script que acabo de poner así que a vosotros os toca modificar ese script con la ruta de la carpeta compartida de vuestro nas donde tengáis puesta la carpeta intel-ucode
En el último parámetro del script se puede ver escrito /share/CACHEDEV1_DATA/Scripts/microcode.log que lo que hace es crear un archivo log de registro llamado microcode.log para poder comprobar que el script se ejecuta bien. Esto es opcional, es decir, si no queremos que el script cree ese archivo lo podemos borrar, aún así es mejor opción dejarlo como está, lo que si tenemos que hacer al igual que hemos hecho antes es modificar el script poniendo la ruta de la carpeta compartida del nas en la que queramos que se cree ese archivo microcode.log

En este punto del tutorial tenemos una carpeta intel-ucode dentro de una carpeta compartida del nas y tenemos también el contenido de un script.
Por norma general el nas no se apaga o reinicia todos los dias así que lo interesante sería que lo que he explicado se hiciera de forma automática y desatendida únicamente cuando el nas se enciende o se reinicia.

Para conseguir esto lo vamos a hacer mediante la creación de un QPKG, es decir, una aplicación personalizada del nas. Para hacerlo tenemos que seguir el tutorial que tiene creado Ganekogorta en este foro, lo podéis ver aquí:

https://www.qnapclub.es/showthread.php?tid=2114

Del tutorial de Ganekogorta nos tenemos que olvidar de la ultimísima parte en la que explica como poner un script que nos envía un correo electrónico a una dirección nuestra. 

Al principio de ese tutorial Ganekogorta explica como poner un script con los comandos a ejecutar, para ponéroslo fácil os pongo una captura del párrafo en cuestión:


   


En ese punto del tutorial lo que tenemos que poner es el contenido del script que he puesto antes.

FIN.

Una vez creado el QPKG que integra el script reiniciamos el nas, como he comentado antes cada vez que se inicie el nas se ejecutará de forma automática y desatendida ese QPKG que mediante el script será el encargado de copiar la carpeta intel-ucode y a continuación ejecutar el comando que actualiza el microcode del procesador.

Una vez iniciado el nas podemos comprobar que el QPKG y el script incluido crean el archivo microcode.log



   


Si abrimos ese archivo microcode.log veremos que únicamente contiene un 1 señal de que se ha ejecutado corréctamente y si a continuación accedemos por SSH al nas con Filezilla veremos en la carpeta /lib/firmware la carpeta intel-ucode que habrá sido copiada por el QPKG y su script desde la carpeta compartida de nuestro nas donde la tengamos puesta.







echo


  SSD NVMe M2
Posted by: volteretero - 12-06-2024, 08:15 PM - Forum: Empezando con tu NAS - Replies (4)

Quería hacer una pregunta ;
En el caso de estos discos es importante que sean. especialmente para Nas o servidores como en el caso de los mecánicos HD o no es en estos importante


  Acceso a datos en myQNAPcloud
Posted by: emijo - 12-06-2024, 08:18 AM - Forum: Cuestiones técnicas - Replies (1)

Buenos días,

utilizo myQNAPcloud conectado a mi nas para realizar backup del mismo. Hasta donde se, solo puedo acceder via web para acceder a los documentos, ¿sabéis si existe otra vía para acceder a este almacenamiento? Por ejemplo, via FTP o mediante algún software que tenga QNAP?

Porque para bajar dos o tres archivos está bien, pero cuando tienes que bajar unos cuantos miles, uno a uno, es inviable y bajar carpetas completas con varios gigas, via web también es inviable (el navegador no lo descarga completo y el archivo comprimido queda corrupto).

Un saludo.


  Nuevo en el foro
Posted by: buho77 - 11-06-2024, 06:29 PM - Forum: Presentaciones - Replies (1)

Llevo tiempo en este foro, pero no se si me llegue a presetar. 
Tengo mi qnap desde el 2017, feliz hasta el otro día.
mi modelo es ts431-p


  Docker Authelia para proteger a nuestras web
Posted by: Ganekogorta - 10-06-2024, 07:05 PM - Forum: VMs & Docker Containers - No Replies

Hola

Voy a describir como instalar en docker y configurar a Authelia.

Este servicio permite agregar segundos factores (2FA)  de autenticación a webs de nuestra nas o red.

Tiene varios requisitos previos para su instalación y funcionamiento:

  • *Tenemos que tener un base de datos creada en MariaDB vía PhpMyAdmin. Por ejemplo podría ser de nombre "authelia" o "db_authelia"
  • *Tener un servidor LDAP funcionando en QNAP, aunque no es estrictamente necesario e incluso no tiene que estar en la nas.
  • *Tener el docker de Nginx Proxy Manager que puede estar usando MariaDB.
  • *Tener un dominio y una gestión de sus dns, para asociar las webs a ip o direcciones.
  • *Evidentemente,  tener activo Container Station para ejecutar dockers
  • *Tener una carpeta compartida para tener datos persistentes para el docker
  • *datos smtp de un cuenta de correo para el envío correos.

Recomendable tener el contenedor de Portainer para facilitarnos la gestión de los docker.

Los puntos que vamos a ver son los siguientes:
  1. 1-Descripción a grandes rasgos de la funcionalidad de Authelia.
  1. 2-instalación del docker redis
  1. 3-usuarios de LDAP
  1. 4-Creamos la base de datos vacía
  1. 5-archivo básico de configuración de Authelia 
  1. 6-Instalación del docker de Authelia
  1. 7-Comprobación de acceso a la web de authelia en Nginx Proxy Manager
  1. 8-Reconfiguración de parámetros en las webs de Nginx Proxy Manager
  1. 9-Activación por primera vez del 2FA

1-Descripción a grandes rasgos de la funcionalidad de Authelia.

Básicamente lo que hace Authelia es interceptar la llamada a un servicio web y presentarnos una pantalla de login con 2FA.

Los usuarios, claves y otros datos son los que tenemos ya definidos en nuestro LDAP.
Tras esta primera identificación se nos presenta la petición del segundo factor de autenticación. que puede ser un código de un sólo uso temporal (hay que tener en hora los dispositivos) o incluso el uso de una llave hardware tipo Yubikey.
Una vez pasada esta segunda barrera, se nos presentará la web destino y otras que estén protegidas por Authelia durante un periodo definido en la configuración de Authelia.

Es particularmente interesante ya que podemos añadir una capa de protección a webs que son susceptibles de tener vulnerabilidades y no son corregidas con celeridad por su creador o simplemente queremos estén ocultas a nivel público.


2-instalación del docker redis

Este contenedor nos puede proporciona accesos a una base de datos de vigencia limitada que queda ubicada en memoria, una caché distribuida de base de datos clave-valor, y hacer de servidor de caché de objetos persistentes. Aunque tiene mas funciones.

Seguramente Authelia lo usará para almacenar a los usuarios activos y que han pasado con éxito el segundo factor.
Tras el periodo de vigencia, se eliminarán y volverá a pedir esa credenciales.

Afortunadamente, para nosotros, su uso es transparente y no hay que hacer ninguna configuración, sólo hemos de tenerlo en funcionamiento.

Para generar el docker podemos ejecutar el siguiente comando de consola:
Code:
docker run -d --name redis --restart always -v /share/DockerData/redis:/data -p 6379:6379 redis:latest


O bien en formato YAML
Code:
version: "3.5"

services:
  redis:
    image: redis:latest
    network_mode: "bridge"
    container_name: redis
    volumes:
      - "/share/DockerData/redis:/data"
    ports:
      - "6379:6379"
    restart: always

Independientemente del sistema elegido, sólo hemos de dejar funcionando este docker.


3-usuarios de LDAP

En el servidor de LDAP debemos tener definidos los usuarios que queramos que vayan a usar Authelia.
Podremos incluso tenerlos diferenciado del resto creando un grupo em el LDAP y luego deberíamos hacer un filtrado de estos en el archivo de configuraciones de Authelia.
Por simplificar simplemente vamos a crear un par de usuarios en el grupo por defecto.
No tiene que ser obligatorio que la nas de QNAP sea el servidor de LDAP, podríamos tenerlo en otro equipo con FreeIPA por poner un ejemplo.

Para el caso de QNAP los filtros a tener en cuenta en su LDAP son:
  • base_dn: dc=mi_dominio,dc=es
  • additional_users_dn: ou=people
  • additional_groups_dn: ou=group
  • user: cn=admin,dc=mi_dominio,dc=es


Así de esta forma, para generar mas usuarios con permisos a las web, sólo hemos de crearlos en en LDAP de la nas y no hemos de hacer nava en Authelia.

Es cierto que hay una forma de no usar LDAP y tener los usuarios/sus claves en un archivo de configuración extra.
Lo contaré al final del post ya que es un sistema un poco mas complicadillo de hacer y sobre todo de generar y gestionar si lo comparamos con el LDAP integrado en la NAS.

4-Creamos la base de datos vacía


En nuestro caso la llamaremos "db_authelia", de usuario "usuario_authelia" y clave "clave_authelia". Evidentemente usaremos nombres y claves de nuestra elección.

Abrimos nuestro PhpMyAdmin y lo generamos tal como se muestra en este otro post.



5-Archivo básico de configuración de Authelia

La configuración de Authelia se crea y guarda en un archivo . yml
Este archivo lo vamos a dejar en un carpeta compartida que haremos persistente de cara al docker para que podamos editarlo externamente.

El archivo se llama "configuration.yml" y tendrá un contenido similar a esto
Code:
#                   Authelia configuration                    #
theme: dark
server:
    host: 0.0.0.0
    port: 9091
# Podemos evitar dejarla escrita aquí si definimos la variable AUTHELIA_JWT_SECRET_FILE
jwt_secret: '0123456789012345678901234567896DD68A91F3861160FD0198C21F12345678' 
# podemos obtener claves robustas de este tipo en https://www.grc.com/passwords.htm
default_redirection_url: https://authelia.mi_dominio.es
## Configuracion de la autenticacón de usuarios
## podemos usar `file` o `ldap`, pero son excluyentes entre si.
## usamos el LDAP de la QNAP
authentication_backend:
  ldap:
    implementation: custom
    url: ldap://www.xxx.yyy.zzz  # la ip local de nuesta nas
    start_tls: false
    base_dn: dc=mi_dominio,dc=es # valores del LDAP
    additional_users_dn: ou=people
    additional_groups_dn: ou=group
    users_filter: (&({username_attribute}={input})(objectClass=person))
    groups_filter: (&(uniquemember={dn})(objectclass=groupOfUniqueNames))
    user: cn=admin,dc=mi_dominio,dc=es # valores del LDAP
    password: ClaveSecreta # Clave del admin del LDAP de la QNAP
   
    
totp:
  issuer: authelia.mi_dominio.es
  period: 30
  skew: 1
 
access_control:
  default_policy: deny
  rules:
    # direcciones web que no piden 2FA
    - domain:
        - "www.mi_dominio.es"
        - "authelia.mi_dominio.es"
        - "pruebas.mi_dominio.es"
      policy: bypass
    # direcciones web que PIDEN 2FA
    - domain:
        - "galeria.mi_dominio.es"          #galeria de trabajos
        - "familia.mi_dominio.es"          #web de fotos familiares
        - "secretillos.mi_dominio.es"      #web de notas personales
      policy: two_factor
   
session:
  name: authelia_session
  # Podemos evitar dejarla escrita aquí si definimos la variable AUTHELIA_SESSION_SECRET_FILE
  secret: '0123456789012345678901234567896DD68A91F3861160FD0198C21F12345678'
  expiration: 3600 # 1 hora
  inactivity: 600 # 10 minutos
  domain: mi_dominio.es
  redis:
    host: www.xxx.yyy.zzz # la ip local de redis que será la de nuesta nas
    port: 6379
regulation:
  max_retries: 3
  find_time: 1200
  ban_time: 36000
storage:
  mysql:
    host: www.xxx.yyy.zzz # la ip local de MariaDB que será la de nuesta nas
    port: 3307 # puerto de nuestra mysql/MariaDB
    database: db_authelia # nombre de la base de datos. Poner la que que escribimos en el punto 4
    username: usuario_authelia # nombre del usuario que definimos en el punto 4
    password: clave_authelia # clave del usuario definimos en el punto 4
  encryption_key: 'superclave01234567890123456789superclave' #clave aleatoria definida por nosotros
 
notifier:
  smtp:
    username: ganekogorta@mi_correo.es
    # Podemos evitar dejarla escrita aquí si definimos la variable AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE
    password: 'clave de correo electronico'
    host: mail.mi_correo.es
    port: 587
    sender: ganekogorta@mi_correo.es

Tendremos que adaptar la anterior configuración a nuestros datos de ip de nas, usuarios, claves.

Se distinguen varias secciones, como la de acceso LDAP, redis, MariaDB/mysql y la de envío de correo SMTP.
esta última es importante a que cuando por primera vez un usuario de LDAP va a necesitar un segundo facto, le será enviado un correo con instrucciones para hacer esa primera configuración.

Una vez lo tengamos a nuestra necesidades, lo guardaremos en la carpeta compartida \share\DockerData\authelia

6-Instalación del docker de Authelia

Ahora teniendo ejecutando la MariaDB, redis y LDAP, lanzamos el docker por consola con el siguiente comando 
Code:
docker run -d --name authelia --restart always -v /share/DockerData/authelia:/config -p 9091:9091 authelia/authelia:4.38.4

o bien si queremos crearlo por formato YAML usaremos lo siguiente
Code:
version: "3.5"

services:
  authelia:
    image: authelia/authelia:4.38.4
    network_mode: "bridge"
    container_name: authelia
    ports:
      - "9091:9091"
    volumes:
      - "/share/DockerData/authelia/:/config/"
    restart: always

He optado por obligar a la versión 4.38.4 que a día de hoy es la última.
Lo he hecho así ya que he visto cambios en las últimas versiones y no quiero a arriesgarme a que saquen una versión posterior "latest" que tenga parámetros incompatibles con la 4.38.4

Si todo ha ido  bien, tras unos instantes tendremos a authelia ejecutando y publicando por el puerto 9091.
Comprobadlo ya que si no lo hace o tarde muuucho, hay que echar una ojeada al log del docker para ver que está pasando (Ldap detenido, errores de sintaxis,...)

7-Comprobación de acceso a la web de authelia en Nginx Proxy Manager

En nuestro proveedor de DNS, creamos una nueva de acceso a Authelia, por ejemplo authelia.mi_dominio.es

En nuestro Nginx Proxy Manager lo definimos con los siguientes parámetros tal como muestran las siguiente imágenes

   

   

Y en la última lengüeta 
   

escribiremos lo siguiente en Nginx Custom Configuration
Code:
     location / {
        set $upstream_authelia http://www.xxx.yyy.zzz:9091; # poner la ip de la nas
        proxy_pass $upstream_authelia;
        client_body_buffer_size 128k;

        #Timeout if the real server is dead
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;

        # Advanced Proxy Config
        send_timeout 5m;
        proxy_read_timeout 360;
        proxy_send_timeout 360;
        proxy_connect_timeout 360;

        # Basic Proxy Config
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_set_header X-Forwarded-Uri $request_uri;
        proxy_set_header X-Forwarded-Ssl on;
        proxy_redirect  http://  $scheme://;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_cache_bypass $cookie_session;
        proxy_no_cache $cookie_session;
        proxy_buffers 64 256k;

        # Al estar tras un proxy inverso, reenviamos a las siguientes rangos de ips privadas
        set_real_ip_from 10.0.0.0/8;
        set_real_ip_from 172.0.0.0/8;
        set_real_ip_from 192.168.0.0/16;
        set_real_ip_from fc00::/7;
        real_ip_header X-Forwarded-For;
        real_ip_recursive on;
    }

Ahora vamos a comprobar que su accedemos a https://autehlia.mi_dominio.es se nos presenta la siguiente pantalla de login
   

8- Reconfiguración de parámetros en las webs de Nginx Proxy Manager

Ahora sólo nos queda añadir unos códigos para aquellas web que indicamos en el archivo de configuración que iban a tener acceso vía portal de Authelia 

Según el ejemplo eran "galeria.mi_dominio.es",  "familia.mi_dominio.es" y "secretillos.mi_dominio.es" 

Las editamos en Nginx Proxy Manager y en la última lengüeta escribiremos lo siguiente en el campo Nginx Custom Configuration

Code:
location /authelia {
    internal;
    set $upstream_authelia http://www.xxx.yyyy.zzzz:9091/api/verify; #cambiar por la ip de la nas
    proxy_pass_request_body off;
    proxy_pass $upstream_authelia;   
    proxy_set_header Content-Length "";

    # Timeout if the real server is dead
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
    client_body_buffer_size 128k;
    proxy_set_header Host $host;
    proxy_set_header X-Original-URL $scheme://$http_host$request_uri;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $http_host;
    proxy_set_header X-Forwarded-Uri $request_uri;
    proxy_set_header X-Forwarded-Ssl on;
    proxy_redirect  http://  $scheme://;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    proxy_cache_bypass $cookie_session;
    proxy_no_cache $cookie_session;
    proxy_buffers 4 32k;

    send_timeout 5m;
    proxy_read_timeout 240;
    proxy_send_timeout 240;
    proxy_connect_timeout 240;
}

    location / {
        set $upstream_NOMBRE1 http://www.xxx.yyy.zzzz:puerto del docker ;  #cambiar segun nuestra ip de authelia
        proxy_pass $upstream_NOMBRE1;  #cambiar nombre servicio, ha de ser unico por cada web o servicio

        auth_request /authelia;
        auth_request_set $target_url $scheme://$http_host$request_uri;
        auth_request_set $user $upstream_http_remote_user;
        auth_request_set $groups $upstream_http_remote_groups;
        proxy_set_header Remote-User $user;
        proxy_set_header Remote-Groups $groups;
        error_page 401 =302 https://authelia.mi_dominio.es/?rd=$target_url; #cambiar por la direccion de nuestro authelia

        client_body_buffer_size 128k;

        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;

        send_timeout 5m;
        proxy_read_timeout 360;
        proxy_send_timeout 360;
        proxy_connect_timeout 360;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_set_header X-Forwarded-Uri $request_uri;
        proxy_set_header X-Forwarded-Ssl on;
        proxy_redirect  http://  $scheme://;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_cache_bypass $cookie_session;
        proxy_no_cache $cookie_session;
        proxy_buffers 64 256k;
        set_real_ip_from 192.168.0.0/16; #cambiar según el rango de la nas a 10.0.0.0/8 o incluso 172.16.0.0/16
        real_ip_header X-Forwarded-For;
        real_ip_recursive on;

    }

Hacemos los cambios adecuados a nuestra web y damos nombres únicos por variable $upstream_NOMBRE1. 
Por seguir con el ejemplo podemos usar $upstream_galeria, $upstream_secretillos y $upstream_familia

Si todo ha ido bien, cuando vayamos a las web galeria.mi_dominio.es, secretillos.mi_dominio.es y familia.mi_dominio.es, se nos presentará la web de authelia.

9-Activación por primera vez del 2FA

Cuando nos identifiquemos por primera vez en la web "authelia.mi_dominio.es com" con un usuario creado en el LDAP, se nos lanzará un proceso para elegir y definir el tipo de 2FA. 
Podemos activar mas de uno.
   

Y comienza el asistente, pulsamos sobre registrar dispositivo
   

y nos da dos opciones.
   

Si pulsamos sobre ADD de One-Time Password
   

nos enviará un código por correo electrónico con un contenido similar a la siguiente captura
   

Pulsamos sobre verificar tras escribir el código en la web
   

Y continuamos con el asistente para agregarlo a nuestro programa de autentificación (Authy, 2FAS Auth, Authenticator de QNAP,...)
   

Nos presenta en pantalla el código QR para añadirlo
   

Tras verificarlo, nos lleva a la web de control del usuario.
   


Si queremos usar una llave hardware en vez de pulsar One-time Password, pulsaremos sobre WebAuthn Credentials.

Ya podemos salir del asistente que ya lo tenemos configurado para ese usuario.

Y con esto hemos terminado y ya tenemos listo al "usuariopruebas" para acceder a las web protegidas con Authelia.


No usar LDAP y hacerlo mediante archivo

Si no queremos que Authelia use LDAP y queremos hacerlo mediante una lista de usuarios de un archivo hay que hacer un cambio en el fichero configuration.yml suprimiendo unas líneas y agregando otras

Las que hay que retirar o comentar poniendo delate un # son las referentes al LDAP.  

Según nuestro ejemplo son:
Code:
authentication_backend:
  ldap:
    implementation: custom
    url: ldap://www.xxx.yyy.zzz  # la ip local de nuesta nas
    start_tls: false
    base_dn: dc=mi_dominio,dc=es # valores del LDAP
    additional_users_dn: ou=people
    additional_groups_dn: ou=group
    users_filter: (&({username_attribute}={input})(objectClass=person))
    groups_filter: (&(uniquemember={dn})(objectclass=groupOfUniqueNames))
    user: cn=admin,dc=mi_dominio,dc=es # valores del LDAP
    password: ClaveSecreta # Clave del admin del LDAP de la QNAP

Estas líneas debemos cambiarlas por
Code:
authentication_backend:
  password_reset:
    disable: false
  refresh_interval: 5m
  file:
    path: /config/users_database.yml
    password:
      algorithm: argon2id
      iterations: 1
      key_length: 32
      salt_length: 16
      memory: 1024
      parallelism: 8


Ahora crearemos un archivo llamado "users_database.yml" en la carpeta de la nas "/share/DockerData/authelia".

Siguiendo con el ejemplo, para dos usuarios llamados "mequetrefe" y "mosquito" debería tener una estructura similar a la siguiente:
Code:
users:
  mequetrefe: #Cambia el nombre al que más te guste, este será el que usemos para el login
    displayname: "mequetrefe" #Cambia el nombre al que más te guste, introducelo entre las comillas
    password: "$argon2id$v=19$m=1024,t=1,p=8$ZnA1NTg4aDdxUjJteWJhRA$5ZedH1Cb70M7WY8m92goUCT27ZuWNR+bPVZF4hl28BA"
    #La creamos con https://argon2.online/
    #En plain text input, ponemos la contraseña que queremos para hacer el login en authelia
    #Seleccionamos el boton de argon2id
    #Pulsamos en la tuerca de salt y nos deben salir unas letras en ese recuadro
    #Configramos con los siguientes parametros parallelism Factor: 8 memory cost: 1024 iterations: 1 hash length: 32
    #Pulsamos en generate hash y nos debe dar algo asi en el campo outputin Encoded Form $argon2id$v=19$m=1024,t=1,p=8$NTEwNGFYVHNGNlo2OGxwOA$rPYzg2lYoNH7MQ5pv6m3isHCCcJYnf+1A/uIiMUrUhE
    email: correousuario1@icloud.com #tu correo electronico del usuario mequetrefe
    groups: #si quieres crear un grupo o grupos, cambia los nombres siguientes
      - admins
      - dev
mosquito: #Cambia el nombre al que más te guste, este será el que usemos para el login
    displayname: "mosquito" #Cambia el nombre al que más te guste, introducelo entre las comillas
    password: "$argon2id$v=19$m=1024,t=1,p=8$ZnA1NTg4aDdxUjJteWJhRA$5ZedH1Cb70M7WY8m92goUCT27ZuWNR+bPVZF4hl28BB"
    #La creamos con https://argon2.online/
    #En plain text input, ponemos la contraseña que queremos para hacer el login en authelia
    #Seleccionamos el boton de argon2id
    #Pulsamos en la tuerca de salt y nos deben salir unas letras en ese recuadro
    #Configramos con los siguientes parametros parallelism Factor: 8 memory cost: 1024 iterations: 1 hash length: 32
    #Pulsamos en generate hash y nos debe dar algo asi en el campo outputin Encoded Form $argon2id$v=19$m=1024,t=1,p=8$NTEwNGFYVHNGNlo2OGxwOA$rPYzg2lYoNH7MQ5pv6m3isHCCcJYnf+1A/uIiMUrUhE

    email: correousuario2@proton.me #correo electronico del usuario mosquito
    groups: #si quieres crear un grupo o grupos, cambia los nombres siguientes
      - admins
      - dev
   

Hay que cambiar las claves. Y para hacer una nuevas debemos hacerlo por la web https://argon2.online/

La pantalla de generación de las claves será como la de la siguiente captura

   

Con el botón de copiar de la web podemos luego pegarla en el archivo "users_database.yml"

No es algo que me guste mucho lo de depender de una web para obtener estas claves, pero si no vamos a tener mas que unos pocos usuarios, es una alternativa a usar un LDAP. Recomiendo crear alguna más y tenerlas apuntadas en nuestro gestor de claves.

Nota: Para este post me he apoyado en informaciones de varias fuentes como Authelia, de la web de HDS+ (muy recomendable por cierto),...


  No veo manera de loguearme en mi NAS
Posted by: emijo - 09-06-2024, 02:17 PM - Forum: Cuestiones técnicas - Replies (3)

Buenos días,

tengo un nas TS-231-P3 con dos discos en Raid1. Hasta el momento a funcionado bien, pero hace unos días empezó a darme un fallo con las instantáneas debido a que el disco estaba lleno. 

Ayer me puse con él, para ver qué estaba pasando, revisar la planificación de copias de seguridad, de instantáneas y ver si podía liberar algo de almacenamiento y como vi que tenia una actualización pendiente y me pedía reiniciar para instalarla, pues decidí empezar por ahí y reinicié el nas.

Y aquí empezó el problema. Después de reiniciarlo ya no podía acceder a las carpetas compartidas del NAS y entro a la web del nas, para entrar y ver qué pasaba y veo que me solicita las credenciales por defecto (siendo la contraseña la MAC de la tarjeta de red), ya que con las credenciales del administrador, me salía un mensaje de "contraseña no válida". Usando los datos por defecto, me deja entrar pero no me carga la interfaz web, se queda en la ventana de "loading", por lo tanto, via web no puedo acceder al NAS y vía carpetas compartidas tampoco.

Como se que Qfinder Pro también ofrece algunas opciones para configurar o acceder al NAS, he probado todo lo que tiene (acceder por SSH, unidades de red, ....), pero no consigo nada, me salen mensajes del tipo "Fallo al iniciar sesión. No ha habido respuesta del servidor." o directamente que "las credenciales no son válidas", cuando se que sí lo son. La única opción de Qfinder a la que puedo acceder es a la configuración, pero ahí, puedo hacer poco ....

He visto que el led de "status" están en rojo fijo. Viendo la documentación parece ser problema de algún disco o que el disco duro está lleno, por lo tanto, mi intención era acceder al NAS, de la manera que fuera, para borrar algún archivo grande de los que hay almacenados, dejar algo de espacio y ver si consigo arreglarlo, pero no veo manera de acceder a el.

También he probado en acceder a los discos duros pinchándolos en otro pc y usando herramientas para acceder a ellos y borrar algún archivo, con el fin de conseguir espacio, pero he visto que la estructura del sistema de archivos es compleja (por aquello del RAID) y he pensado no tocar nada, no sea que lo corrompa.


¿a alguien le ha pasado esto?¿se os ocurre alguna solución?

Muchas gracias y un saludo.


  Hola holita!!
Posted by: emijo - 09-06-2024, 01:56 PM - Forum: Presentaciones - Replies (1)

Buenos días,

hola a todos, soy usuario desde hace un tiempo de de NAS de Qnap y recientemente he tenido un problema que no consigo solucionar, buscando por Internet he llegado aquí, así que, aprovecho, me registro y a partir de ahora ya tengo una comunidad con la que compartir cosas Smile


Saludos !!


  creación de una BBDD en MariaDB desde PhpMyAdmin
Posted by: Ganekogorta - 09-06-2024, 11:47 AM - Forum: Firmware, Aplicaciones y Tutoriales - No Replies

Hola

Estoy viendo que cada vez hay mas aplicaciones y dockers que se apoyan en los datos de una MariaDB.

En general casi todas generan la BBDD, el usuario, las tablas y contenidos siempre que le suministremos por parámetro el usuario maestro y su clave.

Esto de suministrar este tipo de datos es un poco delicado ya que:

  •  se permite el acceso a mas bases de datos que contenga esa MariaDB
  • suele que dar escrito en la definición del docker en una variable de entorno que puede verse cuando editemos el docker
  • queda en texto plano en muchos de los archivos de configuración de esas aplicaciones

Una buena práctica es crear un usuario específico para esa aplicación, con todos los permisos para una base de datos concreta. Así la aplicación/docker puede funcionar sin problemas y en caso de ser comprometidas las credenciales, no afectará a otras bases ya que no tiene privilegios sobre ellas.


En este mini tutorial voy a tratar de describir gráficamente (se puede hacer todo por consola de comandos) como:
  1. instalar y activar MariaDB 10 en QTS
  2. instalar y configurar el gestor web PhpMyAdmin
  3. crear una bbdd en la MariaDB
  4. crear un usuario, su clave de acceso y sus privilegios

Los dos primeros puntos sólo los haremos una vez y sólo haremos los tres últimos puntos cada vez que queramos crear una nueva BBDD en nuestra MariaDB.


1-instalar y activar MariaDB 10 en QTS

El paquete oficial de mariaDB en QTS lo instalaremos yendo al App Center
   

y pulsamos para instalarlo, tras unos instantes el paquete es descargado y procesado
   

lo veremos ya en escritorio de QTS y el el App Center
   

Una vez instalada en QTS, al abrirlo por primera vez comienza un asistente
   

   

Aquí se no pide que una clave maestra de nuestra elección y un puerto para MariaDB. 
Estos datos son muy importantes ya que debemos usarlos para gestiones futuras.
Por defecto el puerto el MariaDB 10 es 3307 y en MariaDB 5 es 3306 (podemos tener las dos operando simultáneamente en nuestra NAS)

   

Tras pulsar sobe el botón de aplicar, el asistente finaliza
   

Y se nos presenta una pantalla (que será la habitual de acceso) donde podemos activar y desactivar MariaDB
   

Con esto ya hemos terminado con MariaDB

2-instalar y configurar el gestor web PhpMyAdmin

Como es un servicio web, ha de estar previamente activado el servidor web de la QNAP, tal como se ve en la la captura siguiente
   


Ahora comenzamos con la instalación propiamente dicha, yendo al App Center
   

Pulsamos sobre instalar
   

y esperamos unos instantes a la descarga y posterior instalación y veremos el icono de la aplicación en el escritorio de QTS y en el App Center
   

Cuando iniciemos PhpMyAdmin nos presentará el acceso a dos posibles motores de base de datos. La versión 10 y la 5.

Si tu nas es ejecuta un QTS anterior a la versión 5, no lo presentará, ya que sólo hay un único motor de base de datos.

En nuestro caso hemos instalado una MariaDB 10
   

Los datos de acceso son; usuario "root" y la clave es la que pusimos anteriormente, que en el ejemplo era "clavesecreta"


3- Crear una bbdd en la MariaDB

Ahora vamos con la creación de una base de datos vacía para una aplicación/docker.
Mi recomendación es que hacer que sea un nombre descriptivo que haga referencia a esa aplicación.
Supongamos que vamos a crear una para una web de un catálogo de fotos o de libros.
Podríamos crearlas con nombres tipo "fotos", "db_fotos", "libros" o "db_libros"

Por ejemplo vamos crear la de "libros"

   

Tras pulsar el botón de crear y refrescar la pantalla, veremos a la izquierda la nueva base de dato sin contenido alguno
   

4- crear un usuario, su clave de acceso y sus privilegios

Y los usuarios de nuestra bases de  datos podrían ser algo como "fotos", "usuario_fotos", "user_fotos", "fotografo",.... 

Como consejo os diría que sigáis una regla fácil de recordar, pero es importante mantenerla en el tiempo ya que cuando tengamos unas cuantas base de datos y queramos recordar cual era el usuario, podemos tener problemas si no hemos seguido nuestra regla (el uso de un gestor de claves tipo Keepass es mas que recomendable y yo os diría que obligatorio).

Por ejemplo vamos crear un usuario llamado "usuario_libros" en la base de datos de "libros".

   

Al pulsar se nos presenta una pantalla donde escribimos el usuario, clave y marcamos los permisos que va a tener en esa base de datos.
   

En la parte inferior de esa pantalla pulsamos sobre el botón de "crear" y se nos presenta el resultado de la acción
   

Vamos a agregar un usuario con el mismo nombre, clave y permisos  pero que el vez poner el servidor "%", escribiremos "localhost".
   

Pulsamos sobre el botón inferior de crear ya tenemos a nuestra base de datos y el usuario con permisos.

Si somos muy estrictos, podemos especificar que ese usuario sólo tenga acceso desde una ip concreta a la base de datos, pero no va a ser nuestro caso.

Todos los comandos anteriores de gestión de la base de datos pueden hacerse por línea de comandos en vez de por el entorno gráfico de PhpMyAdmin.


  Miniatura albun persona Qumagie
Posted by: Waxivo - 03-06-2024, 09:30 PM - Forum: Empezando con tu NAS - Replies (3)

Hola!

Los albunes de persona que genera qumagie me encantan, pero la miniatura que elige siempre es de la peor foto posible jaja.

¿Como se puede cambiar esa miniatura desde un movil android?

He leido por ahi que dando a los 3 puntitos y dando a "mostrar como portada" o algo asi, pero a mi no me aparece esa opcion por ningun lado. Ni dentro de la foto ni fuera.

Un saludo