Django implementation of the Honeywords Project
Project description
=================
Django Honeywords
=================
Django implementation of the `Honeywords Project`_ by Ari Juels and Ronald L. Rivest.
.. _Honeywords Project: http://people.csail.mit.edu/rivest/honeywords/
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
Honeychecker Quick Link
-----------------------
`Honeychecker`__
__ honeychecker.py_
Quick Start
-----------
#) Install Django Honeywords::
pip install django-honeywords
#) Add ``honeywords`` to ``INSTALLED_APPS`` in ``settings.py``::
INSTALLED_APPS = [
...
'honeywords',
]
#) Add ``honeywords.hashers.HoneywordHasher`` to top of ``PASSWORD_HASHERS`` in ``settings.py`` (or add ``PASSWORD_HASHERS`` if missing)::
PASSWORD_HASHERS = [
'honeywords.hashers.HoneywordHasher',
'django.contrib.auth.hashers.PBKDF2PasswordHasher',
'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
'django.contrib.auth.hashers.Argon2PasswordHasher',
'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
]
#) 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',
]
#) Add ``HONEYCHECKER_URI = http(s)://<url/ip>:<port>`` into ``settings.py``::
HONEYCHECKER_URI = 'http://192.168.56.101:55555'
#) Create Honeywords table::
./manage.py makemigrations honeywords
./manage.py migrate
#) Download `honeychecker.py`_ to the Honeychecker server::
wget -c https://raw.githubusercontent.com/ooknosi/django_honeywords/master/src/honeywords/honeychecker.py
.. _honeychecker.py: https://raw.githubusercontent.com/ooknosi/django_honeywords/master/src/honeywords/honeychecker.py
#) Edit the ``IP``, ``PORT`` and ``DATABASE`` settings in ``honeychecker.py``::
### Settings
IP = '192.168.56.101'
PORT = 55555
DATABASE = 'honeychecker_db.sqlite3'
###
#) Run ``honeychecker.py`` on the Honeychecker server::
python honeychecker.py
Documentation
-------------
TODO
Django Honeywords
=================
Django implementation of the `Honeywords Project`_ by Ari Juels and Ronald L. Rivest.
.. _Honeywords Project: http://people.csail.mit.edu/rivest/honeywords/
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
Honeychecker Quick Link
-----------------------
`Honeychecker`__
__ honeychecker.py_
Quick Start
-----------
#) Install Django Honeywords::
pip install django-honeywords
#) Add ``honeywords`` to ``INSTALLED_APPS`` in ``settings.py``::
INSTALLED_APPS = [
...
'honeywords',
]
#) Add ``honeywords.hashers.HoneywordHasher`` to top of ``PASSWORD_HASHERS`` in ``settings.py`` (or add ``PASSWORD_HASHERS`` if missing)::
PASSWORD_HASHERS = [
'honeywords.hashers.HoneywordHasher',
'django.contrib.auth.hashers.PBKDF2PasswordHasher',
'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
'django.contrib.auth.hashers.Argon2PasswordHasher',
'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
]
#) 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',
]
#) Add ``HONEYCHECKER_URI = http(s)://<url/ip>:<port>`` into ``settings.py``::
HONEYCHECKER_URI = 'http://192.168.56.101:55555'
#) Create Honeywords table::
./manage.py makemigrations honeywords
./manage.py migrate
#) Download `honeychecker.py`_ to the Honeychecker server::
wget -c https://raw.githubusercontent.com/ooknosi/django_honeywords/master/src/honeywords/honeychecker.py
.. _honeychecker.py: https://raw.githubusercontent.com/ooknosi/django_honeywords/master/src/honeywords/honeychecker.py
#) Edit the ``IP``, ``PORT`` and ``DATABASE`` settings in ``honeychecker.py``::
### Settings
IP = '192.168.56.101'
PORT = 55555
DATABASE = 'honeychecker_db.sqlite3'
###
#) Run ``honeychecker.py`` on the Honeychecker server::
python honeychecker.py
Documentation
-------------
TODO
Project details
Release history Release notifications | RSS feed
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.0b2.tar.gz
(15.5 kB
view details)
File details
Details for the file django-honeywords-0.1.0b2.tar.gz
.
File metadata
- Download URL: django-honeywords-0.1.0b2.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2c48f73d89b24d27c1182b30742f776540476e4363c3eaf52c2d2fc20f7aeb8 |
|
MD5 | 5965b854e8cd693c0e5d58c37cadde74 |
|
BLAKE2b-256 | a3254f357e91636a99760cb94a4dc121d8bffb0ccc5a8ff32e967b509672bc73 |