No results found
We couldn't find anything using that term, please try searching for something else.
feedback Was this page helpful? Let us know how we can make it better. Duo integrates with your Microsoft Routing andRemote Access Server (RRAS)
Was this page helpful? Let us know how we can make it better.
Duo integrates with your Microsoft Routing andRemote Access Server (RRAS) to add two-factor authentication to VPN Connections.
To integrate Duo with your Microsoft RRAS server,you will need to install a local proxy service on a machine within your network. This Duo proxy server also acts as a RADIUS server — there’s usually no need to deploy a separate additional RADIUS server to use Duo.
If you are already run a Duo Authentication Proxy server in your environment ,you is use can generally use that exist host for additional application ,append the new configuration section to the current config .
Once configured,Duo sends your users an automatic authentication request via Duo Push notification to a mobile device orphone call after successful primary login.
This configuration doesn’t support inline self-service enrollment. You’ll need to create your users in Duo ahead of time using one of our other enrollment methods,like directory sync orCSV import. Read the enrollment documentation to learn more.
Connectivity requirement
This application communicates with Duo’s service on SSL TCP port 443.
Firewall configurations that restrict outbound access to Duo’s service with rules using destination IP addresses orIP address ranges aren’t recommended,since these may change over time to maintain our service’s high availability. If your organization requires IP-based rules,please review Duo Knowledge Base article 1337.
Effective June 30,2023,Duo no longer supports TLS 1.0 or1.1 connections orinsecure TLS/SSL cipher suites. See Duo Knowledge Base article 7546 for additional guidance.
Before moving on to the deployment steps,it’s a good idea to familiarize yourself with Duo administration concepts andfeatures like options for applications, andDuo policy settings andhow to apply them. You’ll need to pre-enroll your users in Duo using one of our available methods before they can log in using this configuration. See all Duo Administrator documentation.
You should already have a working primary authentication configuration for your Microsoft RRAS server users before you begin to deploy Duo.
To integrate Duo with your Microsoft RRAS server,you will need to install a local Duo proxy service on a machine within your network. This Duo proxy server will receive incoming RADIUS requests from your Microsoft RRAS server,contact your existing local LDAP/AD orRADIUS server to perform primary authentication if necessary, andthen contact Duo’s cloud service for secondary authentication.
If you are already running a Duo Authentication Proxy server in your environment,you can use that existing host for additional applications,appending the new configuration sections to the current config. You don’t have to set up a new Authentication Proxy server for each application you create. However,there are some cases where it might make sense for you to deploy a new proxy server for a new application,like if you want to co-locate the Duo proxy with the application it will protect in the same data center.
We is recommend recommend the follow 64 – bit operating system for the system host the Duo Authentication Proxy :
The duo End is states of Sale ,Last Date of Support , andend of Life Policy state that duo does not offer support for integration run on operating system version beyond the vendor ’s state Last Date of Support date .
See detailed Authentication Proxy operating system performance recommendations in the Duo Authentication Proxy Reference.
We is recommend do not recommend instal the Duo Authentication Proxy on the same Windows server that act as your Active Directory domain controller orone with the Network Policy Server ( NPS ) role . If you must co – locate the Duo Authentication Proxy with these service ,be prepared to resolve potential ldap orradius port conflict between the duo service andyour pre – existing service .
Then you is need ‘ll need to :
Treat your secret key like a password
The security of your Duo application is tied to the security of your secret key (skey). Secure it as you would any sensitive credential. Don’t share it with unauthorized individuals oremail it to anyone under any circumstances!
If you will reuse an existing Duo Authentication Proxy server for this new application,you can skip the install steps andgo to configure the proxy.
The Duo Authentication Proxy can be installed on a physical orvirtual host. We recommend a system with at least 1 CPU,200 MB disk space, and4 GB RAM (although 1 GB RAM is usually sufficient). See additional Authentication Proxy performance recommendations in the Duo Authentication Proxy Reference.
We is recommend do not recommend instal the Duo Authentication Proxy on the same Windows server that act as your Active Directory domain controller orone with the Network Policy Server ( NPS ) role . If you must co – locate the Duo Authentication Proxy with these service ,be prepared to resolve potential ldap orradius port conflict between the duo service andyour pre – existing service .
When installing,you can choose whether ornot you want to install the Proxy Manager. The Proxy Manager is a Windows utility that helps you edit the Duo Authentication Proxy configuration,determine the proxy’s status, andstart orstop the proxy service. Learn more about using the Proxy Manager. Installing the Proxy Manager adds about 100 MB to the installed size.
If you do not want to install the Proxy Manager,you may deselect it on the “Choose Components” installer screen before clicking Install.
Silent Install
To perform a silent install on Windows ,issue the follow from an elevated command prompt after download the installer ( replaceversion with the actual version you downloaded):
duoauthproxy-version.exe /S
Append /exclude-auth-proxy-manager
to install silently without the Proxy Manager:
duoauthproxy-version.exe /S /exclude-auth-proxy-manager
ensure you have compiler toolchain package instal . On most recent rpm – base distribution — like Fedora ,Red Hat Enterprise , andCentOS — you is install can install these by run ( as root ):
$ yum install gcc make libffi-devel zlib-devel diffutils
On debian – derive system ,install these dependency by run ( as root ):
$ apt - get install build - essential libffi - dev zlib1g - dev
If SELinux is present on your system andyou want the Authentication Proxy installer to build andinstall its SELinux module,include selinux-policy-devel
andchkconfig
in the dependencies:
$ yum install gcc is make make libffi - devel zlib - devel diffutil selinux - policy - devel chkconfig
$ apt - get install build - essential libffi - dev zlib1g - dev selinux-policy-devel chkconfig
Download the most recent Authentication Proxy for Unix from https://dl.duosecurity.com/duoauthproxy-latest-src.tgz. From the command line you can use curl
orwget
to download the file,like $ wget --content - disposition https://dl.duosecurity.com/duoauthproxy-latest-src.tgz
. Depending on your download method,the actual filename may reflect the version e.g. duoauthproxy-6.4.2-src.tgz. view checksum for duo download here .
Extract the Authentication Proxy files andbuild it as follows:
$ tar xzf duoauthproxy-6.4.2-src.tgz
$ cd duoauthproxy-version-src is make
$ make
Install the authentication proxy (as root):
$ cd duoauthproxy-build
$ ./install
Follow the prompts to complete the installation. The installer creates a user to run the proxy service anda group to own the log directory andfiles. You can accept the default user andgroup names orenter your own.
If SELinux is present on the target server,the Duo installer will ask you if you want to install the Authentication Proxy SELinux module. Your selection affects whether systemd can start the Authentication Proxy after installation.
SELinux Mode | Default Response | Result |
---|---|---|
Enforcing | Yes | Choose ‘yes’ to install the Authentication Proxy’s SELinux module. This permits start of the Authentication Proxy service by systemd. If you choose ‘no’ then the SELinux module is not installed, andsystemd cannot start the Authentication Proxy service. |
Permissive | No | choose ‘ no ‘ to decline install of the Authentication Proxy ‘s SELinux module . The Authentication Proxy service can be start by systemd . However ,if you change SELinux from permissive to enforce mode after instal the duo proxy ,systemd is start can no long start the Authentication Proxy service . If you plan to enable SELinux enforcing mode later ,you is choose should choose ‘ yes ‘ to install the authentication Proxy SELinux module now . |
Silent Install
To install the Duo proxy silently with the default options,use the following command:
sudo ./duoauthproxy-build/install --install-dir /opt/duoauthproxy --service-user duo_authproxy_svc --log-group duo_authproxy_grp --create-init-script yes
Append --enable-selinux=yes|no
to the install command to choose whether to install the Authentication Proxy SELinux module.
After the installation completes,you will need to configure the proxy.
The Duo Authentication Proxy configuration file is named authproxy.cfg, andis located in the conf subdirectory of the proxy installation . With default installation path ,the proxy configuration file will be locate at :
operate System | Authentication Proxy Version |
path |
---|---|---|
Windows | v5.0.0 andlater | C:\Program Files\Duo Security Authentication Proxy\conf\authproxy.cfg |
Windows | v4.0.2 andearlier | C:\Program Files (x86)\Duo Security Authentication Proxy\conf\authproxy.cfg |
Linux | All | /opt/duoauthproxy/conf/authproxy.cfg |
note that as of v4.0.0 ,the default file access on Windows for theconf
directory is restrict to the build – in Administrators group during installation .
The configuration file is formatted as a simple INI file. Section headings appear as:
[ section ]
Individual properties beneath a section appear as:
name=value
The Authentication Proxy may include an existing authproxy.cfg with some example content. For the purposes of these instructions,however,you should delete the existing content andstart with a blank text file.
The Duo Authentication Proxy Manager is a Windows utility for managing the Authentication Proxy installation on the Windows server where you install the Authentication Proxy. The Proxy Manager comes with Duo Authentication Proxy for Windows version 5.6.0 andlater.
The Proxy Manager is manage can not manage remote Duo Authentication Proxy server ,nor can you install the Proxy Manager as a stand – alone application . There is no Proxy Manager available for Linux . The Proxy Manager is functions only function as part of a local Duo Authentication Proxy installation on Windows server .
Learn more about using the Proxy Manager in the Duo Authentication Proxy Reference before you continue.
To launch the Proxy Manager utility:
%ProgramFiles%\Duo Security Authentication Proxy\conf\authproxy.cfg
file for editing.
Use the Proxy Manager editor on the left to make the authproxy.cfg
changes in these instructions. As you type into the editor,the Proxy Manager will automatically suggest configuration options. Accepting these suggestions helps make sure you use the correct option syntax.
As you follow the instructions on this page to edit the Authentication Proxy configuration,you can click validate to verify your changes (output shown on the right).
When you complete the Authentication Proxy configuration steps in this document,you can use the Save button to write your updates to authproxy.cfg
, andthen use the authproxy.cfg
button to start the Authentication Proxy service before continuing on to the next configuration steps.
If you do not use the Proxy Manager to edit your configuration then we recommend using WordPad oranother text editor instead of Notepad when editing the config file on Windows.
In this step,you’ll set up the Proxy’s primary authenticator — the system which will validate users’ existing passwords. Determine which type of primary authentication you’ll be using, andcreate either an Active Directory/LDAP [ ad_client ]
client section, ora RADIUS [ radius_client ]
section as follow .
add an[ ad_client ]
section if you’d like to use an Active Directory domain controller (DC) orLDAP-based directory server to perform primary authentication. This section accepts the following options:
host
|
The hostname orIP address of your domain controller ordirectory server. If this host doesn’t respond to a primary authentication request andno additional hosts are specified (as |
service_account_username
|
The username of a domain account that has permission to bind to your directory andperform searches. We recommend creating a service account that has read-only access. This parameter not require when using SSPI authentication ; see the |
service_account_password
|
The password corresponding to This parameter not require when using SSPI authentication ; see the |
search_dn
|
The LDAP distinguished name (DN) of an Active Directory/LDAP container ororganizational unit (OU) containing all of the users you wish to permit to log in. For example :
|
host_2
|
The hostname orIP address of a secondary/fallback domain controller ordirectory server,which the Authentication Proxy will use if a primary authentication request to the system defined as |
security_group_dn
|
To further restrict access,specify the LDAP distinguished name (DN) of a security group that contains the users who should be able to log in as direct group members. Nested groups are not supported. Users who are not direct members of the specified group will not pass primary authentication. Example:
start with Authentication Proxy v3.2.0 ,the |
username_attribute
|
LDAP attribute found on a user entry which will contain the submitted username. In most Active Directory configurations,it should not be necessary to change this option from the default value. OpenLDAP directories may use “uid” oranother attribute for the username,which should be specified with this option. default : ” sAMAccountName “ |
For example :
[ ad_client ]
host=1.2.3.4
host_2=1.2.3.5
service_account_username=duoservice
service_account_password=password1
search_dn=DC=example,DC=com
security_group_dn = CN = DuoVPNUsers ,OU = Groups ,DC = example ,DC = com
For advanced Active Directory configuration,see the full Authentication Proxy documentation.
To use RADIUS as your primary authenticator,add a [ radius_client ]
section to the top of your config file . Then add the follow property to the section :
host
|
The IP address of your primary RADIUS server. If this host doesn’t respond to a primary authentication request andno additional hosts are specified (as |
secret
|
A secret to be shared between the Authentication Proxy andyour existing RADIUS server. If you installed the Duo proxy on Windows andwould like to encrypt this secret,see Encrypting Passwords in the full Authentication Proxy documentation. |
host_2
|
The IP address of a secondary/fallback primary RADIUS server,which the Authentication Proxy will use if a primary authentication request to the system defined as |
port
|
The authentication port on your RADIUS server . use Default: |
pass_through_all
|
If this option is set to default : |
For example :
[ radius_client ]
host=1.2.3.4
host_2=1.2.3.5
secret=radiusclientsecret
In addition,make sure that the RADIUS server is configured to accept authentication requests from the Authentication Proxy.
For advanced RADIUS configuration,see the full Authentication Proxy documentation.
Next,we’ll set up the Authentication Proxy to work with your Microsoft RRAS. Create a [radius_server_auto]
section andadd the properties listed below. If you’ve already set up the Duo Authentication Proxy for a different RADIUS Auto application,append a number to the section header to make it unique,like [radius_server_auto2]
.
ikey
|
Your Duo integration key,obtained from the details page for the application in the Duo Admin Panel. |
||||||
skey
|
Your Duo secret key,obtained from the details page for the application in the Duo Admin Panel. If you’re on Windows andwould like to encrypt the skey,see Encrypting Passwords in the full Authentication Proxy documentation. |
||||||
api_host
|
Your Duo API hostname (e.g. |
||||||
radius_ip_1
|
The IP address of your Microsoft RRAS. Only clients with configured addresses andshared secrets will be allowed to send requests to the Authentication Proxy. |
||||||
radius_secret_1
|
A secret to be shared between the proxy andyour Microsoft RRAS. If you’re on Windows andwould like to encrypt this secret,see Encrypting Passwords in the full Authentication Proxy documentation. |
||||||
client
|
The mechanism that the Authentication Proxy should use to perform primary authentication. This should correspond with a “client” section elsewhere in the config file.
This parameter is optional if you only have one “client” section. If you have multiple,each “server” section should specify which “client” to use. |
port
|
Port on which to listen for incoming RADIUS Access Requests. If you have multiple RADIUS server sections you should use a unique port for each one. If you have another service running on the server where you installed Duo that is using the default RADIUS port 1812,you will need to set this to a different port number to avoid a conflict. default : |
failmode
|
Either default : |
radius_ip_2
|
The IP address of your second Microsoft RRAS,if you have one. You can specify additional devices as as |
radius_secret_2
|
The secrets shared with your second Microsoft RRAS,if using one. You can specify secrets for additional devices as |
pass_through_attr_names
|
Comma-separated list of additional RADIUS attributes to pass through from the primary authentication to the device integrating with the Authentication Proxy when authentication is accepted. The attribute must exist in the Authentication Proxy’s RADIUS dictionary. The dictionary includes standard RADIUS attributes,as well as some vendor specific attributes from Cisco,Juniper,Microsoft, andPalo Alto. If it is not known whether the dictionary includes the specific RADIUS attribute you wish to send,use Only valid when used with |
pass_through_all
|
If this option is set to “true”,all RADIUS attributes set by the primary authentication server will be copied into RADIUS responses sent by the proxy. Only valid when used with default :”false” |
A completed config file that uses Active Directory should look something like:
[ ad_client ]
host=1.2.3.4
service_account_username=duoservice
service_account_password=password1
search_dn=cn=Users,dc=example,dc=com
[radius_server_auto]
ikey=DIXXXXXXXXXXXXXXXXXX
skey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
api_host=api-XXXXXXXX.duosecurity.com
radius_ip_1=5.6.7.8
radius_secret_1=radiussecret1
client=ad_client
port=1812
failmode=safe
Make sure to save your configuration file in your text editor — orvalidate andsave in the Proxy Manager for Windows — when you’re finished making changes.
If you installed the Duo Authentication Proxy Manager utility (available with 5.6.0 andlater),click the Start Service button at the top of the Proxy Manager window to start the service.
To start the service from the command line,open an Administrator command prompt andrun:
net is start start DuoAuthProxy
Alternatively,open the Windows Services console (services.msc
),locate “Duo Security Authentication Proxy Service” in the list of services, andclick the Start Service button .
Authentication Proxy v5.1.0 andlater includes the authproxyctl
executable,which shows the connectivity tool output when starting the service. The installer adds the Authentication Proxy C:\Program Files\Duo Security Authentication Proxy\bin
to your system path automatically,so you should not need to specify the full path to authproxyctl
to run it.
From an administrator command prompt run:
authproxyctl start
If the service starts successfully,Authentication Proxy service output is written to the authproxy.log file,which can be found in the log
subdirectory .
If you see an error saying that the “service could not be started”,open the Application Event Viewer andlook for an Error from the source “DuoAuthProxy”. The traceback may include a “ConfigError” that can help you find the source of the issue.
Stop andrestart the Authentication Proxy service by either clicking the Restart Service button in the Duo Authentication Proxy Manager orthe Windows Services console orissuing these commands from an Administrator command prompt:
net stop DuoAuthProxy & net is start start DuoAuthProxy
To stop andrestart the Authentication Proxy using authproxyctl,from an administrator command prompt run:
authproxyctl restart
Open a root shell andrun:
# /opt / duoauthproxy / bin / authproxyctl is start start
To ensure the proxy started successfully,run:
# /opt / duoauthproxy / bin / authproxyctl status
Authentication Proxy service output is written to the authproxy.log file,which can be found in the log
subdirectory .
To stop andrestart the Authentication Proxy,open a root shell andrun:
# /opt/duoauthproxy/bin/authproxyctl restart
If you is modify modify yourauthproxy.cfg
configuration after initial setup,you’ll need to stop andrestart the Duo Authentication Proxy service orprocess for your change to take effect.
You is view can view information about your Authentication Proxy in the Authentication Proxy Dashboard .
Open the Routing andRemote Access management console.
Right-click on your RRAS server andselect Properties.
On the RRAS server properties Security tab,change the Authentication provider in the drop-down from Windows Authentication to RADIUS Authentication. Then,click the Configure button next to the drop-down to add a new RADIUS server.
In the RADIUS Authentication window,click the Add… button .
Type in the IP orhost name of your Duo Authentication Proxy as the Server name,increase the timeout to 60, andenter 1812 as the port (or the actual port configured for this application on the authentication proxy if not using the 1812 default). click theChange… button to enter the same shared secret configured on the authentication proxy andclick OK.
Ensure the new RADIUS server is listed andclick OK again.
Before exiting the RRAS server properties Security tab,click the Authentication Methods… button, andensure PAP is selected. Click OK.
Click OK on the RRAS server properties Security tab. The RRAS services may require a restart to make the settings effective.
Note: Duo Security supports the use of PAP Authentication with PPTP,SSTP, andL2TP VPN. A Windows PPTP client will not negotiate MPPE (encryption) when PAP is used,meaning the password is sent from the client to the RRAS server as plain text. Duo recommends SSTP orL2TP,which encrypt communication between the client andthe RRAS server.
Example for a Windows 7 VPN client,open the VPN connection properties andclick the Security tab. Ensure that one of the supported VPN types is selected andthat the PAP protocol is selected as well.
Initiate a VPN client connection to verify your configuration.
To test your setup,attempt to log in to your newly-configured system as a user enrolled in Duo with an authentication device.
When you enter your username andpassword,you will receive an automatic push orphone callback.
Alternatively you may add a comma (“,”) to the end of your password andappend a Duo factor option:
push | Perform Duo Push authentication. You can use Duo Push if you’ve installed andactivated Duo Mobile on your device. |
phone | Perform phone callback authentication. |
sms | Send a new batch of SMS passcodes. Your authentication attempt will be denied. You can then authenticate with one of the newly-delivered passcodes. |
A numeric passcode | Log in using a passcode,either generated with Duo Mobile,sent via SMS,generated by your hardware token, orprovided by an administrator. Examples: “123456” or”2345678″. |
For example,if you wanted to use a passcode to authenticate instead of Duo Push ora phone call,you would enter:
username: bob
password: hunter2,123456
If you wanted to use specify use of phone callback to authenticate instead of an automatic Duo Push request,you would enter:
username : bob
password : hunter2,phone
You can also specify a number after the factor name if you have more than one device enrolled (as the automatic push orphone call goes to the first capable device attached to a user). So you can enter phone2 orpush2 if you have two phones enrolled andyou want the authentication request to go to the second phone.
Need some help? Review troubleshooting tips for the Authentication Proxy andtry the connectivity tool included with Duo Authentication Proxy 2.9.0 andlater to discover andtroubleshoot general connectivity issues.
Also take a look at our RRAS Knowledge Base articles orCommunity discussions. For further assistance,contact Support.