Would you like to learn how to configure the Nginx service Kerberos authentication on Active Directory? In this tutorial, we are going to show you how to authenticate Nginx users using the Active Directory from Microsoft Windows and the Kerberos protocol.
• Ubuntu 20
• Ubuntu 19
• Ubuntu 18
• Nginx 1.18.0
In our example, the domain controller IP address is 192.168.15.10.
In our example, the Nginx server IP address is 192.168.15.11.
Equipment list
The following section presents the list of equipment used to create this tutorial.
As an Amazon Associate, I earn from qualifying purchases.
Nginx – Related Tutorial:
On this page, we offer quick access to a list of tutorials related to Nginx.
Tutorial Windows – Domain Account Creation
• IP – 192.168.15.10
• Operacional System – WINDOWS 2012 R2
• Hostname – TECH-DC01
We need to create at least 1 account on the Active Directory database.
The ADMIN account will be used to login on the Nginx server.
On the domain controller, open the application named: Active Directory Users and Computers
Create a new account inside the Users container.
Create a new account named: admin
Password configured to the ADMIN user: kamisama123..
This account will be used to authenticate on the Nginx server.
Congratulations, you have created the required Active Directory account.
Nginx – Kerberos authentication on the Active Directory
• IP – 192.168.15.11
• Operational System – Ubuntu 20
• Hostname – NGINX
Set a hostname using the HOSTNAMECTL command.
Edit the HOSTS configuration file.
Add the domain controller IP address and hostname.
Install the list of required packages to enable the Kerberos authentication.
On the Graphic installation, perform the following configuration:
• Kerberos realm – TECH.LOCAL
• Kerberos server – TECH-DC01.TECH.LOCAL
• Administrative server – TECH-DC01.TECH.LOCAL
You need to change the domain information to reflect your Network environment.
Edit the Kerberos configuration file.
Here is the file, before our configuration.
Here is the file, after our configuration.
You need to change the domain information to reflect your Network environment.
You have finished the required Kerberos configuration.
Nginx – Kerberos authentication
Install the Nginx server and the required packages.
In our example, we are going to request authentication to users trying to access a directory named TEST.
Create a directory named TEST and give the user named www-data permission over this directory.
Configure the Nginx server to request the PAM authentication to users trying to access this directory.
Edit the Nginx configuration file for the default website.
Add the following configuration to this file.
Here is the file, before our configuration.
Here is the file, after our configuration.
The Nginx server was configured to request password authentication to access the directory named TEST.
The Nginx service was configured to authenticate user accounts using the PAM authentication module.
Create the PAM configuration file.
Here is the file content.
In our example, we are going to authenticate the Nginx service access using Kerberos.
Restart the Nginx service.
Congratulations! You successfully configured the Nginx authentication to use Kerberos.
Nginx – Keberos authentication test
Create an HTML page to be used in the authentication test.
In our example, we created an HTML page named TEST.
Open your browser and enter the IP address of your Nginx web server.
In our example, the following URL was entered in the Browser:
• http://192.168.15.11
The Nginx default page will be displayed.
Open your browser and enter the IP address of your web server plus /test.
In our example, the following URL was entered in the Browser:
• http://192.168.15.11/test/test.html
On the login screen, Enter an Active Directory username and its password.
• Username: admin
• Password: kamisama123..
After a successful login, you will be authorized to access the directory named TEST.
Congratulations! You have configured the Kerberos authentication on the Nginx server.