Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion de/15.10/config/rate-limiting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ Alle in ``app/WEB-INF/classes/fess_config.properties`` konfigurierbaren Eigensch
- Blockierte IP-Adressen (kommagetrennt)
- (leer)
* - ``rate.limit.trusted.proxies``
- Vertrauenswürdige Proxy-IPs (für X-Forwarded-For/X-Real-IP)
- Vertrauenswürdige Proxy-IPs (für X-Forwarded-For/X-Real-IP; auch für die Client-IP im Audit-Protokoll und im Suchprotokoll)
- ``127.0.0.1,::1``
* - ``rate.limit.cleanup.interval``
- Bereinigungsintervall (Anfragenzahl, reserviert)
Expand All @@ -181,6 +181,16 @@ Alle in ``app/WEB-INF/classes/fess_config.properties`` konfigurierbaren Eigensch
automatisch auf Basis des internen Cache-Ablaufs (``rate.limit.window.ms`` und
``rate.limit.block.duration.ms``) bereinigt, sodass dieser Wert nicht verwendet wird.

Begrenzung der Anmeldeversuche
==============================

Für die Anmeldung gibt es eine eigene Begrenzung, die unabhängig von der obigen ist und mit ``theme.api.login.*`` konfiguriert wird.
Ab 15.10 teilen sich ``/api/v2/auth/login`` und das Anmeldeformular der Anmeldeseite (``/login/``) dieselbe Begrenzung und Sperrung.
Jeder Versuch verbraucht einen Platz im Minutenkontingent der Client-IP (Standardwert ``10``); bei erfolgreicher Anmeldung wird der Platz zurückgegeben.
Überschreiten die Versuche von derselben IP-Adresse das Limit, wird diese IP-Adresse für ``theme.api.login.lockout.seconds`` (Standardwert ``900``) Sekunden gesperrt, und in dieser Zeit ist auch mit korrekten Zugangsdaten keine Anmeldung möglich.
Kommen daher von derselben IP-Adresse mehr Versuche als erlaubt (etwa gleichzeitige Anmeldungen), bevor einer erfolgreich ist, wird diese Adresse gesperrt.
Einzelheiten finden Sie unter :doc:`../api/api-auth`.

Erweiterte Rate-Limiting-Konfiguration
======================================

Expand Down
25 changes: 25 additions & 0 deletions de/15.10/install/upgrade.rst
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,31 @@ Upgrade von 15.9 auf 15.10

Die Änderungen in diesem Abschnitt betreffen jedes Upgrade auf 15.10. Wenn Sie von 15.8 oder früher aktualisieren, lesen Sie im Anschluss auch den Abschnitt „Upgrade von 15.8 auf 15.10“.

.. _upgrade-1510-client-ip:

In den Protokollen erfasste Client-IP-Adresse
---------------------------------------------

Bis 15.9 enthielten das Feld ``ip`` des Audit-Protokolls und das Feld ``clientIp`` des Suchprotokolls den Wert des Request-Headers ``X-Forwarded-For`` unverändert, unabhängig davon, woher die Anfrage kam. Enthielt der Header mehrere Adressen, wurden alle erfasst, und ein Client konnte beliebige Werte senden.
15.10 bestimmt die Adresse nach denselben Regeln wie das Rate-Limiting (:doc:`../config/rate-limiting`). Nur wenn die Quelle der Anfrage in ``rate.limit.trusted.proxies`` (Standardwert ``127.0.0.1,::1``) enthalten ist, werden ``X-Forwarded-For`` (bei mehreren Header-Zeilen alle Zeilen) und ``X-Real-IP`` verwendet. ``X-Forwarded-For`` wird von rechts gelesen, und die erste Adresse, die kein vertrauenswürdiger Proxy ist, wird erfasst. Andernfalls wird die Adresse der Quelle erfasst. Diese Regeln gelten auch, wenn ``rate.limit.enabled`` auf ``false`` steht.

Hinter einem Reverse-Proxy, der nicht in ``rate.limit.trusted.proxies`` steht, werden alle Anfragen mit der Adresse des Proxys erfasst. Um die Adresse des ursprünglichen Clients zu erfassen, fügen Sie die Adresse des Proxys zu ``rate.limit.trusted.proxies`` hinzu.

.. _upgrade-1510-cipher-key:

Warnung zu ``app.cipher.key``
-----------------------------

Ist ``app.cipher.key`` leer oder noch der in ``fess_config.properties`` mitgelieferte Wert (``___change__me___``), schreibt 15.10 beim Start eine Warnung in ``fess.log``. Job-Prozesse wie der Crawler schreiben sie nicht.
Der Schlüssel verschlüsselt Werte wie die in Crawl-Konfigurationen und Datenspeicher-Konfigurationen gespeicherten Passwörter, und der mitgelieferte Wert ist öffentlich bekannt. |Fess| ändert den Schlüssel nicht selbstständig. Nach einer Änderung lassen sich mit dem früheren Schlüssel verschlüsselte Werte nicht mehr entschlüsseln. Legen Sie ihn daher fest, bevor Sie den Betrieb aufnehmen.

Weitere Verhaltensänderungen
----------------------------

- „Alle löschen“ in den Bildschirmen „Suche“ und „Crawling-Informationen“ der Administrationsoberfläche erfordert die Bearbeitungsrolle (``admin-searchlist``, ``admin-crawlinginfo``). Bis 15.9 war nur die Schaltfläche ausgeblendet: Anfragen von Benutzern, die nur eine Leserolle (eine Rolle mit der Endung ``-view``) hatten, wurden dennoch angenommen.
- Der Zieltext (``output``) eines Eintrags im Zuordnungswörterbuch ist erforderlich. Bis 15.9 nahmen die Administrationsoberfläche und die Administrations-API einen Eintrag ohne ihn an und speicherten nichts.
- Bei der Suche trifft ein einzelnes Wort in doppelten Anführungszeichen (etwa ``"less"``) nur auf dieses Wort zu. Bis 15.9 erhielt ein Wort mit mindestens ``query.boost.fuzzy.min.length`` (Standardwert ``4``) Zeichen zusätzlich Bedingungen für unscharfe Treffer, sodass Dokumente mit ``fess`` auch auf ``"less"`` passten. Wörter ohne Anführungszeichen und Wörter mit angegebenem Feld (etwa ``content:"less"``) sind unverändert.

.. _upgrade-1510-tika:

Apache Tika 4 und ``tika.xml``
Expand Down
12 changes: 11 additions & 1 deletion en/15.10/config/rate-limiting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ All properties configurable in ``app/WEB-INF/classes/fess_config.properties``.
- IP addresses to block (comma-separated)
- (empty)
* - ``rate.limit.trusted.proxies``
- Trusted proxy IPs (for X-Forwarded-For/X-Real-IP resolution)
- Trusted proxy IPs (for X-Forwarded-For/X-Real-IP resolution; also used for the client IP in the audit log and search log)
- ``127.0.0.1,::1``
* - ``rate.limit.cleanup.interval``
- Cleanup interval (number of requests, reserved)
Expand All @@ -181,6 +181,16 @@ All properties configurable in ``app/WEB-INF/classes/fess_config.properties``.
(``rate.limit.window.ms`` and ``rate.limit.block.duration.ms``),
so this value is not used.

Login Rate Limit
================

Login has its own rate limit, separate from the one above, configured with ``theme.api.login.*``.
From 15.10, ``/api/v2/auth/login`` and the login form on the login screen (``/login/``) share the same limit and lockout.
Each attempt consumes one slot of the per-minute quota of the client IP (default ``10``), and the slot is returned when the login succeeds.
When attempts from the same IP address exceed the limit, that IP address is locked out for ``theme.api.login.lockout.seconds`` (default ``900``) seconds, and during that time even correct credentials cannot log in.
As a result, if more attempts than the limit (for example, simultaneous logins) come from the same IP address before one succeeds, that address is locked out.
See :doc:`../api/api-auth` for details.

Advanced Rate Limiting Configuration
=====================================

Expand Down
25 changes: 25 additions & 0 deletions en/15.10/install/upgrade.rst
Original file line number Diff line number Diff line change
Expand Up @@ -562,6 +562,31 @@ Upgrading from 15.9 to 15.10

The changes in this section apply to every upgrade to 15.10. If you are upgrading from 15.8 or earlier, also read the section "Upgrading from 15.8 to 15.10" that follows.

.. _upgrade-1510-client-ip:

Client IP Address Recorded in Logs
----------------------------------

Up to 15.9, the ``ip`` field of the audit log and the ``clientIp`` field of the search log recorded the value of the request's ``X-Forwarded-For`` header as is, regardless of where the request came from. If it held several addresses, all of them were recorded, and a client could send any value.
15.10 determines the address by the same rules as rate limiting (:doc:`../config/rate-limiting`). Only when the source of the request is in ``rate.limit.trusted.proxies`` (default ``127.0.0.1,::1``) does it use ``X-Forwarded-For`` (all lines, if it is split across several header lines) and ``X-Real-IP``. ``X-Forwarded-For`` is read from the right, and the first address that is not a trusted proxy is recorded. Otherwise the address of the source is recorded. These rules also apply when ``rate.limit.enabled`` is ``false``.

