Add the ability to remove user sign in field #7603

Closed
opened 2025-12-29 20:25:56 +01:00 by adam · 17 comments
Owner

Originally created by @K4pper on GitHub (Feb 6, 2023).

NetBox version

v3.4.4

Feature type

New functionality

Proposed functionality

Netbox has the ability to use multiple SSO providers, but there is no way to completely disable the login form even if there are no local users on the Netbox instance.

Example:
image

This could pose an unnecessary way for attackers to brute force the application by spamming the login field, especially if the Netbox instance is run in the cloud.

Use case

By adding an option to disable the login form and only having the option to login using an SSO provider would decrease the attack surface for a malicious entity.

Database changes

N/A

External dependencies

N/A

Originally created by @K4pper on GitHub (Feb 6, 2023). ### NetBox version v3.4.4 ### Feature type New functionality ### Proposed functionality Netbox has the ability to use multiple SSO providers, but there is no way to completely disable the login form even if there are no local users on the Netbox instance. Example: ![image](https://user-images.githubusercontent.com/76392392/216948555-281c16ed-cabf-4f62-bfa5-d51c330ba064.png) This could pose an unnecessary way for attackers to brute force the application by spamming the login field, especially if the Netbox instance is run in the cloud. ### Use case By adding an option to disable the login form and only having the option to login using an SSO provider would decrease the attack surface for a malicious entity. ### Database changes N/A ### External dependencies N/A
adam added the type: feature label 2025-12-29 20:25:56 +01:00
adam closed this issue 2025-12-29 20:25:57 +01:00
Author
Owner

@proudbro commented on GitHub (Feb 20, 2023):

I propose not to remove the authorization form, just simply hide it and leave available

@proudbro commented on GitHub (Feb 20, 2023): I propose not to remove the authorization form, just simply hide it and leave available
Author
Owner

@jeremystretch commented on GitHub (Feb 20, 2023):

What happens when the login form is disabled and the SSO provider becomes unavailable?

@jeremystretch commented on GitHub (Feb 20, 2023): What happens when the login form is disabled and the SSO provider becomes unavailable?
Author
Owner

@K4pper commented on GitHub (Feb 20, 2023):

What happens when the login form is disabled and the SSO provider becomes unavailable?

Just to clarify i am not proposing to have the login form hidden or removed automatically when SSO is configured.
What i am proposing is a setting, that you would manually enable to hide the login form.

Our instance of Netbox has no local users, so if the SSO provider goes down we wouldn't be able to access Netbox anyway. If the worst case scenario happens we would still be able to connect to the netbox instance and create a temporary local user.

