El otro día hice un cambio de contraseña de mi usuario de NextCloud y al reconfigurar la APP de mi móvil para sincronizar los calendarios, me dio un error al sincronizarlos: Too many requests.
Este error indica que hay demasiadas peticiones. Lo que sucedió es que no me acordé de que en mi Home Assistant también tengo configurada mi cuenta de NextCloud para hacer los backups y de ahí que hubieran tantas peticiones.
NextCloud tiene un sistema de seguridad donde si hay muchas peticiones erróneas desde una IP concreta, lo que hace es bloquear esas IP's para evitar posibles ataques.
Detección del error
Lo primero que hice fue detectar o buscar más información en el servidor sobre el aviso que me aparecía en mi APP. Mirando directamente en el apartado de Logs de NextCloud, vi que aparecía el siguiente error:
OCA\DAV\Connector\Sabre\Exception\TooManyRequests:
/var/www/html/vhosts/nuvol.arrel.cloud/www/3rdparty/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php - line 103:
OCA\DAV\Connector\Sabre\Auth->validateUserPass("*** sensiti ... *")
/var/www/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php - line 235:
Sabre\DAV\Auth\Backend\AbstractBasic->check()
/var/www/nextcloud/apps/dav/lib/Connector/Sabre/Auth.php - line 142:
OCA\DAV\Connector\Sabre\Auth->auth()
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php - line 180:
OCA\DAV\Connector\Sabre\Auth->check()
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php - line 135:
Sabre\DAV\Auth\Plugin->check()
/var/www/nextcloud/www/3rdparty/sabre/event/lib/WildcardEmitterTrait.php - line 89:
Sabre\DAV\Auth\Plugin->beforeMethod()
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 456:
Sabre\DAV\Server->emit()
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 253:
Sabre\DAV\Server->invokeMethod()
/var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 321:
Sabre\DAV\Server->start()
/var/www/nextcloud/apps/dav/lib/Server.php - line 361:
Sabre\DAV\Server->exec()
/var/www/nextcloud/apps/dav/appinfo/v2/remote.php - line 35:
OCA\DAV\Server->exec()
/var/www/nextcloud/remote.php - line 172:
require_once("/var/www/ht ... p")También encontré este otro error que nos daba más pistas:
OCP\Security\Bruteforce\MaxDelayReached: Reached maximum delay
/var/www/nextcloud/lib/private/User/Session.php - line 431:
OC\Security\Bruteforce\Throttler->sleepDelayOrThrowOnMax()
/var/www/nextcloud/lib/private/User/Session.php - line 581:
OC\User\Session->logClientIn("*** sensiti ... *")
/var/www/nextcloud/lib/base.php - line 1120:
OC\User\Session->tryBasicAuthLogin()
/var/www/nextcloud/lib/base.php - line 1042:
OC::handleLogin()
/var/www/nextcloud/index.php - line 36:
OC::handleRequest()En ocasiones, es posible que desde la interfaz web podamos ver también este otro error, en mi caso no sucedió, pero he visto que es posible también que aparezca:

También revisando los logs del servidor vi lo siguiente:
Login failed: '[Nuestro Usuario]' (Remote IP: 'XX.XX.XX.XX')Resolución del problema
Como hemos mencionado anteriormente, NextCloud tiene una función de protección de fuerza bruta que está destinada a proteger los servidores de NextCloud de intentos de adivinar contraseñas y tokens de diversas formas.
Como que tanto mi Home Assistant como mi móvil estaban haciendo peticiones erróneas al servidor, esta funcionalidad se activó y procedió a bloquear mi IP.
Cuando sucede esto, desde el mismo servidor podemos ejecutar un comando para eliminar nuestra IP de esta función y volver a tener acceso como siempre.
Desde la ruta de la instalación de NextCloud, debemos de ejecutar este comando:
sudo -u www-data php /var/www/nextcloud/occ security:bruteforce:reset [IP_PUBLICA_ROUTER]Y con este comando ya deberíamos de poder acceder a nuestro NextCloud con la contraseña correcta
Más sobre ./voidNull
- 📖 Aprende todos sobre los comandos de GNU/Linux en nuestro Diccionario "De la A a la Z: Los comandos de GNU/Linux"
- 💪 ¡Forma parte de la Comunidad de ./voidNull!
- 🤖 Disfruta de todos nuestros Cursos sobre Ansible, Proxmox, Home Assistant entre otros.
- 📩 Mantente actualizado con lo último en GNU/Linux y Software Libre. Recibe nuestra Newsletter mensual.
Comentarios