-
-
Notifications
You must be signed in to change notification settings - Fork 252
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
Support Basic auth on authentication? #159
Comments
Hi @shinebayar-g, good point. It's somehow supported already: if you have a basic auth on reverse proxy enabled, the user credentials will be used in Script server logging. |
Ah, you mean that if someone can access script server's endpoint directly (without going through nginx right?) they could attack script-server? Example scenarios are:
1st case is secure already, on 2nd scenario your attack vector is there right? In such case, script-server should be only accessible from nginx reverse proxy. Did i get it? |
I see at least 3 requirements for security here:
I'm not that good at security, so it could be some more. But I believe these 3 are definitely required, before smth like |
Yes yes, good point. Including nginx reverse proxy's IP in |
Imagine somebody is sending their HTTP request, with fraud basic auth headers already present there, if reverse-proxy doesn't override/clean them and they are delivered to Script server untouched, then they will be still trusted. |
Is there any configs to make sure that happen? ex: on like nginx? I'm dummy. |
Ok, probably it's my bad and misunderstanding: in case of such auth client will send an Authorization header to reverse proxy anyway. And then reverse proxy will validate the header. Thus, if Script server can be accessed only by reverse proxy, we can be sure, that the Authorization header is always valid (if basic auth is enabled on the proxy). |
I'd really like this since I never used LDAP and I have no idea of how to start using it. I'd just like a simple basic http auth for my users. And it would be even nicer if there was a variable inside the container with the logged in user. I have scripts that need to be supplied a username/password to work and i'd love to have them just be the login the user just made. |
Hi, @Nottt unfortunately at the moment it's not supported (it's planned for the future, but I have much more feature requests, than I can handle) However, there is a possibility to make this work with reverse proxy: So, in this case, reverse proxy will perform basic authentication of the user and send the username to Script server.
|
An alternative could be a wiki in how to create this LDAP thing, because probably many people have no idea on how to configure one, especially using the docker... |
Hi @Nottt, I think that running a LDAP server just for script server is a huge overhead. The idea is to use LDAP auth, only when you already have LDAP authentication in your company and then you just integrate script server into existing infrastructure. |
Oh, I do plan to put the docker behind a nginx-proxy docker. I want my script server to be multi-user, and with each user only having access to their own scripts, how would one achieve that with a nginx reverse proxy? Is that possible currently? |
Done. Now you can specify
It would be nice to have apache htpasswd utility installed |
I decided to change "type" name to "htpasswd" instead. Basic auth is a known term in HTTP authorization process. And what I implemented, has nothing to do with it If somebody already started using it, I'm sorry So, the proper config looks like this now:
(I edit my previous comment to avoid problems, if people would read that comment instead of the last one) |
Is this change live already? I restated my docker container that should auto update itself and is still working with old configuration. Not sure it's something on my end |
Hi @Nottt, yes. It was pushed at the time when I was writing the comment |
Strange, it's not picking up the update, while I got the history update without doing anything. But no problem, thanks. Did you get a chance to take a look why script server doesn't work on IOS? |
Hi Nottt, is there a ticket for it?
And do you mean iOS or MacOS?
Nottt <[email protected]> schrieb am So., 22. März 2020, 12:37:
… Strange, it's not picking up the update, while I got the history update
without doing anything. But no problem, thanks.
Did you get a chance to take a look why script server doesn't work on IOS?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#159 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJXPJJ4TZ4AM2O54ZOGI6DRIXZ7BANCNFSM4GQC3O3A>
.
|
Hi, bugy, thanks a lot for your product. There's a question about ldap auth, is ip address of AD server and username pattern really enough to get credentials from AD? Several servers on my network use special account to connect and authorize to AD, and only after they can use ldap auth. I tried use script server with ldap as manual says, but it doesn't work, I suppose due to server doesn't auth to AD. |
Hi @loganati, so far server and username was enough for everyone. What kind of error do you see? |
Most popular web servers like nginx, apache supports basic auth mechanism. I think you know what I mean already.
I understand that currently script-server already supports LDAP, Google Oauth. But what If user doesn't use them? Basic auth would be most suited and simple use case here. Of course, script-server shouldn't be used without any authentication. I don't know much about basic auth's security details, but I heard if it's used with SSL it's mature enough. Projects like Grafana has great integration with basic auth. If Grafana's web interface is already protected with basic auth, grafana users don't have to enter username, password again if it's already same as basic auth's credentials and they logged in immediately. Script-server has admin, group etc already, so it would be great use case here.
basic auth supports different username and password.
The text was updated successfully, but these errors were encountered: