GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Memasang dan Menggunakan Pemindai Kerentanan GVM di Ubuntu 20.04

GVM juga disebut "Greenbone Vulnerability Management" adalah perangkat lunak manajemen dan pemindaian kerentanan sumber terbuka yang menyediakan serangkaian tes kerentanan jaringan untuk menemukan celah keamanan dalam sistem dan aplikasi. Ini adalah rangkaian alat lengkap yang digunakan oleh banyak pakar keamanan dan pengguna biasa di seluruh dunia.

Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi GVM di server Ubuntu 20.04.

Prasyarat

  • Server yang menjalankan Ubuntu 20.04.
  • Sandi root dikonfigurasi untuk server.

Memulai

Sebelum memulai, Anda perlu memperbarui paket sistem Anda ke versi terbaru. Anda dapat memperbaruinya menggunakan perintah berikut:

apt-get update -y

Setelah server Anda diperbarui, Anda dapat melanjutkan ke langkah berikutnya.

Instal Dependensi yang Diperlukan

Sebelum memulai, Anda harus menginstal semua dependensi yang diperlukan di sistem Anda. Anda dapat menginstalnya dengan menjalankan perintah berikut:

apt-get install software-properties-common build-essential cmake pkg-config libglib2.0-dev libgpgme-dev libgnutls28-dev uuid-dev libssh-gcrypt-dev libldap2-dev doxygen graphviz libradcli-dev libhiredis-dev libpcap-dev bison libksba-dev libsnmp-dev gcc-mingw-w64 heimdal-dev libpopt-dev xmltoman redis-server xsltproc libical-dev gnutls-bin nmap rpm nsis curl wget fakeroot gnupg sshpass socat snmp smbclient libmicrohttpd-dev libxml2-dev python3-polib gettext rsync xml-twig-tools python3-paramiko python3-lxml python3-defusedxml python3-pip python3-psutil python3-impacket virtualenv vim git texlive-latex-extra texlive-fonts-recommended -y

Setelah semua dependensi terinstal, tambahkan repositori Yarn ke sistem Anda:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

Selanjutnya, perbarui repositori dan instal paket Yarn dengan perintah berikut:

apt-get update -y
apt-get install yarn -y

Selanjutnya, tingkatkan Yarn ke versi terbaru menggunakan perintah berikut:

yarn install
yarn upgrade

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Instal dan Konfigurasi PostgreSQL

GVM menggunakan PostgreSQL sebagai backend database sehingga Anda perlu menginstal server PostgreSQL ke sistem Anda. Anda dapat menginstalnya dengan perintah berikut:

apt-get install postgresql postgresql-contrib postgresql-server-dev-all -y

Setelah instalasi selesai, masuk ke PostgreSQL dan buat pengguna dan database untuk GVM:

sudo -u postgres bash
export LC_ALL="C"
createuser -DRS gvm
createdb -O gvm gvmd

Selanjutnya connect ke database lalu buat role dan extension dengan perintah berikut:

psql gvmd
create role dba with superuser noinherit;
grant dba to gvm;
create extension "uuid-ossp";
create extension "pgcrypto";

Selanjutnya, keluar dari PostgreSQL dengan perintah berikut:

exit
exit

Unduh GVM

Pertama, buat direktori dan pengguna terpisah untuk GVM dengan perintah berikut:

mkdir /opt/gvm
adduser gvm --disabled-password --home /opt/gvm/ --no-create-home --gecos ''

Selanjutnya, tambahkan pengguna redis ke GVM dan atur izin yang sesuai dengan perintah berikut:

usermod -aG redis gvm
chown gvm:gvm /opt/gvm/

Selanjutnya, buat variabel jalur untuk GVM dengan perintah berikut:

echo 'export PATH="$PATH:/opt/gvm/bin:/opt/gvm/sbin:/opt/gvm/.local/bin"' | tee -a /etc/profile.d/gvm.sh
chmod 0755 /etc/profile.d/gvm.sh
source /etc/profile.d/gvm.sh