Behind a reverse proxy that is not in ``rate.limit.trusted.proxies``, every request is recorded with the address of the proxy. To record the address of the original client, add the address of the proxy to ``rate.limit.trusted.proxies``.

.. _upgrade-1510-cipher-key:

Warning for ``app.cipher.key``
------------------------------

If ``app.cipher.key`` is blank or still the value shipped in ``fess_config.properties`` (``___change__me___``), 15.10 writes a warning to ``fess.log`` at startup. Job processes such as the crawler do not write it.
The key encrypts values such as the passwords stored in crawl configurations and data store configurations, and the shipped value is public. |Fess| does not change the key by itself. Changing it makes values encrypted with the previous key impossible to decrypt, so set it before you start operating.

Other Behavior Changes
----------------------

- "Delete all" in the "Search" and "Crawling Info" screens of the admin UI requires the edit role (``admin-searchlist``, ``admin-crawlinginfo``). Up to 15.9, only the button was hidden: requests from a user who had only a view role (a role with the ``-view`` suffix) were still accepted.
- The converted text (``output``) of a mapping dictionary item is required. Up to 15.9, the admin UI and the admin API accepted an item without it and stored nothing.
- In a search, a single word in double quotes (such as ``"less"``) matches only that word. Up to 15.9, a word at least ``query.boost.fuzzy.min.length`` (default ``4``) long also got fuzzy match conditions, so documents containing ``fess`` also matched ``"less"``. Unquoted words and words with a field specified (such as ``content:"less"``) are unchanged.

.. _upgrade-1510-tika:

Apache Tika 4 and ``tika.xml``
Expand Down
12 changes: 11 additions & 1 deletion es/15.10/config/rate-limiting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ Todas las propiedades configurables en ``app/WEB-INF/classes/fess_config.propert
- Direcciones IP a bloquear (separadas por comas)
- (vacío)
* - ``rate.limit.trusted.proxies``
- IPs de proxies confiables (para obtener X-Forwarded-For/X-Real-IP)
- IPs de proxies confiables (para obtener X-Forwarded-For/X-Real-IP; también se utilizan para la IP del cliente en el registro de auditoría y en el registro de búsqueda)
- ``127.0.0.1,::1``
* - ``rate.limit.cleanup.interval``
- Intervalo de limpieza (número de solicitudes, reservado)
Expand All @@ -182,6 +182,16 @@ Todas las propiedades configurables en ``app/WEB-INF/classes/fess_config.propert
(``rate.limit.window.ms`` y ``rate.limit.block.duration.ms``),
por lo que este valor no se utiliza.

Límite de intentos de inicio de sesión
======================================

El inicio de sesión tiene su propio límite, independiente del anterior y configurado con ``theme.api.login.*``.
Desde 15.10, ``/api/v2/auth/login`` y el formulario de inicio de sesión de la pantalla de inicio de sesión (``/login/``) comparten el mismo límite y el mismo bloqueo.
Cada intento consume una plaza de la cuota por minuto de la IP del cliente (valor predeterminado ``10``), y la plaza se devuelve cuando el inicio de sesión tiene éxito.
Cuando los intentos desde la misma dirección IP superan el límite, esa dirección IP queda bloqueada durante ``theme.api.login.lockout.seconds`` (valor predeterminado ``900``) segundos, y durante ese tiempo no se puede iniciar sesión ni siquiera con credenciales correctas.
Por ello, si desde la misma dirección IP se hacen más intentos que el límite (por ejemplo, inicios de sesión simultáneos) antes de que alguno tenga éxito, esa dirección queda bloqueada.
Consulte :doc:`../api/api-auth` para más detalles.

Configuración avanzada de límite de tasa
========================================

Expand Down
25 changes: 25 additions & 0 deletions es/15.10/install/upgrade.rst
Original file line number Diff line number Diff line change
Expand Up @@ -573,6 +573,31 @@ Actualización de 15.9 a 15.10

Los cambios de esta sección afectan a toda actualización a la versión 15.10. Si actualiza desde la versión 15.8 o anterior, lea también a continuación la sección "Actualización de 15.8 a 15.10".

.. _upgrade-1510-client-ip:

Dirección IP del cliente en los registros
-----------------------------------------

Hasta 15.9, el campo ``ip`` del registro de auditoría y el campo ``clientIp`` del registro de búsqueda guardaban tal cual el valor de la cabecera ``X-Forwarded-For`` de la solicitud, con independencia del origen de esta. Si la cabecera contenía varias direcciones, se guardaban todas, y un cliente podía enviar cualquier valor.
15.10 determina la dirección con las mismas reglas que el límite de tasa (:doc:`../config/rate-limiting`). Solo cuando el origen de la solicitud figura en ``rate.limit.trusted.proxies`` (valor predeterminado ``127.0.0.1,::1``) se utilizan ``X-Forwarded-For`` (todas las líneas, si está repartido en varias líneas de cabecera) y ``X-Real-IP``. ``X-Forwarded-For`` se lee de derecha a izquierda y se guarda la primera dirección que no es un proxy de confianza. En caso contrario, se guarda la dirección del origen. Estas reglas se aplican también cuando ``rate.limit.enabled`` es ``false``.

