Konfiguracja z nginx

Zgodnie z powyższą konfiguracją Greenbone Security Assistant działa wyłączenie na loopback. Tak więc najelpiej "schować" GSA za działającym serwerem webowym. Dzięki temu możliwy jest dostęp w bezpieczny sposób.

Poprawienie uprawnień do socketu

Podczas startu gsad tworzy socket /var/run/gsad.sock. Niemniej jego domyślne uprawnienia nie pozwalają na poprawną pracę z nginx-em. Dlatego też konieczna jest modyfikacja uprawnień:

chmod 0777 /var/run/gsad.sock

Konfiguracja nginx

GSA działa jako katalog root. Dlatego też konfiguracja nginx-a powinna być wykonana dla jakiejś nazwy hosta (server_name) jako root.

Definicja upstream

upstream gsa { server unix:///var/run/gsad.sock; }

Definicja serwera

server {
    listen 54.38.192.168:443 ssl;
    listen [2001:41d0:602:17a8::3]:443 ssl;
    server_name gph03.bsdserwis.com;

    # [...]

    root /usr/local/share/openvas/gsa/classic;

    location ~ ^/(js/|css/|img/) {
        root /usr/local/share/openvas/gsa/classic;
    }

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://gsa;
    }

    location /.well-known/ {}

    include 000-cmsploit.conf;
    include 004-dot-ht.conf;
    include 004-err-page-404.conf;
    include 004-err-page-5xx.conf;
    include 004-pillaging-dvcs.conf;
    include 005-no-logging.conf;
    include 005-x-frame.conf;
}

/!\ /!\ /!\ UWAGA /!\ /!\ /!\ W konfiguracji wirtualnego hosta nie może być dołączany plik expires.conf, ponieważ "psuje" on poprawnie działanie proxy_pass.

Uruchomienie nginx

Po wykonaniu zmian w konfiguracji należy wykonać przeładowanie całego serwera nginx:

service nginx reload