Install authentication verifier agent - Linux - RedHat
To scan a website located on your internal network that is not accessible from the internet, you can install and configure a scan agent on your network. The agent will conduct the actual scan job and then report the results back to Invicti Enterprise. You can also install an internal authentication verifier agent to verify that you run authenticated scans in your local environment.
The Authentication Verifier Agent is an optional component.
Install the authentication verifier agent if you need to scan websites with form or basic authentication, or OAuth2. The authentication verifier agents also work for Authentication Profiles, Custom Scripts for Form Authentication, CyberArk Vault, HashiCorp Vault, and AzureKey Vault.
This document explains how to install, update, and uninstall authentication verifier agents on Linux (RedHat).
- For Windows, refer to Install authentication verifier agents - Windows.
- For Debian distributions, refer to Installing Authentication Verifier Agents on Linux - Debian Distribution.
Prerequisites
To install the authentication verifier agent on the Linux operating system, you must install some dependencies on the system, such as .NET.
Hardware requirements
- 1.4 GHz Processor (2.0 GHz or faster recommended)
- 4 GB or higher recommended
- 10 GB Free Disk space for each internal agent
- If NTLM is used as the authentication method, Ubuntu version 24.04 or its equivalent must be used at a minimum
Network requirements
- The Agent should be configured so that it can reach your internal website through HTTP/HTTPS
- The Agent needs to be able to access the Invicti Enterprise Authentication Verifier Service Server's HTTP(S) (443) port
Whitelisting requirements
- Invicti Enterprise On-Demand: US
- Invicti Enterprise On-Demand: US-2
- Invicti Enterprise On-Demand: CA
- Invicti Enterprise On-Demand: EU
- Invicti Enterprise On-Premises
Access requirements
- Users must have root privileges to run the required commands
Install and configure an authentication verifier agent
There are 3 steps in this process:
- Download the authentication verifier agent
- Install the authentication verifier agent
- Set the authentication verifier agent as a Linux Service
These instructions are valid for authentication verifier agents 2.1 and newer versions. If you have an older version, we strongly recommend you delete the older version and reinstall the newer authentication verifier agent.
Step 1: Download the authentication verifier agent
- Log in to Invicti Enterprise.
- From the left-side menu, go to Agents > Manage Agents.
- Select + Configure New Agent.
- In the Authentication Verifier section, select Linux.
The required files to install the verifier agent are downloaded. To install the authentication verifier agent, continue with step 2 below.
Step 2: Install the authentication verifier agent
-
Open a terminal window.
-
Install the dependent packages (ignore this step for Fedora distribution):
sudo dnf install -y epel-releasenoteyum package manager is replaced with dnf in Rhel9
-
Update operating system application repositories:
sudo yum update -y -
Install the dependent packages:
sudo yum install -y nano tar gssntlmssp mono-complete libgdiplus p7zip p7zip-pluginswarningRHEL 9 has removed support for NTLM authentication and no longer includes the gssntlmssp package. As a result, Invicti Enterprise agents installed on RHEL 9 will not be capable of handling NTLM authentication.
Please ensure your systems and configurations account for this limitation when using Invicti Enterprise with RHEL 9.
-
Install the Headless Chrome browser dependencies:
sudo yum install -y pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic libX11-xcb.so.1 libnss3.so xorg-x11-fonts-Type1 xorg-x11-fonts-miscwarningIf the operating system is Ubuntu 24.04 or higher, the following should be used:
sudo apt install -y libasound2t64 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libnss3 lsb-release xdg-utils libgdiplus -
Extract the TAR file: To extract the authentication verifier agent, run the following commands:
cd /home/[YOUR_USER]
tar -xvf Invicti_Enterprise_Verifier_Agent.tar --one-top-level -
Open
appsettings.jsonfile via any text editor you prefer, for example:cd /home/[YOUR_USER]/Invicti_Enterprise_Verifier_Agent
nano appsettings.jsonThese settings will be used by the authentication verifier agent:
- AgentName: This can be anything you want. This text will be displayed when you are starting a new scan. (If you are going to install more than one instance of the agent, you must set a unique agentName value for each instance, something you will use later.)
- AgentType: This can be
Standard. - ApiToken: In Invicti Enterprise, the Agent Token is displayed in the Configure New Agent window. Copy the value into the
apiToken.
Changing default data folder for the authentication verifier agentTo change the default data folder, add the following attribute under
AgentInfo:"ScanDataFolderPath": "FullPath"The full path, for example, can be the following:
/home/[YOUR_USER]/[data folder]/If you modify the existing agent's
appsettings.jsonfile, you need to restart the service. If you add this line to the new agent, you can keep following the installation instruction.warning- Do not edit the
ApiRootUrladdress. If edited, your authentication verifier agent may not work. - Whitelist the
ApiRootUrladdress so that the authentication verifier agents can access the verifier server for the form authentication. - Make sure the machine where the authentication verifier agent is installed can access the
ApiRootURL.
Set proxy in authentication verifier agent
You can set a proxy for the authentication verifier agent in Invicti Enterprise. You are required to manually enter proxy settings to the appsettings.json file with your preferred text editor.
Invicti supports Basic Authentication but not Digest and NTLM.
| Field | Description |
|---|---|
| Proxy Mode | Enter your proxy settings if you want the Agent to use or not to use the proxy. There are three modes:
|
| Use Default Credentials | Enter true if you authenticate to the proxy via the user that the Agent service is defined. |
| Username | Enter a username for authentication |
| Password | Enter a password for authentication |
| Domain | Enter a domain name |
| Address | Enter a proxy address. Only IP address or hostname without schema and port is allowed. |
| Port | Enter a port for the proxy |
| Bypass on Local | Enter a value that indicates whether to bypass the proxy server for local addresses. |
| Bypass List | Enter the address(es) that do not use the proxy server. |
Use a Proxy Auto-Configuration file in Linux
You can use Proxy Automatic Configuration (PAC) to configure your proxy. A PAC file lets you describe the proxy configuration in a file using JavaScript, so you can manage your proxy settings effortlessly.
To use a PAC file, you must set the Proxy Mode to System Proxy in the appsetting.json file.
- Go to Settings > Network > Network Proxy.
- From the Network Proxy window, select Automatic.
- In the Configuration URL field, enter the PAC file's URL address.
- Close the window.
Step 3: Set the authentication verifier agent as a Linux Service
When you install an internal authentication verifier agent, you need to set it as a Linux service. So, the verifier agent can poll the Invicti Enterprise servers regularly and can take the initiation command from the server.
You can complete this process in three steps:
- Add a unit file for a Invicti Agent
- Configure Sudoers for a Invicti Agent
- Start Invicti Enterprise Agent as a Linux Service
Add a unit file for a Invicti Agent
- Open a terminal
cd /etc/systemd/systemsudo touch [YOUR_AGENT_NAME].servicesudo nano [YOUR_AGENT_NAME].service
The AgentName in the appsetting.json file and the unit file name for the agent must have the same name.
Add the following script into [YOUR_AGENT_NAME].service:
# For internal agents version 2.0.2.157 and newer:
[Unit]
Description=netsparker.service description
[Service]
Type=notify
KillMode=process
Restart=always
RestartSec=30
SyslogIdentifier=[YOUR_USER]
KillSignal=SIGINT
User=[YOUR_USER]
WorkingDirectory=[YOUR_AGENT_DIRECTORY_PATH]
ExecStart=[Your Agent Directory path]/Netsparker.Cloud.Agent
[Install]
WantedBy=multi-user.target
The [YOUR_USER] in the unit file must be the same as [YOUR_USER] that you entered while installing the verifier agent.
- Save and close the document.
Configure Sudoers for a Invicti Agent
sudo cd /etc/sudoers.dsudo touch [YOUR_AGENT_NAME]-systemctlsudo visudo -f [YOUR_AGENT_NAME]-systemctl- Add the following script into
[YOUR_AGENT_NAME]-systemctl:[YOUR_USER] ALL=(ALL:ALL) NOPASSWD: /usr/bin/systemctl start [YOUR_AGENT_NAME].service
[YOUR_USER] ALL=(ALL:ALL) NOPASSWD: /usr/bin/systemctl stop [YOUR_AGENT_NAME].service - Save and close the document.
Start Invicti Enterprise Agent as a Linux Service
sudo systemctl daemon-reloadsudo systemctl start [YOUR_AGENT_NAME].service
You can now check the status of the connection between Invicti Enterprise and the authentication verifier agent. From the Agents menu, select Manage Verifiers.
Update authentication verifier agents
There are three methods to update your authentication verifier agent.
- When a new verifier agent version has been published, you can update your Agents manually using installation files on the machines on which agents are installed.
- You can update agents manually by selecting Update Agent (visible only when the Enable Auto Update is not configured and the new version of the Agent is available). While the update is in progress, the State field will display 'Updating'.
- You can enable the auto update feature. The target verifier agent updates itself as soon as possible when it’s idle.
Enable automatic Authentication Verifier Agent updates
- From the main menu, select Agents > Manage Verifiers.
- Next to the relevant agent, select the Command drop-down, then Enable Auto Update.
Install multiple authentication verifier agents on Linux
You can install more than one agent in Linux.
Make sure that you enter a different name for the new agent.
- Open a terminal window.
- Create a new folder for the new agent.
- Copy the TAR file into the new folder, and extract the TAR file
- Follow the instructions in Step 2: Install the authentication verifier agent and Step 3: Set the authentication verifier agent as a Linux Service.
Uninstall the authentication verifier agent
You may uninstall verifier agents by following these steps:
- Open a terminal window.
- Run
sudo systemctl stop {your-agent-name}.service - Run
cd /etc/systemd/system - Run
sudo rm {your-agent-name}.service - Run
systemctl daemon-reload
Running these commands will stop and delete the verifier agent service. If required, you can delete the related folder as well.
Need help?
Invicti Support team is ready to provide you with technical help. Go to Help Center