Detrás de un proxy inverso que no figura en ``rate.limit.trusted.proxies``, todas las solicitudes se guardan con la dirección del proxy. Para guardar la dirección del cliente original, añada la dirección del proxy a ``rate.limit.trusted.proxies``.

.. _upgrade-1510-cipher-key:

Advertencia sobre ``app.cipher.key``
------------------------------------

Si ``app.cipher.key`` está vacío o conserva el valor incluido en ``fess_config.properties`` (``___change__me___``), 15.10 escribe una advertencia en ``fess.log`` al iniciarse. Los procesos de trabajos, como el rastreador, no la escriben.
Esta clave cifra valores como las contraseñas guardadas en las configuraciones de rastreo y de almacén de datos, y el valor incluido es público. |Fess| no cambia la clave por sí mismo. Si la cambia, los valores cifrados con la clave anterior ya no se podrán descifrar, por lo que debe definirla antes de poner el sistema en producción.

Otros cambios de comportamiento
-------------------------------

- «Eliminar todo» en las pantallas «Búsqueda» e «Información de rastreo» de la interfaz de administración requiere el rol de edición (``admin-searchlist``, ``admin-crawlinginfo``). Hasta 15.9, solo se ocultaba el botón: las solicitudes de un usuario que solo tenía un rol de visualización (un rol con el sufijo ``-view``) se aceptaban igualmente.
- El texto convertido (``output``) de una entrada del diccionario de mapeo es obligatorio. Hasta 15.9, la interfaz de administración y la API de administración aceptaban una entrada sin él y no guardaban nada.
- En una búsqueda, una sola palabra entre comillas dobles (como ``"less"``) coincide únicamente con esa palabra. Hasta 15.9, una palabra de al menos ``query.boost.fuzzy.min.length`` (valor predeterminado ``4``) caracteres recibía además condiciones de coincidencia aproximada, de modo que los documentos que contenían ``fess`` también coincidían con ``"less"``. Las palabras sin comillas y las palabras con un campo especificado (como ``content:"less"``) no cambian.

.. _upgrade-1510-tika:

Apache Tika 4 y ``tika.xml``
Expand Down
12 changes: 11 additions & 1 deletion fr/15.10/config/rate-limiting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ Toutes les propriétés configurables dans ``app/WEB-INF/classes/fess_config.pro
- Adresses IP à bloquer (séparées par des virgules)
- (vide)
* - ``rate.limit.trusted.proxies``
- IP de proxies de confiance (pour obtenir l'IP client via X-Forwarded-For/X-Real-IP)
- IP de proxies de confiance (pour obtenir l'IP client via X-Forwarded-For/X-Real-IP ; également utilisées pour l'IP client du journal d'audit et du journal de recherche)
- ``127.0.0.1,::1``
* - ``rate.limit.cleanup.interval``
- Intervalle de nettoyage (nombre de requêtes, réservé)
Expand All @@ -185,6 +185,16 @@ Toutes les propriétés configurables dans ``app/WEB-INF/classes/fess_config.pro
(``rate.limit.window.ms`` et ``rate.limit.block.duration.ms``),
de sorte que cette valeur n'est pas utilisée.

Limitation des tentatives de connexion
======================================

La connexion dispose de sa propre limitation, distincte de la précédente et configurée avec ``theme.api.login.*``.
Depuis la 15.10, ``/api/v2/auth/login`` et le formulaire de connexion de l'écran de connexion (``/login/``) partagent la même limite et le même verrouillage.
Chaque tentative consomme une place du quota par minute de l'IP client (valeur par défaut ``10``), et cette place est restituée lorsque la connexion réussit.
Lorsque les tentatives d'une même adresse IP dépassent la limite, cette adresse IP est verrouillée pendant ``theme.api.login.lockout.seconds`` (valeur par défaut ``900``) secondes, et même des identifiants corrects ne permettent pas de se connecter pendant ce temps.
Par conséquent, si une même adresse IP effectue plus de tentatives que la limite (par exemple des connexions simultanées) avant qu'une seule réussisse, cette adresse est verrouillée.
Voir :doc:`../api/api-auth` pour plus de détails.

Configuration avancée de limitation de débit
====================

Expand Down
Loading
Loading