Duo Authentication Proxy Overview

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
- [Cody] Hi, I'm Cody from Duo Security, now part of Cisco. In this video, we are going to show you how to install and configure your Duo Authentication Proxy for a variety of usage scenarios on Windows. The Duo Authentication Proxy is an on-premises software service that receives authentication requests from your local devices and applications and performs primary authentication against your existing LDAP directory or RADIUS authentication server, and then contacts Duo to perform secondary authentication. Once the user approves the two-factor request, the proxy returns access approval to the requesting device or application. In addition to providing two-factor authentication, the Duo Authentication Proxy is a required component for importing Active Directory or OpenLDAP users into Duo via Directory Sync, Active Directory authentication for Duo Single Sign-On, and can also act as an HTTP proxy itself for other systems that need to contact Duo's cloud service. The Duo Authentication Proxy is available on all Duo editions and can be installed and configured on Windows and Linux systems. Before watching the video, please read the documentation at duo.com/docs/authproxy-reference. Let's begin with installation. In this video, we will be installing Duo Authentication Proxy version 5.2.0 on a Windows system. This version of the Authentication Proxy allows for a simpler elevated command prompt when starting the service, and has a different installation path for our configuration file when compared to Authentication Proxy version 4.0.2 and earlier. Be sure to reference the documentation for more information on version differences. The Duo Authentication Proxy on Windows requires Windows Server 2012 or later. Server 2016 or 2019 are recommended. For additional installation details, including installing the Authentication Proxy on Linux operating systems, see the documentation. The proxy can be installed on a physical or virtual host. We recommend a system with at least 1 CPU, 200 megabytes (MB) of disk space, and 4GB RAM, although 1GB RAM is usually sufficient. On the system you have chosen to host the proxy, navigate to duo.com/docs/authproxy-reference and click the link under Installation to download the latest version of the Duo Authentication Proxy for Windows. Leave this page open as we will be using it later for our configuration. After the installer has finished downloading, launch the installer as a user with administrator rights. Follow the onscreen prompts and install the Proxy. Click 'Finish' when installation is complete. The Authentication Proxy is now ready to be configured. But note that you need to add your authentication and application information to the default configuration file before you can start the Duo Authentication Proxy Service. For future upgrades to the Authentication Proxy, you can refer back to the reference link to download and run the installer for the latest version. Upgrading the proxy retains the conf and log folders and contents from your current installation. Note that if you have changed the properties of the Duo Authentication Proxy Service to run as a named domain account, be aware that the service will revert to running as a 'Local System' after the upgrade. Repeat the process to change the service back to using a named domain service account before starting the service. Additionally, if the Duo Authentication Proxy Service was running when you started the upgrade, the installer attempts to restart the proxy service after the upgrade completes. Any time after you update or modify your Authentication Proxy configuration, you will need to stop and restart the service for your changes to take effect. Next, we are going to locate our Authentication Proxy configuration file and learn how to configure it to suit our needs. The Duo Authentication Proxy configuration file is named authproxy.cfg and is located in the conf subdirectory of the proxy installation. The default installation path for a Windows system running Authentication Proxy version 5.0.0 and later is C:\Program Files\Duo Security Authentication Proxy. Older versions of the Authentication Proxy were installed in the Program Files x86 directory. Navigate to this area to familiarize yourself with the Proxy's directory structure. The folders we will interact with most are the conf and log subdirectories. Let's begin by reviewing the authproxy.cfg file, since this is the file that we will configure to interact with our primary authenticator and Duo-protected applications. To begin our authproxy.cfg file configuration, run a text editor as an administrator. We recommend using WordPad because it best respects formatting like carriage returns. Click Open. Then navigate to the conf folder of the Authentication Proxy installation directory. To the right of File Name, select 'All Documents' from the dropdown menu and open the authproxy file. The file itself is configured as a simple INI file, and section headings are enclosed with brackets with individual properties beneath the section heading. Note that section headings and section-specific parameters should be lowercase, and you may comment out lines in this file by beginning the line with REM, a hashtag, or a semicolon character. We will revisit commenting out lines later in this video, but do not use any secrets or passcodes in your config file that contain these characters. If this is the first time you have opened the file, you can delete the sample text. Now that we have made it to our proxy configuration file, let's review the sections that we will end up including. With our proxy configuration file ready to be filled out, let's focus on the client section that we will be adding to the file. Note that all client section headings should be lowercase. The most common client section to include for your setup will be an ad_client section. ad_client is used when you would like to use an Active Directory domain controller to perform primary authentication. In this video example, we will be using an ad_client section. To configure more than one client configuration of the same type, append a number to the section name, as in ad_client2 or ad_client3. Additional client section options include radius_client and duo_only_client Use radius_client when the Authentication Proxy contacts another RADIUS server, like Microsoft NPS or Cisco ACS, to perform primary authentication. Use the duo_only_client section if your device supports separate configurations for primary and secondary authentication. You can use the Authentication Proxy for the secondary authentication and let your device handle primary authentication independently. For additional details on setting up these other client sections, please see duo.com/docs/authproxy-reference. In the Authentication Proxy configuration file, make sure that you have removed any sample text. Next, add an ad_client section to use an Active Directory domain controller to perform primary authentication. Below that line, start a new line with host=, and then enter the hostname or IP address of your domain controller. Then, copy service_account_username= from the documentation example and paste it onto the next line of your configuration file. Then, enter the username of a domain member account that has permission to bind to your Active Directory and perform searches. We recommend creating a service account that has read-only access and using it for the proxy. On the next line, we are going to copy and paste the section element service_account_password= from the documentation example and then enter the password for that username. For information on encrypting passwords in Windows, please see the documentation. For the next line, copy and paste search_dn= again from the documentation example, and enter the LDAP DN or distinguished name of an Active Directory container or organizational unit containing all of the users you would wish to permit to log in. These five lines make up the minimum requirements needed for the proxy to interact with Active Directory. In the ad_client section, you can also add additional configuration elements for your specific setup. Two of the most frequently used options include adding an additional hostname or IP address in the case of a fallback domain controller and further restricting access of a security group that contains the users who should be able to log in as direct group members. To add a secondary or a fallback domain controller, add a new line below your first host parameter and type host_2=, and include the hostname or IP address of your secondary controller. Additional fallback domain controllers can be added in the same way, as in host_3, host_4, and so on. To add a security group, add a new line and copy and paste security_group_dn= from the documentation. Then specify the LDAP distinguished name of the group that you want to allow to log in. Users who are not direct members of the group will fail primary authentication. Additional elements, including LDAP filters, timeout options around primary authentication, and port settings can be found in the documentation. Save your configuration file. Your authentication proxy is now configured to use Active Directory for primary authentication. Once your authentication proxy has its client section configured, it is time to review your options for the server section. Depending on which type of application you are configuring, you will need to include one or more of the following configuration sections. Please note that each configuration section has a different impact on the end-user authentication experience. The available server sections are RADIUS Auto, RADIUS iFrame, RADIUS Challenge, RADIUS Concat, RADIUS Duo Only, and LDAP Auto. RADIUS Auto. This mode is recommended for most applications and is compatible with almost all systems that support RADIUS authentication. When using Radius Auto, an automatic Duo Push or call is sent to the user's device for authentication. Users can also use the 'password,factor' format to specify an alternate device and/or passcode. RADIUS iFrame. When using RADIUS iFrame, users will see Duo's web-based authentication prompt. This mode is only available on supported devices, like Citrix and F5 SSL VPNs. RADIUS Challenge. When using RADIUS Challenge, users will be presented with a textual challenge after entering their existing passwords. Note that not all systems supporting RADIUS authentication can support RADIUS Challenge. However, for systems that do support challenges, this offers a cleaner and more flexible integration than RADIUS Concat. In most cases, we recommend using RADIUS Auto instead of RADIUS Challenge. RADIUS Concat. When using RADIUS Concat, users will append a Duo passcode to their existing passwords. This mode should be compatible with almost any system that supports RADIUS authentication using the PAP mechanism. In most cases, we recommend using RADIUS Auto instead of RADIUS Concat. RADIUS Duo Only. RADIUS Duo Only enables you to use a RADIUS integration that does not handle primary authentication credentials. The user's passcode or factor choice, encrypted using the PAP mechanism, is submitted for the RADIUS password. This section never requires a client parameter and should only be used with devices that support secondary RADIUS authentication. LDAP Auto. When using LDAP Auto, the factor is automatically selected for each login instead of prompting the user. Users can also use the 'password,factor' format to specify an alternate device and/or factor. Multiple server configurations can be used by appending a number on to the end of the section name, such as ldap_server_auto1, ldap_server_auto2, and so on. Incoming requests will be filtered to a given server configuration based on the IPs set in ldap_ip_x in each server section. In this video, we will show you how to set up the Duo Authentication Proxy to interact with the generic RADIUS application using a RADIUS Auto setup and Active Directory for primary authentication. For details on other configuration options, please see the documentation. To begin, log in to the Duo Admin Panel. Click on Applications. Then click Protect an Application. In the search field, type RADIUS. Under the generic RADIUS entry, click Protect. At the top of your new RADIUS application's properties page, you will see your Integration key, your Secret key, and API hostname. Next, scroll down the RADIUS application properties page, and rename your application in the Name field under Settings. Type something recognizable to differentiate this application from others. In this example, we'll name the application Device A. Next, click Save. Keep this page open for quick access throughout the rest of the setup process. Next, run a text editor as an administrator. We will once again be using WordPad for how it best respects formatting like carriage returns. Inside the text editor, click Open and navigate to the authproxy.cfg file where we previously added our ad_client section. We have already configured our proxy to use Active Directory as our primary authenticator. Below the final line of the ad_client section, add an empty line. Next, we are going to comment out a line to provide some contextual information for any future users of the config file. For this example, type ;RADIUS Device A. The required elements for a RADIUS server Auto section are ikey, skey, api_host, radius_ip, radius_secret, and client. To learn more about the optional elements for this server section, see the documentation. To begin, below your commented out line, create your [radius_server_auto] section. Next, copy and paste ikey= from the documentation page example, and then paste your integration key from your RADIUS application's properties page. Then, copy and paste skey= from the documentation page, and copy and paste your secret key from the properties page. If you would like to encrypt this password, see Encrypting Passwords in the documentation and use the skey_protected parameter instead. Next, copy and paste api_host= from the documentation, and then paste the API hostname from your properties page. Beneath those lines, create a new line and copy and paste radius_ip_1= from the documentation, and then enter the IP address of your RADIUS device. Then, start a new line and copy radius_secret_1= from the documentation, and enter the secret shared between your proxy and your device. Next, define what the proxy will use to perform primary authentication. In this case, we will be using Active Directory. Add a new line and copy and paste client= from the documentation, and enter ad_client. Finally, enter a port on which to listen for incoming RADIUS requests. The default port is 1812. So type port=1812. The port parameter is optional. When you are done setting up this section, save your configuration file. To include optional element fields like additional RADIUS clients, API timeout details, and failmode settings, please see the documentation for more information. The [cloud] section is a special configuration used only when importing users to Duo via OpenLDAP or Active Directory synchronization. When using Duo Authentication Proxy version 5.2.0 or newer, multiple cloud sections formatted as [cloud], [cloud2], and [cloud3] and so on may coexist in the same authproxy.cfg configuration file, each corresponding to a different sync in the same Duo account. In proxy versions 5.1.0 and earlier, only one [cloud] section may be present in the configuration file, therefore requiring a separate Authentication Proxy server for each AD or OpenLDAP sync you configure. The main elements of a cloud section are as follows, ikey, skey, api_host, service_account_username, and service_account_password. The values for the cloud section are provided on the directory's properties page in the Duo Admin Panel as a downloadable text file. Copy the information from that file, and append it to your existing authproxy.cfg file. You may have to fill in the server account username and password if your authentication type is not integrated. When you are done setting up this section, save your configuration file. The [http_proxy] section configuration allows supported Duo applications to proxy HTTPS connections to Duo's cloud service through the Authentication Proxy server. This is useful in environments where client systems do not have direct Internet access to Duo. Note that you must also configure the Duo application to use Authentication Proxy server as an HTTP proxy. In this video example, we will not include the [http_proxy] section. For more information on this configuration, please refer to the documentation. The Duo Authentication Proxy Service is able to be run in Federal Information Processing Standards, also known as FIPS mode. In this video example, we will not enable FIPS mode, but to employ this configuration, please see the documentation. With our Duo Authentication Proxy now configured, let's start up the proxy service. Authentication Proxy versions 5.1.0 and later include the 'authproxyctl' executable, which shows the connectivity tool output when starting the service and can assist you if you run into issues when starting the proxy. In this video, we will be using the 'authproxyctl start' for our installation of the Duo Authentication Proxy version 5.2.0. On your Windows device, open an elevated Command Prompt and run authproxyctl start. You can also start the proxy by opening the Windows Services console, locating Duo Security Authentication Proxy Service in the list of services, and then clicking to start the service. If the service starts successfully, Authentication Proxy service output is written to the authproxy.log file. We can check the connectivity status by navigating to the log subdirectory, which is located in C:\Program Files\Duo Security Authentication Proxy\log. If you see an error message saying that the service could not be started, open the Application Event Viewer and look for an error from the source duoauthproxy. The traceback may include a config error that can help you find the source of the issue. After fixing any necessary errors, stop and restart the Authentication Proxy Service by either clicking the Restart Service button in the Windows Services console or by running the following elevated command prompt, authproxyctl restart. Your Duo Authentication Proxy Service is now running successfully. Nice work!
Info
Channel: Duo Security
Views: 4,334
Rating: undefined out of 5
Keywords: duo, duo security, authentication proxy, proxy, duo proxy, duo auth proxy, authproxy, yt:cc=on, windows, RADIUS, active directory, AD sync, AD, cisco, LDAP, Windows Server
Id: -7lchiP9V3o
Channel Id: undefined
Length: 21min 1sec (1261 seconds)
Published: Tue Mar 30 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.