Guide to Nessus 4 on Ubuntu 9.04

How to install Nessus on Ubuntu

Nessus Essentials can scan up to 16 IPs. If you need to scan more, a license for Nessus Professional is required.

The following steps are for a 64bit install. It should be the same for a 32bit installation apart from the different install files.

Download Nessus

Download from Nessus Nessus-4.0.1-ubuntu810_amd64.deb for Ubuntu 9.04

Install Nessus

dpkg -i Nessus-4.0.1-ubuntu810_amd64.deb

Selecting previously deselected package nessus.
(Reading database ... 128086 files and directories currently installed.)
Unpacking nessus (from Nessus-4.0.1-ubuntu810_amd64.deb) ...
Setting up nessus (4.0.1) ...
nessusd (Nessus) 4.0.1. for Linux
(C) 1998 - 2009 Tenable Network Security, Inc.

 - Please run /opt/nessus/sbin/nessus-adduser to add a user
 - Register your Nessus scanner at to obtain
   all the newest plugins
 - You can start nessusd by typing /etc/init.d/nessusd start

root@testserver:~# /opt/nessus/sbin/nessus-adduser 
Login : admin
Authentication (pass/cert) : [pass] 
Login password : 
Login password (again) : 
Do you want this user to be a Nessus 'admin' user ? (can upload plugins, etc...) (y/n) [n]: y
User rules
nessusd has a rules system which allows you to restrict the hosts
that admin has the right to test. For instance, you may want
him to be able to scan his own host only.

Please see the nessus-adduser manual for the rules syntax

Enter the rules for this user, and enter a BLANK LINE once you are done : 
(the user can have an empty rules set)

Login             : admin
Password         : ***********
This user will have 'admin' privileges within the Nessus server
Rules             :
Is that ok ? (y/n) [y] y
User added
Register for home feed.
/opt/nessus/bin/nessus-fetch --register xxxx-xxxx-xxxx-xxxx-xxxxx
/etc/init.d/nessusd start
Command Line

To run Nessus from the command line use option -q that is for batch mode. This allows running from a terminal and without the GUI interface to the client. Handy if you would like to script or automate your scans.

Using batch mode the IP's that are to be scanned are read from a file.

echo "" >> iptoscan.txt

/opt/nessus/bin/nessus -q 1241 admin password iptoscan.txt scanresults2.html -T htm

Replace "admin password" in your command with the login and password you chose when you created the user using nessus-adduser.

~$ OpenVAS-Client --help
  OpenVAS-Client [OPTION...] - client for the OpenVAS security scanner

Help Options:
  -?, --help                                                                    Show help options
  --help-all                                                                    Show all help options
  --help-gtk                                                                    Show GTK+ Options

Application Options:
  -v, --version                                                                 Display version information
  -n, --no-pixmap                                                               No pixmaps
  -q, --batch-mode=          Batch-mode scan
  -c, --config-file=<.rcfile>                                                   Configuration file
  -T, --output-type=[nbe|html|text|xml|tex]                                     Output format
  -V, --verbose                                                                 Display status messages in batch mode
  -p, --list-plugins                                                            Obtain list of plugins installed on the server
  -P, --list-prefs                                                              Obtain list of server and plugin preferences
  -i, --in-report=                                                      Input file (report conversion)
  -o, --out-report=                                         Output file (report conversion)
  -x, --dont-check-ssl-cert                                                     Override SSL "paranoia" question preventing OpenVAS-Client from checking certificates
  -S, --sqlize-output                                                           Issue SQL output for -p and -P (experimental)
  -s, --list-sessions=                                  List sessions
  -R, --restore-session=        Restore session
  --display=DISPLAY                                                             X display to use
Note: Nessus is now a commercial product from Tenable that offers slightly different plugins and capabilities, depending on whether you have the free with limited number of hosts that can be scanned and delayed plugins or the professional version which has unlimited hosts that can be scanned and more up to date plugins.