|
| 1 | +--- |
| 2 | +title: Tenable One-Click Nessus Extension for Azure VMs |
| 3 | +description: Deploy the Tenable One-Click Nessus Agent to a virtual machine using the Tenable One-Click Nessus VM Extension. |
| 4 | +ms.topic: article |
| 5 | +ms.service: virtual-machines |
| 6 | +ms.subservice: extensions |
| 7 | +ms.author: gabsta |
| 8 | +author: GabstaMSFT |
| 9 | +ms.date: 07/18/2023 |
| 10 | +--- |
| 11 | +# Tenable One-Click Nessus Agent |
| 12 | + |
| 13 | +Tenable now supports a One-Click deployment of Nessus Agents via Microsoft's Azure portal. This solution provides an easy way to install the latest version of Nessus Agent on Azure virtual machines (VM) (whether Linux or Windows) by either clicking on an icon within the Azure portal or by writing a few lines of PowerShell script. |
| 14 | + |
| 15 | +## Prerequisites |
| 16 | + |
| 17 | +* A Tenable Vulnerability Management (Tenable.io), or Nessus Manager, account. |
| 18 | + |
| 19 | +* A Microsoft Azure account with one (or more) Windows or Linux VMs. |
| 20 | + |
| 21 | +### Supported Platforms |
| 22 | + |
| 23 | +Azure VM running any of the following: |
| 24 | + |
| 25 | +* CentOS 7 (x86_64) |
| 26 | + |
| 27 | +* Debian 11 (x86_64) |
| 28 | + |
| 29 | +* Oracle Linux 7 and 8 (x86_64) |
| 30 | + |
| 31 | +* Red Hat ES 7, 8 and 9 (x86_64) |
| 32 | + |
| 33 | +* Rocky Linux 9 (x86_64) |
| 34 | + |
| 35 | +* Ubuntu 18.04, 20.04 and 22.04 (x86_64) |
| 36 | + |
| 37 | +* Red Hat ES 8 and 9 (ARM64) |
| 38 | + |
| 39 | +* Windows 10 and 11 (x86_64) |
| 40 | + |
| 41 | +* Windows Server 2012 and 2012 R2 (x86_64) |
| 42 | + |
| 43 | +* Windows Server 2016, 2019 and 2022 (x86_64) |
| 44 | + |
| 45 | +## Deploy with the Tenable User Interface (UI) |
| 46 | + |
| 47 | +1. Select one of your VMs. |
| 48 | + |
| 49 | +2. In the left column click **Extensions + applications**. |
| 50 | + |
| 51 | +3. Click **+ Add**. |
| 52 | + |
| 53 | +4. In the gallery, scroll down to **N** (for Nessus Agent) or type **nessus** in the search bar. |
| 54 | + |
| 55 | +5. Select the **Nessus Agent** tile and click **Next**. |
| 56 | + |
| 57 | +6. Enter configuration parameters in the Tenable user interface. |
| 58 | + |
| 59 | +7. Click **Review + create**. |
| 60 | + |
| 61 | + |
| 62 | +## Deploy From Command-line |
| 63 | + |
| 64 | +There is also a command-line interface available through PowerShell. |
| 65 | + |
| 66 | +For example, you can type: |
| 67 | + |
| 68 | +```PS> $publisherName="Tenable.NessusAgent" |
| 69 | +PS> $typeName="Linux" (or $typeName="Windows") |
| 70 | +PS> $name = $publisherName + "." + $typeName |
| 71 | +PS> $version="1.0" |
| 72 | +PS> $Settings = @{"nessusManagerApp" = "IO"; "nessusAgentName" = "NA_name1"; "nessusAgentGroup" = "GROUP1"} |
| 73 | +PS> $ProtectedSettings = @{"nessusLinkingKey" = "abcd1234vxyz5678abcd1234vxyz5678abcd1234vxyz5678abcd1234vxyz5678"} |
| 74 | +PS> Set-AzVMExtension -ResourceGroupName "EXAMPLE-resource-group" -Location "East US 2" -VMName "canary-example" -Name $name -Publisher $publisherName -ExtensionType $typeName -TypeHandlerVersion $version -Settings $Settings -ProtectedSettings $ProtectedSettings |
| 75 | +``` |
| 76 | + |
| 77 | +Lines 1-4 identify the One-Click agent extension. |
| 78 | + |
| 79 | +Lines 5-6 in the PowerShell example are equivalent to Step 6 in the UI procedure. This is where the user enters their configuration parameters for their Nessus Agent install. |
| 80 | + |
| 81 | + |
| 82 | +### Nessus Linking Key |
| 83 | + |
| 84 | +The most important field is the Nessus Linking Key (**nessusLinkingKey**, required). It is always required. This document explains where to find it: [Retrieve the Tenable Nessus Agent Linking Key (Tenable Nessus Agent 10.4)](https://docs.tenable.com/nessusagent/Content/RetrieveLinkingKey.htm). In the PowerShell interface, specify nessusLinkingKey under `-ProtectedSettings` so that it will be encrypted by Azure. All other fields are passed unencrypted through -Settings. |
| 85 | + |
| 86 | +You can choose whether to link with Nessus Manager or Tenable.io. In the command-line interface, this is done by setting `nessusManagerApp` (**nessusManagerApp**, required) to `cloud`, or to `local`. Those are the only two choices. |
| 87 | + |
| 88 | +If you choose Nessus Manager, you must provide the Nessus Manager host (**nessusManagerHost**) and port number (**nessusManagerPort**). The extension accepts an IP address or fully qualified domain name. |
| 89 | + |
| 90 | +If you choose Tenable.io, then there is an optional field called **tenableIoNetwork**. |
| 91 | + |
| 92 | +The Agent Name (**nessusAgentName**, optional) and Agent Group (**nessusAgentGroup**, optional) (actually “groups”, a comma-delimited list of group names) are always optional. |
| 93 | + |
| 94 | +Parameter names: |
| 95 | + |
| 96 | +```"nessusLinkingKey" |
| 97 | + "nessusManagerApp" |
| 98 | + "nessusManagerHost" |
| 99 | + "nessusManagerPort" |
| 100 | + "tenableIoNetwork" |
| 101 | + "nessusAgentName" |
| 102 | + "nessusAgentGroup" |
| 103 | +``` |
| 104 | +Parameter descriptions: |
| 105 | + |
| 106 | +"nessusLinkingKey" is called "--key" in this doc |
| 107 | + |
| 108 | +"nessusManagerApp" is unique to our VM extension |
| 109 | + |
| 110 | +"nessusManagerHost" equals "--host" |
| 111 | + |
| 112 | +"nessusManagerPort" equals "--port" |
| 113 | + |
| 114 | +"tenableIoNetwork" is "--network" |
| 115 | + |
| 116 | +"nessusAgentName" is "--name" |
| 117 | + |
| 118 | +"nessusAgentGroup" is "--groups" |
| 119 | + |
| 120 | +For more definitions of these parameters, see [Nessuscli Agent](https://docs.tenable.com/nessus/Content/NessusCLIAgent.htm). |
| 121 | + |
| 122 | + |
| 123 | +### Support |
| 124 | + |
| 125 | +If you need more help at any point in this article, you can contact the Azure experts on the MSDN Azure and Stack Overflow forums. Alternatively, you can file an Azure support incident. Go to the Azure support site and select Get support. For information about using Azure Support, read the Microsoft Azure support FAQ. If you experience issues with the extension, contact Tenable support. |
0 commit comments