{ "info": { "author": "GRAP, Tecnativa, Odoo Community Association (OCA)", "author_email": "support@odoo-community.org", "bugtrack_url": null, "classifiers": [ "Framework :: Odoo", "License :: OSI Approved :: GNU Affero General Public License v3", "Programming Language :: Python" ], "description": ".. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg\n :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html\n :alt: License: AGPL-3\n\n===============================================================\nTracks Authentication Attempts and Prevents Brute-force Attacks\n===============================================================\n\nThis module registers each request done by users trying to authenticate into\nOdoo. If the authentication fails, a counter is increased for the given remote\nIP. After a defined number of attempts, Odoo will ban the remote IP and\nignore new requests.\nThis module applies security through obscurity\n(https://en.wikipedia.org/wiki/Security_through_obscurity),\nWhen a user is banned, the request is now considered as an attack. So, the UI\nwill **not** indicate to the user that his IP is banned and the regular message\n'Wrong login/password' is displayed.\n\nThis module realizes a call to a web API (http://ip-api.com) to try to have\nextra information about remote IP.\n\nConfiguration\n=============\n\nYou can use these configuration parameters that control this addon behavior:\n\n* ``auth_brute_force.whitelist_remotes`` is a comma-separated list of\n whitelisted IPs. Failures from these remotes are ignored.\n\n* ``auth_brute_force.max_by_ip`` defaults to 50, and indicates the maximum\n successive failures allowed for an IP. After hitting the limit, the IP gets\n banned.\n\n* ``auth_brute_force.max_by_ip_user`` defaults to 10, and indicates the\n maximum successive failures allowed for any IP and user combination.\n After hitting the limit, that user and IP combination is banned.\n\nUsage\n=====\n\nAdmin user have the possibility to unblock a banned IP.\n\nLogging\n-------\n\nThis module generates some WARNING logs, in the following cases:\n\n* When the IP limit is reached: *Authentication failed from remote 'x.x.x.x'.\n The remote has been banned. Login tried: xxxx.*\n\n* When the IP+user combination limit is reached:\n *Authentication failed from remote 'x.x.x.x'.\n The remote and login combination has been banned. Login tried: xxxx.*\n\nScreenshot\n----------\n\n**List of Attempts**\n\n.. image:: /auth_brute_force/static/description/screenshot_attempts_list.png\n\n\n.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas\n :alt: Try me on Runbot\n :target: https://runbot.odoo-community.org/runbot/149/10.0\n\nFor further information, please visit:\n\n* https://www.odoo.com/forum/help-1\n\nKnown issues / Roadmap\n======================\n\n* Remove \ud83d\udc12 patch for https://github.com/odoo/odoo/issues/24183 in v12.\n\n* Depending of server and / or user network configuration, the idenfication\n of the user can be wrong, and mainly in the following cases:\n\n * If the Odoo server is behind an Apache / NGinx proxy and it is not properly\n configured, all requests will use the same IP address. Blocking such IP\n could render Odoo unusable for all users! **Make sure your logs output the\n correct IP for werkzeug traffic before installing this addon.**\n\n* The IP metadata retrieval should use a better system. `See details here\n `_.\n\nBug Tracker\n===========\n\nBugs are tracked on `GitHub Issues\n`_. In case of trouble, please\ncheck there if your issue has already been reported. If you spotted it first,\nhelp us smash it by providing detailed and welcomed feedback.\n\nCredits\n=======\n\nContributors\n------------\n\n* Sylvain LE GAL (https://twitter.com/legalsylvain)\n* David Vidal \n* Jairo Llopis \n\nMaintainer\n----------\n\n.. image:: https://odoo-community.org/logo.png\n :alt: Odoo Community Association\n :target: https://odoo-community.org\n\nThis module is maintained by the OCA.\n\nOCA, or the Odoo Community Association, is a nonprofit organization whose\nmission is to support the collaborative development of Odoo features and\npromote its widespread use.\n\nTo contribute to this module, please visit https://odoo-community.org.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/OCA/server-tools", "keywords": "", "license": "AGPL-3", "maintainer": "", "maintainer_email": "", "name": "odoo10-addon-auth-brute-force", "package_url": "https://pypi.org/project/odoo10-addon-auth-brute-force/", "platform": "", "project_url": "https://pypi.org/project/odoo10-addon-auth-brute-force/", "project_urls": { "Homepage": "https://github.com/OCA/server-tools" }, "release_url": "https://pypi.org/project/odoo10-addon-auth-brute-force/10.0.2.2.0/", "requires_dist": [ "odoo (<10.1dev,>=10.0)" ], "requires_python": "~=2.7", "summary": "Track Authentication Attempts and Prevent Brute-force Attacks", "version": "10.0.2.2.0" }, "last_serial": 4918159, "releases": { "10.0.1.0.0": [ { "comment_text": "", "digests": { "md5": "dddd1fd5d1af34b358c9a0d30ca501c6", "sha256": "7d7afc208743819cd6bdb1c4659bea6943a335071249430be02dc22c5e104a20" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "dddd1fd5d1af34b358c9a0d30ca501c6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 164918, "upload_time": "2017-07-30T04:30:17", "url": "https://files.pythonhosted.org/packages/da/b3/93f5a0c0c0ebeae8ffaf4532ddde6bd977ddad2784166abb83a53e1ae4d3/odoo10_addon_auth_brute_force-10.0.1.0.0-py2-none-any.whl" } ], "10.0.1.0.0.99.dev1": [ { "comment_text": "", "digests": { "md5": "4f3fd4f04685a8e196e6d78d3079d524", "sha256": "6d27831a45dd97d5afe0e02767cb3c01d0596f200e50697e7531519e2b548464" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.1.0.0.99.dev1-py2-none-any.whl", "has_sig": false, "md5_digest": "4f3fd4f04685a8e196e6d78d3079d524", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 167876, "upload_time": "2017-08-06T04:30:14", "url": "https://files.pythonhosted.org/packages/db/7d/c4dd65a66898eea8c30db1d7841d605bd7fb3ccc13ba0a83a8b53d0654e7/odoo10_addon_auth_brute_force-10.0.1.0.0.99.dev1-py2-none-any.whl" } ], "10.0.1.0.0.99.dev2": [ { "comment_text": "", "digests": { "md5": "e0c8642649a77f16ca1b9e2318c9995a", "sha256": "d4117a5bf9409198815a359804931e840c40d0e809c6c6b755cc4bd74ed4210a" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.1.0.0.99.dev2-py2-none-any.whl", "has_sig": false, "md5_digest": "e0c8642649a77f16ca1b9e2318c9995a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 167926, "upload_time": "2017-12-03T05:30:24", "url": "https://files.pythonhosted.org/packages/aa/b8/3d25de3efb8bd6fc6d3b8b58a31c1ffc22f717306bf11e075647a39c762f/odoo10_addon_auth_brute_force-10.0.1.0.0.99.dev2-py2-none-any.whl" } ], "10.0.1.0.0.99.dev3": [ { "comment_text": "", "digests": { "md5": "5d9bc3ffb6aa53f1dd38b201ab91850c", "sha256": "fa1be079a4cbae66d370e71661160c50dd5bb4da875a7af915989339049d0515" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.1.0.0.99.dev3-py2-none-any.whl", "has_sig": false, "md5_digest": "5d9bc3ffb6aa53f1dd38b201ab91850c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 167948, "upload_time": "2017-12-31T05:30:19", "url": "https://files.pythonhosted.org/packages/ff/ca/2888dd08cdc148d39a899657dd8bd4f2cf80ccc85111b78576be3c923334/odoo10_addon_auth_brute_force-10.0.1.0.0.99.dev3-py2-none-any.whl" } ], "10.0.1.0.0.99.dev4": [ { "comment_text": "", "digests": { "md5": "5f668b75d2f5ca514ce5cb8afc17067e", "sha256": "3fb0b1deece1912161605587d9afc78b63d6ab0164baf50bd64005cad05a55cb" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.1.0.0.99.dev4-py2-none-any.whl", "has_sig": false, "md5_digest": "5f668b75d2f5ca514ce5cb8afc17067e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 167978, "upload_time": "2018-01-17T05:30:20", "url": "https://files.pythonhosted.org/packages/64/9c/12ce7e775bfbb9b9e958b46213079a6bb2930638991b59457d37fb68d1aa/odoo10_addon_auth_brute_force-10.0.1.0.0.99.dev4-py2-none-any.whl" } ], "10.0.1.0.0.99.dev5": [ { "comment_text": "", "digests": { "md5": "42af31e67086c39e300879fa8ccca67c", "sha256": "f2cc2fa28178017a18b00a98220363fcf44ee4e985f847e543c72ae54dece9e3" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.1.0.0.99.dev5-py2-none-any.whl", "has_sig": false, "md5_digest": "42af31e67086c39e300879fa8ccca67c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 168133, "upload_time": "2018-01-28T05:30:11", "url": "https://files.pythonhosted.org/packages/c2/bd/7aeaa91001bf31bee32f3b6a38c328750e0ef47edecf01b428310917771c/odoo10_addon_auth_brute_force-10.0.1.0.0.99.dev5-py2-none-any.whl" } ], "10.0.1.0.0.99.dev6": [ { "comment_text": "", "digests": { "md5": "dd51c5fac0b467dea3473b845ae7a307", "sha256": "fa83ff319c2c89eebcfecac418bf8a2903d150318737d998d341158d17086a6b" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.1.0.0.99.dev6-py2-none-any.whl", "has_sig": false, "md5_digest": "dd51c5fac0b467dea3473b845ae7a307", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 168409, "upload_time": "2018-03-04T05:30:28", "url": "https://files.pythonhosted.org/packages/19/0f/813decd04294665c236624e08a710a592177cc348a27341a1a3e2960e39d/odoo10_addon_auth_brute_force-10.0.1.0.0.99.dev6-py2-none-any.whl" } ], "10.0.2.0.0": [ { "comment_text": "", "digests": { "md5": "69045fd632f2d17aaf87cf2b1a9ae7d0", "sha256": "40609e61c7a5b4c02e6c6499a40e7f499de696cdc570ac03e53fb68d64353e25" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.2.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "69045fd632f2d17aaf87cf2b1a9ae7d0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 142842, "upload_time": "2018-05-19T04:49:40", "url": "https://files.pythonhosted.org/packages/a3/a6/b135588ff6bd6ef533f4862cbca53ebd160b4b079c0739fc0f029b1ea3fc/odoo10_addon_auth_brute_force-10.0.2.0.0-py2-none-any.whl" } ], "10.0.2.1.0": [ { "comment_text": "", "digests": { "md5": "5b6c77391556185eaac0edfafad2cc32", "sha256": "16f8941c2bee4228b303fa0b629906b93e6fa4420575924f942573530ec2b9f7" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.2.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "5b6c77391556185eaac0edfafad2cc32", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 142855, "upload_time": "2018-05-22T04:48:31", "url": "https://files.pythonhosted.org/packages/00/d4/71de80821da20ab16b6b17acc1bc747dcdb0890fde9c8ce3a7f8245b0747/odoo10_addon_auth_brute_force-10.0.2.1.0-py2-none-any.whl" } ], "10.0.2.1.1": [ { "comment_text": "", "digests": { "md5": "ac37c40f63e5628c98d6c14e65e419eb", "sha256": "3ce06e4956504563d88445eee59abcda9c25ded750c5d76762cb9e29a4da78f2" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.2.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "ac37c40f63e5628c98d6c14e65e419eb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 143164, "upload_time": "2018-05-24T04:49:32", "url": "https://files.pythonhosted.org/packages/e8/fc/9a9f8827887e4244de7d964ba6a2d9e46afe8021fb73aaec53b82eb0d4a3/odoo10_addon_auth_brute_force-10.0.2.1.1-py2-none-any.whl" } ], "10.0.2.2.0": [ { "comment_text": "", "digests": { "md5": "ce6f76f76e51938c577fc518bc946a21", "sha256": "90a5520925c1b4b5a47ee633bae4e48a4362213b37d7a9c10cc533e66241ab3c" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.2.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "ce6f76f76e51938c577fc518bc946a21", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 143129, "upload_time": "2018-05-29T04:48:43", "url": "https://files.pythonhosted.org/packages/fc/e9/c354907ef08230aa40df67ccd3b157d6d95a4e1cb32fd0efbd37dbd056be/odoo10_addon_auth_brute_force-10.0.2.2.0-py2-none-any.whl" } ], "10.0.2.2.0.99.dev1": [ { "comment_text": "", "digests": { "md5": "1d486fbfda6f0b9170e788f0416a4a55", "sha256": "45c513dd808786948e25c1f4b6c5d8dc0d535a1127840d2bcc4160f12e4546ab" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.2.2.0.99.dev1-py2-none-any.whl", "has_sig": false, "md5_digest": "1d486fbfda6f0b9170e788f0416a4a55", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 138502, "upload_time": "2018-06-25T05:04:39", "url": "https://files.pythonhosted.org/packages/1b/15/071c45e04a4db3ee4e16452b11a20112047bafbc5a1fe571657ac1e9bf21/odoo10_addon_auth_brute_force-10.0.2.2.0.99.dev1-py2-none-any.whl" } ], "10.0.2.2.0.99.dev2": [ { "comment_text": "", "digests": { "md5": "b1c0b49034dadb565ae2d79b15e1bd8f", "sha256": "178df94da6eb746acb705455fe5efb2da2239f6e4cf4271a3d411c2190e53bbb" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.2.2.0.99.dev2-py2-none-any.whl", "has_sig": false, "md5_digest": "b1c0b49034dadb565ae2d79b15e1bd8f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 135710, "upload_time": "2018-07-31T04:56:12", "url": "https://files.pythonhosted.org/packages/c2/aa/5e7b5415a8e16b5ead6ffe1b26d7e509a4f21c5a5cd691b38493fdfb668b/odoo10_addon_auth_brute_force-10.0.2.2.0.99.dev2-py2-none-any.whl" } ], "10.0.2.2.0.99.dev3": [ { "comment_text": "", "digests": { "md5": "ff9b6b86d6681023943393bb0f534d99", "sha256": "fe8b96d17381c6e1d8f09079e061358367797360e4a1439bfb055f86ba0fcb2b" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.2.2.0.99.dev3-py2-none-any.whl", "has_sig": false, "md5_digest": "ff9b6b86d6681023943393bb0f534d99", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 135722, "upload_time": "2018-08-14T04:56:28", "url": "https://files.pythonhosted.org/packages/66/79/4bc0f7cbbe1d8331846678291af36cd5d89277faca352452a3c24af101e8/odoo10_addon_auth_brute_force-10.0.2.2.0.99.dev3-py2-none-any.whl" } ], "10.0.2.2.0.99.dev5": [ { "comment_text": "", "digests": { "md5": "0f4c77bc041511176aa43741f1b430ab", "sha256": "918ff21048aef20603ef9a8a7bb93b3aeeefded9895ec2d65c4d3b3527946b13" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.2.2.0.99.dev5-py2-none-any.whl", "has_sig": false, "md5_digest": "0f4c77bc041511176aa43741f1b430ab", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 135777, "upload_time": "2018-12-01T05:58:54", "url": "https://files.pythonhosted.org/packages/25/3f/af9ea98a91117196589c3ae512faa03b49a342814ee85584764e89e59ad7/odoo10_addon_auth_brute_force-10.0.2.2.0.99.dev5-py2-none-any.whl" } ], "10.0.2.2.0.99.dev7": [ { "comment_text": "", "digests": { "md5": "95ce5ba8f1529d393d1f181e00f69497", "sha256": "d594895ea84b2df3b8442483d69a982bede05bf6194914cb46659a89b5f609f1" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.2.2.0.99.dev7-py2-none-any.whl", "has_sig": false, "md5_digest": "95ce5ba8f1529d393d1f181e00f69497", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 136179, "upload_time": "2019-03-09T06:04:32", "url": "https://files.pythonhosted.org/packages/f5/2f/6049c05d493460c43a12223b87779ef281b5eb463c6616acb88d12a50110/odoo10_addon_auth_brute_force-10.0.2.2.0.99.dev7-py2-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ce6f76f76e51938c577fc518bc946a21", "sha256": "90a5520925c1b4b5a47ee633bae4e48a4362213b37d7a9c10cc533e66241ab3c" }, "downloads": -1, "filename": "odoo10_addon_auth_brute_force-10.0.2.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "ce6f76f76e51938c577fc518bc946a21", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "~=2.7", "size": 143129, "upload_time": "2018-05-29T04:48:43", "url": "https://files.pythonhosted.org/packages/fc/e9/c354907ef08230aa40df67ccd3b157d6d95a4e1cb32fd0efbd37dbd056be/odoo10_addon_auth_brute_force-10.0.2.2.0-py2-none-any.whl" } ] }