📀Configuración avanzada Authelia

Archivos de configuración Authelia

Ahora llega lo interesante, y para esta parte necesitamos unos conocimientos medios-avanzados. Lo primero es añadir los archivos de configuración a Authelia para que podamos iniciar el contenedor, estos archivos son configuration.yml y user_database.yml.

Estos archivos irán en la ruta /authelia/config/ la mejor opción para este tipo de archivos es usar Notepad++ https://notepad-plus-plus.org/downloads/v8.4.4/ y subirlos a la ruta deseada, también existe una web donde puedes comprobar posibles errores. https://products.groupdocs.app/editor/total

configuration.yml

---
###############################################################################
#                           Authelia Configuration                            #
###############################################################################
# verifica las direcions ip para poner las tuyas mira los puertos
# verifica tus dominios
theme: dark
jwt_secret:  # dejar vacio
default_redirection_url: https://testauth.ejemplo.duckdns.org

server:
  host: 0.0.0.0
  port: 9091
  path: "authelia"
  read_buffer_size: 4096
  write_buffer_size: 4096
  enable_pprof: false
  enable_expvars: false
  disable_healthcheck: false

log:
  level: info

totp:
  issuer: ejemplo.duckdns.org
  period: 30
  skew: 1

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

access_control:
  default_policy: deny
  rules:
    ## bypass rule
    - domain: 
        - "testauth.ejemplo.duckdns.org"
      policy: bypass
    ## catch-all
    - domain:
        - "test.ejemplo.duckdns.org"
      subject: 
        - "group:admins"
      policy: two_factor
# =================Duo_api =============================
duo_api:
  disable: false
  hostname: api-12345678.duosecurity.com
  integration_key: DISQYCDFMCIOERUNDGJD
  secret_key: CDT6yCweu7dl37414fdeicnsje7NUbHhuedfh1478   # dejar luego vacio
  enable_self_enrollment: false
# ======================================================
# ============== webauthn ==============================
webauthn:
  disable: false
  display_name: Authelia
  attestation_conveyance_preference: indirect
  user_verification: preferred
  timeout: 60s
# ======================================================
session:
  name: authelia_session
  domain: ejemplo.duckdns.org
  same_site: lax
  secret:   # dejar vacio
  expiration: 3600
  inactivity: 300
  remember_me_duration: 2M
  redis:
    host: 172.21.0.9
    port: 6379
    password:   # dejar vacio
    database_index: 0
    maximum_active_connections: 15
    minimum_idle_connections: 0

regulation:
  max_retries: 3  
  find_time: 10m
  ban_time: 12h
# -----para usar sqlite3 descomentar NO RECOMENDADO----------------------
#storage:
 # local:
  #  path: /config/db.sqlite3
# ................para usar sqlite3 comentar hasta linea ////
storage:
  encryption_key:
  mysql:
    host: 172.21.0.2
    port: 3306
    database: authelia
    username: authelia
    password:   # dejar vacio
# ////////////////////////////////////////////////////////////////////
# las notificaciones por correo son imprescindibles para poder recuperar contraseñas
# inprescindible para autorizacion webauthn
notifier:
    disable_startup_check: false
    smtp:
        host: smtp.gmail.com
        port: 465
        timeout: 5s
        username: tu_correo@gmail.com
        password: # dejar vacio' tienes que crear una contraseña de aplicacion
        sender: "Authelia <norepli@topete.com>"
#        identifier: Authelia topete
        subject: "[Authelia] {title}"
        startup_check_address: otro correo tuyo
        disable_require_tls: false
        disable_html_emails: false
        tls:
            skip_verify: false
            minimum_version: TLS1.2

ntp:
  address: "time.cloudflare.com:123"
  version: 4
  max_desync: 3s
  disable_startup_check: false
  disable_failure: false

user_database.yml

Creamos el archivo con el nombre user_database.yml y la misma operación para este archivo subimos a /config

###############################################################
#                         Users Database                      #
###############################################################
 
# recuerda los dos pepitos son tu usuario cambia los dos
 
# List of users
users:
  pepito: 
    displayname: "pepito"
    password: "$argon2id$v=19$m=65536,t=3,p=4$cURISlViVTNnSzB1SjJSWg$xKfrLM/wG5ZtRISlViVTNnSzB1SjJSWg$ye4NAs0BhU"
    email: pepito@outlook.com
    groups:
      - admins
      - dev
  mortadelo:
    displayname: "mortadelo"
    password: "$argon2id$v=19$m=65536,t=3,p=4$OjJSWg$ñlñxKfrLM/FNqMG80b1pCak9CjJSWg$xKfrLM/ZkmLiKCD8FKrdvoI59Wps"
    email: mortadelo@gmail.com
    groups:
        - users
        - dev

Como habrás observado existe una contraseña bastante compleja, esta contraseña la tenemos que crear desde el terminar de Unraid con el siguiente comando.

docker run --rm authelia/authelia:latest authelia hash-password 'tu contraseña'

Borramos la contraseña del archivo (respetando las comillas) y pegamos la generada asegurándonos que no pegamos espacios en blanco.

Si todo ha ido bien ahora podrás iniciar el Docker authelia. Aunque de nada sirve aún, ahora es el momento de realizar la configuración avanzada en el proxy inverso.

Los archivos .yml son extremadamente delicados ante cualquier espacio, tabulación, si no consigues iniciar authelia verifica el archivo en notepad++ y en la web https://products.groupdocs.app/editor/total

Siguiente paso configuración avanzada proxy.

Última actualización