Selanjutnya, tentukan jalur pustaka GVM menggunakan perintah berikut:

nano /etc/ld.so.conf.d/gvm.conf

Tambahkan baris berikut:

/opt/gvm/lib

Selanjutnya, masuk ke pengguna GVM dan buat direktori untuk semua komponen:

su - gvm
mkdir src

Selanjutnya, unduh semua komponen yang diperlukan di dalam direktori src dengan perintah berikut:

cd src
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH
git clone -b gvm-libs-20.08 --single-branch https://github.com/greenbone/gvm-libs.git
git clone -b openvas-20.08 --single-branch https://github.com/greenbone/openvas.git
git clone -b gvmd-20.08 --single-branch https://github.com/greenbone/gvmd.git
git clone -b master --single-branch https://github.com/greenbone/openvas-smb.git
git clone -b gsa-20.08 --single-branch https://github.com/greenbone/gsa.git
git clone -b ospd-openvas-20.08 --single-branch https://github.com/greenbone/ospd-openvas.git
git clone -b ospd-20.08 --single-branch https://github.com/greenbone/ospd.git

Instal gvm-libs

Selanjutnya, ubah direktori menjadi gvm-libs, ekspor jalur konfigurasi dan buat direktori build dengan perintah berikut:

cd gvm-libs
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH
mkdir build

Selanjutnya, ubah direktori untuk membangun dan mengkompilasi gvm-libs menggunakan perintah berikut:

cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make
make doc
make install

Instal openvas-smb

Selanjutnya, ubah direktori menjadi openvas-smb, ekspor path config dan buat direktori build dengan perintah berikut:

cd /opt/gvm/src
cd openvas-smb
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH
mkdir build

Selanjutnya, ubah direktori untuk membangun dan mengkompilasi openvas-smb dengan perintah berikut:

cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make
make install

Instal OpenVAS Scanner

Selanjutnya, ubah direktori menjadi openvas, ekspor jalur konfigurasi dan buat direktori build dengan perintah berikut:

cd /opt/gvm/src
cd openvas
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH
mkdir build

Selanjutnya, ubah direktori untuk membangun dan menginstal pemindai OpenVAS dengan perintah berikut:

cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make
make doc
make install

Selanjutnya, keluar dari pengguna gvm dengan perintah berikut:

exit

Selanjutnya, buat cache ke pustaka bersama yang diinstal dengan perintah berikut:

export LC_ALL="C"
ldconfig

Selanjutnya, salin file konfigurasi OpenVAS scanner Redis dengan perintah berikut:

cp /etc/redis/redis.conf /etc/redis/redis.orig
cp /opt/gvm/src/openvas/config/redis-openvas.conf /etc/redis/

Selanjutnya, atur kepemilikan yang tepat dengan perintah berikut:

chown redis:redis /etc/redis/redis-openvas.conf

Selanjutnya, perbarui jalur ke soket redis unix dengan perintah berikut:

echo "db_address = /run/redis-openvas/redis.sock" > /opt/gvm/etc/openvas/openvas.conf

Selanjutnya, aktifkan dan mulai layanan Redis dengan perintah berikut:

systemctl enable [email protected]
systemctl start [email protected]

Selanjutnya, Anda perlu mengubah file sysctl.conf. Anda dapat melakukannya dengan perintah berikut:

sysctl -w net.core.somaxconn=1024 
sysctl vm.overcommit_memory=1
echo "net.core.somaxconn=1024" >> /etc/sysctl.conf
echo "vm.overcommit_memory=1" >> /etc/sysctl.conf

Selanjutnya, reload sysctl dengan perintah berikut:

sysctl -p

Buat File Layanan Systemd

Pertama, buat file layanan systemd untuk Transparent Huge Pages (THP) dengan perintah berikut:

nano /etc/systemd/system/disable-thp.service

Tambahkan baris berikut:

Description=Disable Transparent Huge Pages (THP)

