Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Authentication request #66

Closed
jasonblanks opened this issue Dec 13, 2016 · 5 comments
Closed

Authentication request #66

jasonblanks opened this issue Dec 13, 2016 · 5 comments
Milestone

Comments

@jasonblanks
Copy link

Not so much as a real issue other than just an issue for me. I love this tool, it really helps out my team and I see huge value, but I have been ask to take it down due to there being no auth and leaving images open to anyone on the network. Do you have any suggestions on how you or others are dealing with this? Also maybe a feature request to add authentication and user management.

@kevthehermit
Copy link
Owner

Django has some authentication models built in i can look to include one of those.

@kevthehermit kevthehermit added this to the 2.0 milestone Dec 13, 2016
@kevthehermit
Copy link
Owner

Ok, so i have auth working, you can use the builtin django admin panel to manage accounts.
Is it worth having granular permissions?

i.e. read only, analyst, admin

@jasonblanks
Copy link
Author

jasonblanks commented Dec 14, 2016

This is amazing, thank you for such a fast response! I think this might be where my lack of django knowledge will show. I am able to authenticate by adding myself as an admin and logging into the admin view.

git pull origin auth

  1. ran server noticed error to migrate, did 'python manage.py migrate' but was getting an error after:
    Quit the server with CONTROL-C. ERROR Internal Server Error: / Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/exception.py", line 39, in inner response = get_response(request) File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 249, in _legacy_get_response response = self._get_response(request) File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 187, in _get_response response = self.process_exception_by_middleware(e, request) File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 185, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/opt/VolUtility/web/views.py", line 171, in main_page if config['auth']['enable'].lower() == 'true' and not request.user.is_authenticated: KeyError: 'auth' ERROR "GET / HTTP/1.1" 500 71371

Decided to drop databases created as I just had a test image loaded:
--mongo

show dbs
admin 0.000GB
local 0.000GB
voldb 0.000GB
voldbfs 0.005GB

dropped voldb & voldbfs and restarted server, everything is up and working now.

  1. Getting the 'needs to be authenticated' when loading page,

But one problem, not sure how to authenticate, here is my lack of django is showing..

  1. Added myself as a admin user to the back-end, looks good I now log in to the admin view and create a session which I can now begin using volutiltity, aces. But whats the method to create a normal user and have them login? I added a new group in the backend and added a user with just access to create a session. What is the correct way. Again, you are awesome and volutility is awesome thanks so much!

python manage.py changepassword administrator
CommandError: user 'administrator' does not exist
python manage.py changepassword admin
CommandError: user 'admin' does not exist

user@host> manage.py shell

from django.contrib.auth.models import User
user=User.objects.create_user('foo', password='bar')
user.is_superuser=True
user.is_staff=True
user.save()


Just some other thoughts on enhancement in the future, by no means overnight or if you even deam meaningful, but add an incident object using timesketch as a template where there could be multiple user accounts, bookmark & notes function, and grouping memory images within that incident object allowing teams to collaborate over images.

@kevthehermit
Copy link
Owner

I need to add the setup details. in to the wiki.
basically just run
manage.py migrate
manage.py createsuperuser
then start volutility
/admin/

Also looks like your not pulling the new element from the config file. You will need to add

[auth]
enable = True

to an existing config file.

I will do some more testing over the next ferw days before merging in to master.

Collaboration is my next thing. I want to make it easier for teams to work together but i want to avoid creating a 'crappy' ticketing / tracking system in VolUtiltiy when there are things like FIR designed to do just that.

@kevthehermit
Copy link
Owner

This is now in master and the wiki has been updated to reflect the install steps. Thanks for the suggestion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants