Skip to main content

Django implementation of the Honeywords Project

Project description

Django implementation of the Honeywords Project by Ari Juels and Ronald L. Rivest.

Generates a list of honeywords along with the actual user password on user registration. If the wrong compromised honeyword is used to login, the user account will be automatically deactivated.

Written for Django 2.2 on Python 3.6

Quick Start

  1. Install Django Honeywords:

    pip install django-honeywords
  2. Add honeywords to INSTALLED_APPS in settings.py:

    INSTALLED_APPS = [
        ...
        'honeywords',
    ]
  3. Create Honeywords table:

    ./manage.py makemigrations honeywords
    ./manage.py migrate
  4. Add HONEYCHECKER_URI = http(s)://<url/ip>:<port> into settings.py:

    HONEYCHECKER_URI = 'http://192.168.56.101:55555'
  5. Add honeywords.backends.HoneywordsBackend to the top of AUTHENTICATION_BACKENDS in settings.py (or add AUTHENTICATION_BACKENDS if missing):

    AUTHENTICATION_BACKENDS = [
       'honeywords.backends.HoneywordsBackend',
       'django.contrib.auth.backends.ModelBackend',
       ]
  6. Download honeychecker.py to the Honeychecker server.

  7. Edit the IP, PORT and DATABASE settings in honeychecker.py:

    ### Settings
    IP = '192.168.56.101'
    PORT = 55555
    DATABASE = 'honeychecker_db.sqlite3'
    ###
  8. Run honeychecker.py on the Honeychecker server:

    python honeychecker.py

Documentation

TODO

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-honeywords-0.1.0b1.tar.gz (15.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page