[GH-ISSUE #4207] Windows Agent Pre-Login #8257

Open
opened 2026-08-05 01:17:06 -04:00 by saavagebueno · 7 comments
Owner

Originally created by @1nerdyguy on GitHub (Jul 23, 2025).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/4207

One of the largest things we'd like to use Netbird for is a true zero-trust deployment, allowing Netbird to be the primary method of network access. To do this, we would need Netbird to allow some form of connection prior to the user logging into Windows and getting access to the gui. Setupkeys can do this, but then the user never is prompted to migrate to their own, identity based login with their own ACLs, meaning we're now trusting the device regardless of the user logging into it.

I'd love to see some method of having a 'baseline' device-based connectivity profile that allows for minimal connectivity (maybe to AD or other LDAP service, etc), then once the user logs in prompts them to login to netbird with their own username/password. I'd really love for it to be able to use an existing token from the Windows login, but that's a whole thing.

I'd also be open with a pre-login GUI that allowed a user to auth to Netbird as themselves, THEN login to Windows, still on the main login screen.

Originally created by @1nerdyguy on GitHub (Jul 23, 2025). Original GitHub issue: https://github.com/netbirdio/netbird/issues/4207 One of the largest things we'd like to use Netbird for is a true zero-trust deployment, allowing Netbird to be the primary method of network access. To do this, we would need Netbird to allow some form of connection *prior* to the user logging into Windows and getting access to the gui. Setupkeys can do this, but then the user never is prompted to migrate to their own, identity based login with their own ACLs, meaning we're now trusting the device regardless of the user logging into it. I'd love to see some method of having a 'baseline' device-based connectivity profile that allows for minimal connectivity (maybe to AD or other LDAP service, etc), then once the user logs in prompts them to login to netbird with their own username/password. I'd really love for it to be able to use an existing token from the Windows login, but that's a whole thing. I'd also be open with a pre-login GUI that allowed a user to auth to Netbird as themselves, THEN login to Windows, still on the main login screen.
saavagebueno added the feature-request label 2026-08-05 01:17:06 -04:00
Author
Owner

@nazarewk commented on GitHub (Jul 23, 2025):

I think https://github.com/netbirdio/netbird/issues/446 combined with https://github.com/netbirdio/netbird/issues/3273 will allow you to:

  1. set up permanently connected non-default system-wide profile with a Setup Key
  2. log in the user with more privileged set of credentials on his own profile

I am 90% sure this exact topic was discussed previously, but I can't locate the mention right now.

<!-- gh-comment-id:3109296585 --> @nazarewk commented on GitHub (Jul 23, 2025): I think https://github.com/netbirdio/netbird/issues/446 combined with https://github.com/netbirdio/netbird/issues/3273 will allow you to: 1. set up permanently connected non-default system-wide profile with a Setup Key 2. log in the user with more privileged set of credentials on his own profile I am 90% sure this exact topic was discussed previously, but I can't locate the mention right now.
Author
Owner

@1nerdyguy commented on GitHub (Jul 23, 2025):

I think #446 combined with #3273 will allow you to:

  1. set up permanently connected non-default system-wide profile with a Setup Key
  2. log in the user with more privileged set of credentials on his own profile

I am 90% sure this exact topic was discussed previously, but I can't locate the mention right now.

That sounds great. I see #3273 isn't fully passing builds/out yet, so expect once that's good I should be set?

<!-- gh-comment-id:3109332066 --> @1nerdyguy commented on GitHub (Jul 23, 2025): > I think [#446](https://github.com/netbirdio/netbird/issues/446) combined with [#3273](https://github.com/netbirdio/netbird/issues/3273) will allow you to: > > 1. set up permanently connected non-default system-wide profile with a Setup Key > 2. log in the user with more privileged set of credentials on his own profile > > I am 90% sure this exact topic was discussed previously, but I can't locate the mention right now. That sounds great. I see #3273 isn't fully passing builds/out yet, so expect once that's good I should be set?
Author
Owner

@1nerdyguy commented on GitHub (Jul 29, 2025):

with the launch of profile switching, this is now possible exactly as described. Some quirks, such as no way to easily indicate to users to login, but that can be coded around.

<!-- gh-comment-id:3133819929 --> @1nerdyguy commented on GitHub (Jul 29, 2025): with the launch of profile switching, this is now possible exactly as described. Some quirks, such as no way to easily indicate to users to login, but that can be coded around.
Author
Owner

@wlytwmssjo-li commented on GitHub (Aug 6, 2025):

LDAP Result Code 201 "Filter Compile Error": ldap: finished compiling filter with extra at end: uanting.li))