Hope this answers the question (:

@K4pper commented on GitHub (Feb 20, 2023): > What happens when the login form is disabled and the SSO provider becomes unavailable? Just to clarify i am not proposing to have the login form hidden or removed automatically when SSO is configured. What i am proposing is a setting, that you would manually enable to hide the login form. Our instance of Netbox has no local users, so if the SSO provider goes down we wouldn't be able to access Netbox anyway. If the worst case scenario happens we would still be able to connect to the netbox instance and create a temporary local user. Hope this answers the question (:
Author
Owner

@jeremystretch commented on GitHub (Mar 16, 2023):

What i am proposing is a setting, that you would manually enable to hide the login form.

That doesn't address my concern. Should SSO become unavailable, no one will be able to authenticate to NetBox until an administrator logins into the server itself to make the configuration change and restart the service.

IMO "hiding" the local login form behind a dropdown or similar widget would be the preferred approach.

@jeremystretch commented on GitHub (Mar 16, 2023): > What i am proposing is a setting, that you would manually enable to hide the login form. That doesn't address my concern. Should SSO become unavailable, no one will be able to authenticate to NetBox until an administrator logins into the server itself to make the configuration change and restart the service. IMO "hiding" the local login form behind a dropdown or similar widget would be the preferred approach.
Author
Owner

@SystemFiles commented on GitHub (Mar 16, 2023):

Hi @jeremystretch , I understand your concern and I agree that it could lock users out, but I also feel this is a risk that can be evaluated by users themselves. I think the ability to enable/disable the regular login field should be possible. This would be done at users discretion. In my opinion, your concerns can be addressed primarily by using sane defaults.

@SystemFiles commented on GitHub (Mar 16, 2023): Hi @jeremystretch , I understand your concern and I agree that it could lock users out, but I also feel this is a risk that can be evaluated by users themselves. I think the **ability** to enable/disable the regular login field should be possible. This would be done at users discretion. In my opinion, your concerns can be addressed primarily by using sane defaults.
Author
Owner

@Kerwood commented on GitHub (Mar 16, 2023):

I agree.
You should be able to disable the login form. The risk should be evaluated by the user.
We don't have any local users either on our instance and if our identity provider is down, we've got bigger issues than not being able to login to Netbox.
Or you can always just enable the login form again if needed, in the settings.

Also it would stop annoying brute force attacks.

@Kerwood commented on GitHub (Mar 16, 2023): I agree. You should be able to disable the login form. The risk should be evaluated by the user. We don't have any local users either on our instance and if our identity provider is down, we've got bigger issues than not being able to login to Netbox. Or you can always just enable the login form again if needed, in the settings. Also it would stop annoying brute force attacks.
Author
Owner

@jeremystretch commented on GitHub (Mar 16, 2023):

What is your justification for removing the login form entirely as opposed to hiding it?

@jeremystretch commented on GitHub (Mar 16, 2023): What is your justification for removing the login form entirely as opposed to hiding it?
Author
Owner

@Kerwood commented on GitHub (Mar 16, 2023):

Unnecessary and annoying brute force attacks on the login form.

@Kerwood commented on GitHub (Mar 16, 2023): Unnecessary and annoying brute force attacks on the login form.
Author
Owner

@jeremystretch commented on GitHub (Mar 16, 2023):

It being unnecessary for you is not reason enough to preclude making it available for someone else. And there are plenty of other best practices one can follow to mitigate brute force attacks.

@jeremystretch commented on GitHub (Mar 16, 2023): It being unnecessary for you is not reason enough to preclude making it available for someone else. And there are plenty of other best practices one can follow to mitigate brute force attacks.
Author
Owner

@Kerwood commented on GitHub (Mar 16, 2023):

What is your justification for not letting the user make the decision if the login form should be showed or not ?

@Kerwood commented on GitHub (Mar 16, 2023): What is your justification for not letting the user make the decision if the login form should be showed or not ?
Author
Owner

@jeremystretch commented on GitHub (Mar 16, 2023):

As I've said, ensuring that the local login form is always available ensures that a backup authentication path exists in the event the remote authentication provided becomes inaccessible.

@jeremystretch commented on GitHub (Mar 16, 2023): As I've said, ensuring that the local login form is always available ensures that a backup authentication path exists in the event the remote authentication provided becomes inaccessible.
Author
Owner

@Kerwood commented on GitHub (Mar 16, 2023):

As I've said, ensuring that the local login form is always available ensures that a backup authentication path exists in the event the remote authentication provided becomes inaccessible.

I am not sure we are on the same page here...
No one is proposing that the login form should be automatically removed if SSO is enabled. The login form can be available by default, just as it is now. No one will know the difference.
We just want the option to disable it in the settings.

@Kerwood commented on GitHub (Mar 16, 2023): > As I've said, ensuring that the local login form is always available ensures that a backup authentication path exists in the event the remote authentication provided becomes inaccessible. I am not sure we are on the same page here... No one is proposing that the login form should be automatically removed if SSO is enabled. The login form can be available by default, just as it is now. No one will know the difference. We just want the option to disable it in the settings.
Author
Owner

@ssza commented on GitHub (Mar 17, 2023):

In my opinion the local login form should always be available, but in the case of SSO enabled, it should be hidden behind a dropdown menu

@ssza commented on GitHub (Mar 17, 2023): In my opinion the local login form should always be available, but in the case of SSO enabled, it should be hidden behind a dropdown menu
Author
Owner

@K4pper commented on GitHub (Mar 18, 2023):

@jeremystretch

You mention that users wouldn't be able to login to netbox if the current SSO provider is down and the local login form is not available, but as @SystemFiles said why can't the individual administrators make that decision for themselves? Escpecially if the default is to not hide the local login even when SSO is configured.

You mentioned when speaking with @Kerwood that it provides a backup authentication path even when the SSO provider is down, but that is only true if there are any local users on the netbox instance which in our case we do not have.

From what i can see everybody would be happy if there was an option to both hide the local authentication form behind a widget/dropdown but also give the option to hide it completely.

Sorry for sounding like a broken record, but i am trying to understand why this could pose a problem (:

@K4pper commented on GitHub (Mar 18, 2023): @jeremystretch You mention that users wouldn't be able to login to netbox if the current SSO provider is down and the local login form is not available, but as @SystemFiles said why can't the individual administrators make that decision for themselves? Escpecially if the default is to not hide the local login even when SSO is configured. You mentioned when speaking with @Kerwood that it provides a backup authentication path even when the SSO provider is down, but that is only true if there are any local users on the netbox instance which in our case we do not have. From what i can see everybody would be happy if there was an option to both hide the local authentication form behind a widget/dropdown but also give the option to hide it completely. Sorry for sounding like a broken record, but i am trying to understand why this could pose a problem (:
Author
Owner

@Andrei-Predoiu commented on GitHub (Mar 23, 2023):

I propose not to remove the authorization form, just simply hide it and leave available

For me, the whole idea is to be able to disable the more vulnerable standard login.

@Andrei-Predoiu commented on GitHub (Mar 23, 2023): > I propose not to remove the authorization form, just simply hide it and leave available For me, the whole idea is to be able to disable the more vulnerable standard login.
Author
Owner

@SystemFiles commented on GitHub (Mar 24, 2023):

For me, the whole idea is to be able to disable the more vulnerable standard login.

This! In many organizations it is standard security best practices to disable insecure login forms. Like others have stated as well, if an identity provider were to go down (let's say you're using Azure AD), you have much bigger problems than Netbox.

I think there may have been a miscommunication as to what is being requested. We simply want to have the option to disable the simple login form provided by the application.

If the only justification for keeping this login enabled always is to essentially have a breakglass account available, it sort of defeats the purpose of using a more secure login method since the less secure method will always be targeted first.

The default would obviously be to have the basic login form enabled, but by giving users the ability to disable it themselves, it allows them the flexibility to manage their own instance of Netbox the way that they see fit. In some organizations, this is preventing the use of the tool at all since it does not meet security requirements.

@SystemFiles commented on GitHub (Mar 24, 2023): > For me, the whole idea is to be able to disable the more vulnerable standard login. This! In many organizations it is standard security best practices to disable insecure login forms. Like others have stated as well, if an identity provider were to go down (let's say you're using Azure AD), you have much bigger problems than Netbox. I think there may have been a miscommunication as to what is being requested. We simply want to have the option to disable the simple login form provided by the application. If the only justification for keeping this login enabled always is to essentially have a breakglass account available, it sort of defeats the purpose of using a more secure login method since the less secure method will always be targeted first. The default would obviously be to have the basic login form enabled, but by giving users the ability to disable it themselves, it allows them the flexibility to manage their own instance of Netbox the way that they see fit. In some organizations, this is preventing the use of the tool at all since it does not meet security requirements.
Author
Owner

@jeremystretch commented on GitHub (Apr 10, 2023):

Thanks to everyone who has shared their thoughts on this proposal. After discussing with the other maintainers, we've decided that introducing an option to "collapse" the local login form makes sense, but we won't support disabling the view entirely, for the reasons I've cited above.

Anyone who wishes to disable local authentication can already accomplish this by disabling or removing all locally-defined accounts. And if that, for some reason, is still not sufficient, NetBox is open source: Each administrator always has the option of modifying their HTTP server configuration and/or local code base to modify whatever functionality they desire, and in doing so accept full responsibility for any consequent risk and maintenance burden.

If someone would like to submit a separate FR proposing a mechanism to hide the local login form behind an expandable UI component (complete with a specific proposed implementation), please do so.

@jeremystretch commented on GitHub (Apr 10, 2023): Thanks to everyone who has shared their thoughts on this proposal. After discussing with the other maintainers, we've decided that introducing an option to "collapse" the local login form makes sense, but we won't support disabling the view entirely, for the reasons I've cited above. Anyone who wishes to disable local authentication can already accomplish this by disabling or removing all locally-defined accounts. And if that, for some reason, is still not sufficient, NetBox is open source: Each administrator always has the option of modifying their HTTP server configuration and/or local code base to modify whatever functionality they desire, and in doing so accept full responsibility for any consequent risk and maintenance burden. If someone would like to submit a separate FR proposing a mechanism to hide the local login form behind an expandable UI component (complete with a specific proposed implementation), please do so.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#7603