| Welcome, Guest |
You have to register before you can post on our site.
|
| Forum Statistics |
» Members: 7.350
» Latest member: BetGol
» Forum threads: 3.488
» Forum posts: 19.945
Full Statistics
|
| Online Users |
There are currently 95 online users. » 0 Member(s) | 92 Guest(s) Bing, DuckDuckGo, Google
|
| Latest Threads |
Canal en Telegram QnapClu...
Forum: Anuncios, noticias y enlaces
Last Post: Ganekogorta
Yesterday, 10:44 PM
» Replies: 124
» Views: 102.530
|
NO se descargan aplicacio...
Forum: Cuestiones técnicas
Last Post: nickiman
23-10-2025, 03:45 PM
» Replies: 10
» Views: 7.041
|
fallo en un RAID 1
Forum: Cuestiones técnicas
Last Post: mauricio del aguila
20-10-2025, 10:22 PM
» Replies: 0
» Views: 73
|
Vendo Qnap TS-410E
Forum: Compra, Venta e Intercambio
Last Post: teamserpent
17-10-2025, 09:56 AM
» Replies: 2
» Views: 247
|
Me presento
Forum: Presentaciones
Last Post: teamserpent
16-10-2025, 10:20 AM
» Replies: 0
» Views: 108
|
Carpetas inmutables en QT...
Forum: Tutoriales
Last Post: German_Ardila
09-10-2025, 12:46 AM
» Replies: 8
» Views: 2.386
|
Error disco inactivo
Forum: Cuestiones técnicas
Last Post: JoseRic
08-10-2025, 04:02 PM
» Replies: 5
» Views: 809
|
Error en TL-D800S RAID Gr...
Forum: Cuestiones técnicas
Last Post: Ganekogorta
05-10-2025, 05:28 PM
» Replies: 8
» Views: 1.872
|
Problema archivos que des...
Forum: Cuestiones técnicas
Last Post: Ganekogorta
02-10-2025, 07:01 AM
» Replies: 1
» Views: 249
|
Gestor de contraseñas Ali...
Forum: VMs & Docker Containers
Last Post: yeraycito
27-09-2025, 02:32 PM
» Replies: 1
» Views: 338
|
|
|
| Actualizar el microcode del procesador del nas |
|
Posted by: yeraycito - 16-06-2024, 02:00 AM - Forum: Firmware, Aplicaciones y Tutoriales
- Replies (10)
|
 |
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-Descripción a grandes rasgos de la funcionalidad de Authelia.
- 2-instalación del docker redis
- 3-usuarios de LDAP
- 4-Creamos la base de datos vacía
- 5-archivo básico de configuración de Authelia
- 6-Instalación del docker de Authelia
- 7-Comprobación de acceso a la web de authelia en Nginx Proxy Manager
- 8-Reconfiguración de parámetros en las webs de Nginx Proxy Manager
- 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 
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:
- instalar y activar MariaDB 10 en QTS
- instalar y configurar el gestor web PhpMyAdmin
- crear una bbdd en la MariaDB
- 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
|
|
|
|
| Servidor LDAP |
|
Posted by: Ganekogorta - 03-06-2024, 08:35 PM - Forum: Firmware, Aplicaciones y Tutoriales
- No Replies
|
 |
Hola
Voy a tratar de describir como desplegar un servidor LDAP en nuestra NAS,
Este tipo de servicio se usa para centralizar y poder hacer que otras aplicaciones tengan una lista de usuario, claves y algún dato mas de estos.
Es interesante cuando tenemos mas de una nas y queremos "compartir" los usuarios ya definidos en la primera nas. La primera nas hace de servidor y la segunda de cliente.
Lo primero es activar el servicio LDAP, para ello vamos al panel de control, Aplicaciones y Servidor LDAP
En esta pantalla definimos el nombre del dominio, una clave de nuestra elección y la versión TLS para compatibilidades.
Una vez aplicado, veremos que tenemos unas lengüetas nuevas para la creación de usuarios, grupos de usuarios y copias de seguridad/restauración del LDAP
Al crear usuarios, se nos pide el nombre del usuario, su clave y un par de datos opcionales.
Si sabemos su correo, es interesante aportarlo ya que algunas aplicaciones pueden usarlo para verificar el usuario en caso de problemas.
En cuanto a los grupos, podemos estructurar y organizar una empresa para secciones, o como creamos interesante a nivel organizativo.
La pantalla de copia/restauración es muy sencilla y es importante tener alguna copia, sobre todo si la lista de usuarios es considerable o tenemos a varias máquinas dependiendo de ese LDAP.
Una vez activo el servidor el servidor y con usuarios, podemos hacer que nuestra nas sea a su vez un cliente y use esa lista de usuarios.
Para ello vamos a Panel de control, Privilegio y seguridad de dominio.
Por defecto está en sin seguridad de dominios.
Para usar nuestro LDAP sería:
Si queremos que nuestra nas use los usuarios de un LDAP de otra NAS tendremos que dejar la pantalla con algo similar a esto usando los datos que definimos anteriormente:
Con independencia de los casos anteriores, tras activarlo se nos preguntará quienes van a acceder por SMB a la nas (los usuarios locales o los del LDAP).
Como veis, el activar y configurar un LDAP en una QNAP es bastante sencillo.
|
|
|
|
|