我得LDAP对接一直提示这个错误,我无法解决,你们是怎么解决的?

<!-- gh-comment-id:3161924526 --> @wlytwmssjo-li commented on GitHub (Aug 6, 2025): LDAP Result Code 201 "Filter Compile Error": ldap: finished compiling filter with extra at end: uanting.li)) 我得LDAP对接一直提示这个错误,我无法解决,你们是怎么解决的?
Author
Owner

@nazarewk commented on GitHub (Aug 7, 2025):

Some quirks, such as no way to easily indicate to users to login, but that can be coded around.

yeah, I think with just the profile switching available you'd need to script the machine to:

  1. create the minimal profile during setup (could be default, but explicit profile name might be clearer)
  2. switch to the minimal profile during boot
  3. make a popup informing user that:
    • he's logged in with unprivileged credentials (detected by well-known minimal profile name)
    • to switch to other profile for proper access
    • could be replaced by scripting automated switch to the user's profile after login if it suits you? Downside is that remote access will be lost until the user logs in with his own account
<!-- gh-comment-id:3163448697 --> @nazarewk commented on GitHub (Aug 7, 2025): > Some quirks, such as no way to easily indicate to users to login, but that can be coded around. yeah, I think with just the profile switching available you'd need to script the machine to: 1. create the `minimal` profile during setup (could be `default`, but explicit profile name might be clearer) 2. switch to the `minimal` profile during boot 3. make a popup informing user that: - he's logged in with unprivileged credentials (detected by well-known `minimal` profile name) - to switch to other profile for proper access - could be replaced by scripting automated switch to the user's profile after login if it suits you? Downside is that remote access will be lost until the user logs in with his own account
Author
Owner

@jeffclay commented on GitHub (Jan 30, 2026):

@1nerdyguy were you able to find a way to achieve this?

I don't think profile switching is the appropriate method here as you then give the user the ability to disconnect entirely and also nothing to handle switching back to minimal profile when the user logs out.

I've been thinking about an approach where I use a manually managed wireguard deployment in Opnsense or something to manage the system level connection then the user can sign in to netbird to achieve desired access. It'd be nice to have a netbird only solution but I don't think that's going to be possible without the ability to run multiple clients simultaneously. I have only recently started researching netbird, so I could be wrong here.

<!-- gh-comment-id:3825599817 --> @jeffclay commented on GitHub (Jan 30, 2026): @1nerdyguy were you able to find a way to achieve this? I don't think profile switching is the appropriate method here as you then give the user the ability to disconnect entirely and also nothing to handle switching back to minimal profile when the user logs out. I've been thinking about an approach where I use a manually managed wireguard deployment in Opnsense or something to manage the system level connection then the user can sign in to netbird to achieve desired access. It'd be nice to have a netbird only solution but I don't think that's going to be possible without the ability to run multiple clients simultaneously. I have only recently started researching netbird, so I could be wrong here.
Author
Owner

@BiasF commented on GitHub (Feb 16, 2026):

I would be also very interested in PreLogon Option.
Currently we use PaloAlto GlobalProtect with PreLogon Tunneling, but we are looking for a European alternative.

<!-- gh-comment-id:3910356989 --> @BiasF commented on GitHub (Feb 16, 2026): I would be also very interested in PreLogon Option. Currently we use PaloAlto GlobalProtect with PreLogon Tunneling, but we are looking for a European alternative.
Sign in to join this conversation.
No Label feature-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#8257