Skip to content

Microsoft NPS Expired Password Change with Mideye

Need to allow users to change expired Active Directory passwords during VPN login? This guide explains how to configure Microsoft Network Policy Server (NPS) alongside Mideye Server 4 to enable password change workflows using the MS-CHAPv2 protocol. Users can reset expired passwords or change passwords marked “must change at next logon” while authenticating through Mideye MFA.

Mideye Server 4 can integrate with Microsoft NPS to support password changes during RADIUS authentication. This requires:

RequirementPurpose
MS-CHAPv2 protocolRequired for password change functionality
NPS role installedValidates credentials against Active Directory
Same LDAP serverNPS and Mideye must use the same AD
Mideye as NPS clientNPS accepts requests from Mideye Server

Requirements:

  • The authentication must use the MS-CHAP v2 protocol.
  • A configured Network Policy Server (NPS) pointing to the Active Directory repository.

Configure address, port and shared secret for the NPS. In order for the password change to work, it is important that:

  • The NPS points to the same LDAP server as configured for the Mideye Server.
  • The IP or hostname of Mideye Server is present among the NPS’s RADIUS clients (in order to be able to accept RADIUS requests).
  • The NPS policies are correctly configured.

Configure Network Policy Server to enable password change.

Mideye Configuration Tool LDAP Server NPS settings for MS-CHAPv2 password change integration

In order to perform a password change, the RADIUS client (or aggregator, e.g. Citrix Netscaler or Cisco ASA) must initiate the authentication using the MS-CHAP v2 protocol. Mideye Server will automatically detect the authentication protocol. When MS-CHAP v2 is used, Mideye Server will use the configured NPS to validate the credentials.

A Mideye Server (4.3.0 or higher) is required. If the NPS server is installed on a separate machine the firewall must allow UDP/1812 (default) two-way traffic between Mideye-server and the NPS. By default, both the Mideye-server and the NPS runs on UDP/1812. Therefore either the NPS or the Mideye-server have to change port if they run on the same server. We recommend that you run the NPS on a different port since the Mideye-server normally serves more than one RADIUS-clients.

From the Server Manager click “Add Role and Features”

Server Manager dashboard showing Add roles and features option in Manage menu

Select “Role-based or feature-based installation”.

Add Roles and Features Wizard installation type selection page

Select destination server for the feature.

Add Roles and Features Wizard server selection page showing available domain servers

Select “Network Policy and Access Services” and add features, and click next then “Install”.

Add Roles and Features Wizard server roles page with Network Policy and Access Services selected

Once the installation is completed, open the Network Policy Server console. First time you need to register the NPS with your domain. Right-click NPS at the top of the tree and choose “Register server in Active Directory”

Network Policy Server console context menu showing Register server in Active Directory option

To change the UDP-port for NPS right-click NPS and choose “Properties”. By default UDP/1812 will be used, but this is recommended to be changed to another UDP-port if NPS is installed on the same machine as your Mideye-server.

Network Policy Server Properties dialog showing authentication and accounting port configuration

If NPS and Mideye-server are installed on the same server, change the port.

Network Policy Server ports configuration dialog with RADIUS authentication port field

The next step is to add your Mideye-server as a RADIUS-client. Expand “Radius Clients and Servers” and right-click “RADIUS Clients” followed by “New”. Give your Mideye-server a friendly name, IP-address and a shared-secret. This shared secret needs to be identical on your Mideye-server.

Network Policy Server new RADIUS client dialog with friendly name, IP address, and shared secret fields

Expand “Policies” and right-click “Network Policies” and click “New”.

Network Policy Server new policy wizard - specify policy name screen

Add a windows-group that contains all users that should be allowed to use the service.

Network Policy Server policy wizard - configure Windows group membership condition

Select “Access granted”.

Network Policy Server policy wizard - access permission page with Access granted selected

Make sure that both MS-CHAP and MS-CHAP-V2 are checked and that both authentication methods allow that users can change their password

Network Policy Server authentication methods showing MS-CHAPv2 with password change enabled

Click “Next”.

Network Policy Server policy wizard constraints page showing idle timeout and session timeout settings

Click “Next”.

Network Policy Server policy wizard RADIUS attributes configuration page

Click “Finish”.

Network Policy Server policy wizard completion summary page

Configure Mideye-server to communicate with NPS

Section titled “Configure Mideye-server to communicate with NPS”

On your Mideye-server open configuration-tool. Select “LDAP Servers” tab and choose to modify your existing LDAP-server used by your remote-solution.

Mideye Configuration Tool LDAP Servers tab with existing LDAP server configuration

Click “NPS” tab and enter the IP-address of your NPS-server. Make sure to change the UDP-port to match the same as on the NPS-server. Enter the same shared-secret as on the NPS- server.

Mideye Configuration Tool NPS tab showing IP address, port, and shared secret configuration

The last step is to enable your Mideye server to allow password-changes. Click the “Active Directory” tab and check “Allow Password Reset” and “Allow Password Expired”.

Mideye Configuration Tool Active Directory tab with Allow Password Reset and Allow Password Expired options checked

Change your remote-solution to use MS-CHAP

Section titled “Change your remote-solution to use MS-CHAP”

For instruction on how to enable this for Cisco Anyconnect and Citrix Netscaler, click the respective link. For other solutions contact your vendor on how to enable MS-CHAP-V2.

Check if anything is written to the Mideye RADIUS logs

Mideye Server\log\radius-messages.log