You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 lines
3.1 KiB

10 years ago
  1. .. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
  2. :alt: License
  3. ==============================================
  4. Authentication Tracking and Prevent Brut Force
  5. ==============================================
  6. This module register each request done by users trying to authenticate into
  7. Odoo. If the authentication fails, a counter is increased for the given remote
  8. IP. After 10 attempts (or other quantity, depending on an ir.config_parameter),
  9. Odoo will ban the remote IP and ignore new requests.
  10. Admin user have the possibility to unblock a banned IP.
  11. This module realizes a call to a web API (http://ip-api.com) to try to have
  12. extra informations about remote IP.
  13. Note and Warning
  14. ----------------
  15. The ID used to identify a remote request is the IP provided in the request
  16. (key 'REMOTE_ADDR').
  17. Depending of server and / or user network configuration, the idenfication
  18. of the user can be wrong, and mainly in the following cases:
  19. * if the Odoo server is behind an Apache / NGinx proxy without redirection,
  20. all the request will be have the value '127.0.0.1' for the REMOTE_ADDR key;
  21. * If some users are behind the same Internet Service Provider, if a user is
  22. banned, all the other users will be banned to;
  23. Logging
  24. -------
  25. This module generates some WARNING logs, in the three following cases:
  26. * Authentication failed from remote '127.0.0.1'. Login tried : 'admin'.
  27. Attempt 1 / 10.
  28. * Authentication failed from remote '127.0.0.1'. The remote has been banned.
  29. Login tried : 'admin'.
  30. * Authentication tried from remote '127.0.0.1'. The request has been ignored
  31. because the remote has been banned after 10 attempts without success. Login
  32. tried : 'admin'.
  33. Screenshot
  34. ----------
  35. **List of Attempts**
  36. .. image:: /auth_brut_force/static/description/screenshot_attempts_list.png
  37. **Detail of a banned IP**
  38. .. image:: /auth_brut_force/static/description/screenshot_custom_ban.png
  39. Usage
  40. =====
  41. * go to ...
  42. .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
  43. :alt: Try me on Runbot
  44. :target: https://runbot.odoo-community.org/runbot/149/8.0
  45. For further information, please visit:
  46. * https://www.odoo.com/forum/help-1
  47. Bug Tracker
  48. ===========
  49. Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_.
  50. In case of trouble, please check there if your issue has already been reported.
  51. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback
  52. `here <https://github.com/OCA/web/issues/new?body=module:%20auth_brut_force%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
  53. Credits
  54. =======
  55. Contributors
  56. ------------
  57. * Sylvain LE GAL (https://twitter.com/legalsylvain)
  58. Maintainer
  59. ----------
  60. .. image:: http://odoo-community.org/logo.png
  61. :alt: Odoo Community Association
  62. :target: http://odoo-community.org
  63. This module is maintained by the OCA.
  64. OCA, or the Odoo Community Association, is a nonprofit organization whose
  65. mission is to support the collaborative development of Odoo features and
  66. promote its widespread use.
  67. To contribute to this module, please visit http://odoo-community.org.