[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"

[Install]
WantedBy=multi-user.target

Simpan dan tutup file kemudian muat ulang layanan systemd dengan perintah berikut:

systemctl daemon-reload

Selanjutnya, mulai layanan disable-thp dan aktifkan untuk memulai saat reboot sistem:

systemctl start disable-thp 
systemctl enable disable-thp

Selanjutnya, restart layanan Redis untuk menerapkan perubahan:

systemctl restart redis-server

Selanjutnya, Anda harus mengizinkan pengguna gvm untuk menjalankan semua perintah sistem menggunakan sudo tanpa memberikan kata sandi. Anda dapat melakukannya dengan perintah berikut:

sed 's/Defaults\s.*secure_path=\"\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin:\/snap\/bin\"/Defaults secure_path=\"\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin:\/snap\/bin:\/opt\/gvm\/sbin\"/g' /etc/sudoers | EDITOR='tee' visudo
echo "gvm ALL = NOPASSWD: /opt/gvm/sbin/openvas" > /etc/sudoers.d/gvm
echo "gvm ALL = NOPASSWD: /opt/gvm/sbin/gsad" >> /etc/sudoers.d/gvm

Perbarui NVT

Selanjutnya, Anda perlu memperbarui umpan Tes Kerentanan Jaringan dari Umpan Keamanan Greenbone/Umpan Komunitas.

Pertama, masuk ke pengguna gvm dengan perintah berikut:

su - gvm

Selanjutnya, update feed dengan perintah berikut:

greenbone-nvt-sync

Setelah pembaruan selesai, perbarui server Redis dengan info VT yang sama dari file VT:

sudo openvas --update-vt-info

Instal Manajer Kerentanan Greenbone

Pertama, ubah direktori ke gvmd, ekspor jalur konfigurasi dan buat direktori build dengan perintah berikut:

cd /opt/gvm/src/gvmd 
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH
mkdir build

Selanjutnya, ubah direktori untuk membangun dan menginstal gvmd dengan perintah berikut:

cd build/ 
cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make
make doc
make install

Selanjutnya, perbaiki sertifikat dengan perintah berikut:

gvm-manage-certs -a

Anda akan mendapatkan output berikut:

Generated private key in /tmp/tmp.gW57p1UV0s/cakey.pem.
Generated self signed certificate in /tmp/tmp.gW57p1UV0s/cacert.pem.
Installed private key to /opt/gvm/var/lib/gvm/private/CA/cakey.pem.
Installed certificate to /opt/gvm/var/lib/gvm/CA/cacert.pem.
Generated private key in /tmp/tmp.gW57p1UV0s/serverkey.pem.
Generated certificate request in /tmp/tmp.gW57p1UV0s/serverrequest.pem.
Signed certificate request in /tmp/tmp.gW57p1UV0s/serverrequest.pem with CA certificate in /opt/gvm/var/lib/gvm/CA/cacert.pem to generate certificate in /tmp/tmp.gW57p1UV0s/servercert.pem
Installed private key to /opt/gvm/var/lib/gvm/private/CA/serverkey.pem.
Installed certificate to /opt/gvm/var/lib/gvm/CA/servercert.pem.
Generated private key in /tmp/tmp.gW57p1UV0s/clientkey.pem.
Generated certificate request in /tmp/tmp.gW57p1UV0s/clientrequest.pem.
Signed certificate request in /tmp/tmp.gW57p1UV0s/clientrequest.pem with CA certificate in /opt/gvm/var/lib/gvm/CA/cacert.pem to generate certificate in /tmp/tmp.gW57p1UV0s/clientcert.pem
Installed private key to /opt/gvm/var/lib/gvm/private/CA/clientkey.pem.
Installed certificate to /opt/gvm/var/lib/gvm/CA/clientcert.pem.
Removing temporary directory /tmp/tmp.gW57p1UV0s.

Konfigurasikan dan Perbarui Umpan (GVM)

Pertama, buat pengguna admin untuk mengakses antarmuka web GVM:

gvmd --create-user=admin --password=admin

Selanjutnya, cari UUID pengguna admin dengan perintah berikut:

gvmd --get-users --verbose

Anda akan mendapatkan output berikut:

admin 1288cbcf-23a0-407f-8013-b7a57acc5795

Selanjutnya, ubah pengaturan gvmd dengan UUID pengguna:

gvmd --modify-setting 78eceaec-3385-11ea-b237-28d24461215b --value 1288cbcf-23a0-407f-8013-b7a57acc5795

Selanjutnya, sinkronkan semua umpan greenbone dengan perintah berikut:

greenbone-feed-sync --type GVMD_DATA
greenbone-feed-sync --type SCAP
greenbone-feed-sync --type CERT

Instal gsa

Pertama, ubah direktori ke gsa, ekspor jalur konfigurasi dan buat direktori build dengan perintah berikut:

cd /opt/gvm/src/gsa 
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH
mkdir build

Selanjutnya, ubah direktori untuk membangun dan menginstal gsa dengan perintah berikut:

cd build/ 
cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make
make doc
make install

Selanjutnya, buat file log untuk gsa dengan perintah berikut:

touch /opt/gvm/var/log/gvm/gsad.log

Konfigurasi OSPD-OpenVAS

Pertama, ubah direktori ke src dan ekspor jalur konfigurasi dengan perintah berikut:

cd /opt/gvm/src 
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH

Selanjutnya, buat lingkungan virtual Python dengan perintah berikut:

virtualenv --python python3.8 /opt/gvm/bin/ospd-scanner/

Selanjutnya, aktifkan virtual environment dengan perintah berikut:

source /opt/gvm/bin/ospd-scanner/bin/activate

Selanjutnya, buat direktori untuk ospd dengan perintah berikut:

mkdir /opt/gvm/var/run/ospd/

Selanjutnya, ubah direktori ke ospd dan instal ospd dengan pip:

cd ospd 
pip3 install .

Selanjutnya, ubah direktori menjadi ospd-openvas dan instal ospd-openvas menggunakan perintah pip:

cd /opt/gvm/src/ospd-openvas
pip3 install .

Selanjutnya, keluar dari pengguna gvm dengan perintah berikut:

exit

Buat File Layanan Systemd untuk GVM, GSAD, dan OpenVAS

Pertama, buat file layanan systemd untuk gvmd dengan perintah berikut:

nano /etc/systemd/system/gvmd.service

Tambahkan baris berikut:

[Unit]
Description=Open Vulnerability Assessment System Manager Daemon
Documentation=man:gvmd(8) https://www.greenbone.net
Wants=postgresql.service ospd-openvas.service
After=postgresql.service ospd-openvas.service

[Service]
Type=forking
User=gvm
Group=gvm
PIDFile=/opt/gvm/var/run/gvmd.pid
WorkingDirectory=/opt/gvm
ExecStart=/opt/gvm/sbin/gvmd --osp-vt-update=/opt/gvm/var/run/ospd.sock
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
Restart=on-failure
RestartSec=2min
KillMode=process
KillSignal=SIGINT
GuessMainPID=no
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Simpan dan tutup file kemudian buat file layanan systemd untuk gsad dengan perintah berikut:

nano /etc/systemd/system/gsad.service

Tambahkan baris berikut:

[Unit]
Description=Greenbone Security Assistant (gsad)
Documentation=man:gsad(8) https://www.greenbone.net
After=network.target
Wants=gvmd.service


[Service]
Type=forking
PIDFile=/opt/gvm/var/run/gsad.pid
WorkingDirectory=/opt/gvm
ExecStart=/opt/gvm/sbin/gsad --drop-privileges=gvm
Restart=on-failure
RestartSec=2min
KillMode=process
KillSignal=SIGINT
GuessMainPID=no
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Simpan dan tutup file kemudian buat file layanan systemd untuk openvas dengan perintah berikut:

nano /etc/systemd/system/ospd-openvas.service

Tambahkan baris berikut:

[Unit]
Description=Job that runs the ospd-openvas daemon
Documentation=man:gvm
After=network.target [email protected]
[email protected]

[Service]
Environment=PATH=/opt/gvm/bin/ospd-scanner/bin:/opt/gvm/bin:/opt/gvm/sbin:/opt/gvm/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Type=forking
User=gvm
Group=gvm
WorkingDirectory=/opt/gvm
PIDFile=/opt/gvm/var/run/ospd-openvas.pid
ExecStart=/opt/gvm/bin/ospd-scanner/bin/python /opt/gvm/bin/ospd-scanner/bin/ospd-openvas --pid-file /opt/gvm/var/run/ospd-openvas.pid --unix-socket=/opt/gvm/var/run/ospd.sock --log-file /opt/gvm/var/log/gvm/ospd-scanner.log --lock-file-dir /opt/gvm/var/run/ospd/
Restart=on-failure
RestartSec=2min
KillMode=process
KillSignal=SIGINT
GuessMainPID=no
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Simpan dan tutup file kemudian muat ulang daemon systemd dengan perintah berikut:

systemctl daemon-reload

Selanjutnya, mulai semua layanan dan aktifkan untuk memulai pada sistem reboot dengan perintah berikut:

systemctl enable gvmd
systemctl enable gsad
systemctl enable ospd-openvas
systemctl start gvmd
systemctl start gsad
systemctl start ospd-openvas

Anda juga dapat memverifikasi status semua layanan dengan perintah berikut:

systemctl status gvmd
systemctl status gsad
systemctl status ospd-openvas

Ubah Pemindai Default

Pertama, masuk ke pengguna gvm dengan perintah berikut:

sudo su - gvm

Selanjutnya, dapatkan UUID pemindai dengan perintah berikut:

gvmd --get-scanners

Anda harus mendapatkan perintah berikut:

08b69003-5fc2-4037-a479-93b440211c73  OpenVAS  /var/run/ospd/ospd.sock  0  OpenVAS Default
6acd0832-df90-11e4-b9d5-28d24461215b  CVE    0  CVE

Sekarang, ubah pemindai default menggunakan UUID di atas:

gvmd --modify-scanner=08b69003-5fc2-4037-a479-93b440211c73 --scanner-host=/var/run/ospd/ospd.sock

Mengakses Antarmuka Web GVM

Pada titik ini, GVM diinstal dan mendengarkan pada port 80 dan 443. Anda dapat mengaksesnya menggunakan URL https://your-server-ip . Anda akan diarahkan ke halaman login GVM seperti di bawah ini:

Berikan nama pengguna, kata sandi admin Anda, dan klik Masuk tombol. Anda akan melihat dasbor GVM di halaman berikut:

Kesimpulan

Selamat! Anda telah berhasil menginstal dan mengatur GVM di server Ubuntu 20.04. Anda sekarang dapat menjelajahi GVM mulai memindai kerentanan sistem Anda. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.


Ubuntu
  1. Cara Menginstal dan Menggunakan MongoDB di Ubuntu 20.04

  2. Cara Menginstal dan Menggunakan Elasticsearch di Ubuntu 20.04

  3. Cara Menginstal dan Menggunakan PowerShell di Ubuntu 20.04

  1. Cara Menginstal dan Menggunakan Anggur di Ubuntu 20.04

  2. Cara Menginstal dan Menggunakan FFmpeg di Ubuntu 18.04

  3. Cara Menginstal dan Menggunakan Anggur di Ubuntu 18.04

  1. Cara Menginstal dan Menggunakan Curl di Ubuntu 18.04

  2. Cara Menginstal dan Menggunakan Curl di Ubuntu 20.04

  3. Cara Memasang dan Menggunakan Pemindai Kerentanan Vuls di Ubuntu 18.04 LTS