I need to connect to my OpenVAS from the Internet to conduct penetration tests.

I didn't found any way to make it permanently listen on the external interface: openvas-start causes it to listen on

I already tried to modify the configuration files, but it seems either I'm doing it wrong or something is overriding configurations when it starts.

Any help would be appreciated.

P.S: I'm using Kali 2.0.

  • Not funny. Product-specific configuration questions are off-topic because they either belong on the vendors support page or the answers are in the manual. You also do not include any data on what configurations you tried or what errors or effects you were experiencing. – schroeder Sep 23 '15 at 22:40

Since we're on systemd, you actually need to modify 3 .service files:

cd /lib/systemd/system

Files are: greenbone-security-assistant.service, openvas-manager.service and openvas-scanner.service.

To make it quick you may want to use sed. This line will replace all to which will allow all services be avaliable on all interfaces. You should replace to the address of your choice.

sed -e 's/' greenbone-security-assistant.service openvas-manager.service openvas-scanner.service

Verify, that all will be done as you want. If you're happy with the changes, just add -i to the end of previous command.

sed -e 's/' greenbone-security-assistant.service openvas-manager.service openvas-scanner.service -i

Lastly you need to reload daemons, since you've made changes to files and restart services.

systemctl daemon-reload
systemctl restart greenbone-security-assistant.service openvas-manager.service openvas-scanner.service

Verify, that all services are listening on desired host:

ss -nalt

If restarting sevices didn't work, try to restart server itself.

| improve this answer | |
  • This was the answer for me. New version of Kali Linux since the openvas services have been added to systemd. – jmreicha Apr 16 '16 at 22:53
  1. openvas-stop
  2. gsad --listen=
  3. openvas-start
  4. From any client machine try https://kali-ip/
  5. Enjoy accessing openvas web
| improve this answer | |

There is much more simple solution. You can redirect external ip port to localhost using firewall. Assuming that Your's server external IP is

sysctl -w net.ipv4.conf.eth0.route_localnet=1

iptables -t nat -A PREROUTING -p tcp -d --dport 443 -j DNAT --to-destination

That's all, now connect to

I also tried to edit configuration IPs but there are in many places and seem to break OMP authorization. This solution was tested with latest Kali/OpenVAS (2016.09).

| improve this answer | |

Quoting the openvasd man page:

-a , --listen= Tell the server to only listen to connections on the address which is an IP, not a machine name. For instance, "openvasd -a" will make openvasd only listen to requests going to This option is useful if you are running openvasd on a gateway and if you don't want people on the outside to connect to your openvasd.

You can append this option in the startup script located in /etc/init.d/openvas-scanner in the DAEMONOPTS constant.

| improve this answer | |
  • added DAEMONOPTS="--listen=" but netstat -na still shows Local Address – Sam Sep 23 '15 at 12:47
  • Did you restart the daemon? – davidb Sep 23 '15 at 12:47
  • I ran openvas-stop then openvas-start respectively. – Sam Sep 23 '15 at 12:48
  • Also why didn't you specify the external address explicitly? – davidb Sep 23 '15 at 12:48
  • Run /etc/init.d/openvas-scanner restart – davidb Sep 23 '15 at 12:48

Edit /etc/default/greenbone-security-assistant:

Change to your IP


Then, restart the services:

root@tiger:/home/fw# ps aux | grep openvassd | grep -v grep
root      8918  2.6  1.2 138644 12212 ?        Ss   17:31   2:25 openvassd: Waiting for incoming connections
root@tiger:/home/fw# killall openvassd
root@tiger:/home/fw# ps aux | grep openvassd | grep -v grep
root@tiger:/home/fw# service openvas-scanner start
root@tiger:/home/fw# service openvas-manager start
root@tiger:/home/fw# service greenbone-security-assistant restart
root@tiger:/home/fw# ps aux | grep openvassd | grep -v grep
root      9681 39.4  1.3 123836 13476 ?        Ds   19:02   0:02 openvassd: Reloaded 7750 of 46062 NVTs (16% / ETA: 00:19)
root      9682  0.0  0.1 114564  1528 ?        S    19:02   0:00 openvassd (Loading Handler)

Try to access it from outside https://ip:9392

| improve this answer | |
  • I just tried this method but it doesn't seem to work. OpenVAS still seems to be binding to instead of the public interface. – jmreicha Apr 5 '16 at 2:11

Oddly, I used both Firewallengineer and Tim Rain's answers and that solved my issue. I did notice that for whatever reason in /lib/systemd/system I had to put --allow-header-host myserver.mycompany.com athe the end of the ExactStart line.

In /etc/default/greenbone-security-assistant I had to set the GSA_Address as the server address. This is what worked for me. I also had to access the server as myserver.mycompany.com:9392/omp, as just myserver.mycompany.com would not resolve. I understand my company's DNS needs a cleaning but I don;t have the time to fix that. Thank you both for your information, it saved me a lot of time and taught me quite a bit too.

Hopefully this helps someone.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.