Ссылка на скачивание сформирована

Скачать
 

Спасибо что просмотрели рекламу перед тем как скачать, это очень помогает в поддерке и обслуживании сайта, оплате хостига.

 

Лучшая благодарность автора за его труд и мотивация на создание нового полезного контента это донат.

 
 
 

Спасибо всем не равнодушным.

Пожалуйста отключите AdBlock!

Мы обнаружили, что вы используете AdBlock или другое программное обеспечение, блокирующее рекламу.

 

Скачивание возможно только с просмотром рекламы. Реклама на сайте необходима как для обслужвания и оплаты хостинга, так и в качестве мотивационной состовляющей автора блога.

 

Пожалуйста, добавьте наш сайт в ваш белый список блокировщика объявлений или отлючите программное обеспечение, блокирующее рекламу.

Обновление Greenbone Vulnerability Management (GVM) на Debian 11 Bullseye

Опишу порядок действий по обновлению Greenbone Vulnerability Management (GVM) до актуальной версии.

Обновление GVM буду производить с версии 22.4.1 до 22.7.3 (самая актуальная на дату написания статьи). Все действия ниже будут выполняться от root.

 

Сперва останавливаем службы GVM:

systemctl stop notus-scanner
systemctl stop ospd-openvas
systemctl stop gvmd
systemctl stop gsad

 

Greenbone Security Assistant (GSA) требуется установленная версия NodeJS >= v18.x. В моем случае NodeJS была установлена версии v14.x., если у вас так же, то выполняем обновление NodeJS до v18.x.:

export NODE_VERSION=node_18.x
export KEYRING=/usr/share/keyrings/nodesource.gpg
export DISTRIBUTION="$(lsb_release -s -c)"

curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor | sudo tee "$KEYRING" >/dev/null
gpg --no-default-keyring --keyring "$KEYRING" --list-keys
echo "deb [signed-by=$KEYRING] https://deb.nodesource.com/$NODE_VERSION $DISTRIBUTION main" | sudo tee /etc/apt/sources.list.d/nodesource.list
echo "deb-src [signed-by=$KEYRING] https://deb.nodesource.com/$NODE_VERSION $DISTRIBUTION main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list

apt-get update && apt-get upgrade
node -v

 

Для удобства создадим каталог для размещения актуальных версий пакетов входящих в состав GVM и скачиваем исходников пакетов и распаковываем их:

mkdir -p /opt/update
cd /opt/update/

export GVM_LIBS_VERSION=$(curl -s https://api.github.com/repos/greenbone/gvm-libs/releases/latest | grep -Po '"tag_name":.*?[^\\]",' | awk '{print $2}' | sed  's/^..\(.*\)..$/\1/')
export GVMD_VERSION=$(curl -s https://api.github.com/repos/greenbone/gvmd/releases/latest | grep -Po '"tag_name":.*?[^\\]",' | awk '{print $2}' | sed  's/^..\(.*\)..$/\1/')
export PG_GVM_VERSION=$(curl -s https://api.github.com/repos/greenbone/pg-gvm/releases/latest | grep -Po '"tag_name":.*?[^\\]",' | awk '{print $2}' | sed  's/^..\(.*\)..$/\1/')
export GSA_VERSION=$(curl -s https://api.github.com/repos/greenbone/gsa/releases/latest | grep -Po '"tag_name":.*?[^\\]",' | awk '{print $2}' | sed  's/^..\(.*\)..$/\1/')
export GSAD_VERSION=$(curl -s https://api.github.com/repos/greenbone/gsad/releases/latest | grep -Po '"tag_name":.*?[^\\]",' | awk '{print $2}' | sed  's/^..\(.*\)..$/\1/')
export OPENVAS_SMB_VERSION=$(curl -s https://api.github.com/repos/greenbone/openvas-smb/releases/latest | grep -Po '"tag_name":.*?[^\\]",' | awk '{print $2}' | sed  's/^..\(.*\)..$/\1/')
export OPENVAS_SCANNER_VERSION=$(curl -s https://api.github.com/repos/greenbone/openvas-scanner/releases/latest | grep -Po '"tag_name":.*?[^\\]",' | awk '{print $2}' | sed  's/^..\(.*\)..$/\1/')
export OSPD_OPENVAS_VERSION=$(curl -s https://api.github.com/repos/greenbone/ospd-openvas/releases/latest | grep -Po '"tag_name":.*?[^\\]",' | awk '{print $2}' | sed  's/^..\(.*\)..$/\1/')
export NOTUS_VERSION=$(curl -s https://api.github.com/repos/greenbone/notus-scanner/releases/latest | grep -Po '"tag_name":.*?[^\\]",' | awk '{print $2}' | sed  's/^..\(.*\)..$/\1/')

echo $GVM_LIBS_VERSION
echo $GVMD_VERSION
echo $PG_GVM_VERSION
echo $GSA_VERSION
echo $GSAD_VERSION
echo $OPENVAS_SMB_VERSION
echo $OPENVAS_SCANNER_VERSION
echo $OSPD_OPENVAS_VERSION
echo $NOTUS_VERSION

curl -f -L https://github.com/greenbone/gvm-libs/archive/refs/tags/v$GVM_LIBS_VERSION.tar.gz -o gvm-libs-$GVM_LIBS_VERSION.tar.gz
curl -f -L https://github.com/greenbone/gvmd/archive/refs/tags/v$GVMD_VERSION.tar.gz -o gvmd-$GVMD_VERSION.tar.gz
curl -f -L https://github.com/greenbone/pg-gvm/archive/refs/tags/v$PG_GVM_VERSION.tar.gz -o pg-gvm-$PG_GVM_VERSION.tar.gz
curl -f -L https://github.com/greenbone/gsa/archive/refs/tags/v$GSA_VERSION.tar.gz -o gsa-$GSA_VERSION.tar.gz
curl -f -L https://github.com/greenbone/gsad/archive/refs/tags/v$GSAD_VERSION.tar.gz -o gsad-$GSAD_VERSION.tar.gz
curl -f -L https://github.com/greenbone/openvas-smb/archive/refs/tags/v$OPENVAS_SMB_VERSION.tar.gz -o openvas-smb-$OPENVAS_SMB_VERSION.tar.gz
curl -f -L https://github.com/greenbone/openvas-scanner/archive/refs/tags/v$OPENVAS_SCANNER_VERSION.tar.gz -o openvas-scanner-$OPENVAS_SCANNER_VERSION.tar.gz
curl -f -L https://github.com/greenbone/ospd-openvas/archive/refs/tags/v$OSPD_OPENVAS_VERSION.tar.gz -o ospd-openvas-$OSPD_OPENVAS_VERSION.tar.gz
curl -f -L https://github.com/greenbone/notus-scanner/archive/refs/tags/v$NOTUS_VERSION.tar.gz -o notus-scanner-$NOTUS_VERSION.tar.gz

tar -xvzf gvm-libs-$GVM_LIBS_VERSION.tar.gz && mv gvm-libs-$GVM_LIBS_VERSION gvm-libs
tar -xvzf gvmd-$GVMD_VERSION.tar.gz && mv gvmd-$GVMD_VERSION gvmd
tar -xvzf pg-gvm-$PG_GVM_VERSION.tar.gz && mv pg-gvm-$PG_GVM_VERSION pg-gvm
tar -xvzf gsa-$GSA_VERSION.tar.gz && mv gsa-$GSA_VERSION gsa
tar -xvzf gsad-$GSAD_VERSION.tar.gz && mv gsad-$GSAD_VERSION gsad
tar -xvzf openvas-smb-$OPENVAS_SMB_VERSION.tar.gz && mv openvas-smb-$OPENVAS_SMB_VERSION openvas-smb
tar -xvzf openvas-scanner-$OPENVAS_SCANNER_VERSION.tar.gz && mv openvas-scanner-$OPENVAS_SCANNER_VERSION openvas-scanner
tar -xvzf ospd-openvas-$OSPD_OPENVAS_VERSION.tar.gz && mv ospd-openvas-$OSPD_OPENVAS_VERSION ospd-openvas
tar -xvzf notus-scanner-$NOTUS_VERSION.tar.gz && mv notus-scanner-$NOTUS_VERSION notus-scanner

# Собираем и устанавливаем пакет — gvm-libs (GVM Libraries)

cd gvm-libs
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DSYSCONFDIR=/etc -DLOCALSTATEDIR=/var
make
make install
cd ../..

# Собираем и устанавливаем пакет — gvmd (Greenbone Vulnerability Manager)

cd gvmd
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DLOCALSTATEDIR=/var -DSYSCONFDIR=/etc -DGVM_DATA_DIR=/var -DGVMD_RUN_DIR=/run/gvmd -DOPENVAS_DEFAULT_SOCKET=/run/ospd/ospd-openvas.sock -DGVM_FEED_LOCK_PATH=/var/lib/gvm/feed-update.lock -DSYSTEMD_SERVICE_DIR=/lib/systemd/system -DDEFAULT_CONFIG_DIR=/etc/default -DLOGROTATE_DIR=/etc/logrotate.d
make
make install
cd ../..

# Собираем и устанавливаем пакет — pg-gvm

cd pg-gvm
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
make install
cd ../..

# Собираем и устанавливаем пакет — gsa (Greenbone Secuirty Assistant)

cd gsa
rm -rf build
yarn
yarn build

mkdir -p /usr/local/share/gvm/gsad/web
cp -rv  build/* /usr/local/share/gvm/gsad/web

cd ..

# Собираем и устанавливаем пакет — gsad (Greenbone Security Assistant Daemon)

cd gsad
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DSYSCONFDIR=/etc -DLOCALSTATEDIR=/var -DGVMD_RUN_DIR=/run/gvmd -DGSAD_RUN_DIR=/run/gsad -DLOGROTATE_DIR=/etc/logrotate.d
make
make install
cd ../..

# Собираем и устанавливаем пакеты — openvas-smb

cd openvas-smb
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release
make
make install
cd ../..

# Собираем и устанавливаем пакеты — openvas-scanner

cd openvas-scanner
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DINSTALL_OLD_SYNC_SCRIPT=OFF -DSYSCONFDIR=/etc -DLOCALSTATEDIR=/var -DOPENVAS_FEED_LOCK_PATH=/var/lib/openvas/feed-update.lock -DOPENVAS_RUN_DIR=/run/ospd
make
make install
cd ../..

# Устанавливаем — ospd-openvas

cd ospd-openvas
python3 -m pip install . --prefix=/usr/local --no-warn-script-location
cd ..

# Устанавливаем — notus-scanner

cd notus-scanner
python3 -m pip install . --prefix=/usr/local --no-warn-script-location
cd ..

# Устанавливаем — greenbone-feed-sync

python3 -m pip install --prefix=/usr/local --no-warn-script-location greenbone-feed-sync

# Устанавливаем —  gvm-tools

python3 -m pip install --prefix=/usr/local --no-warn-script-location gvm-tools

 

После обновления пакетов, создаем необходимые каталоги и применяем права доступа:

mkdir -p /run/notus-scanner
mkdir -p /run/gvmd

chown -R gvm:gvm /run/gvmd
chown -R gvm:gvm /run/notus-scanner
chown gvm:gvm /usr/local/sbin/gvmd
chmod 6750 /usr/local/sbin/gvmd

 

# Перезагружаем демон systemd

systemctl daemon-reload

# Выполняем миграцию базы данных на актуальную версию:

sudo -u gvm gvmd --migrate

# Выполняем синхронизацию.

sudo -u gvm greenbone-feed-sync

 

# Запускаем службы и выводим их статус для проверки что все успешно запустилось.

ldconfig

systemctl start notus-scanner
systemctl start ospd-openvas
systemctl start gvmd
systemctl start gsad

systemctl status notus-scanner
systemctl status ospd-openvas
systemctl status gvmd
systemctl status gsad

 

Прошу обратить внимание что порядок обновления может не сработать, если с момента написания статьи разработчики GVM внесли какие то координальные изменения в систему. Но думаю что в рамках 22.x.x версии должно все проходить по описанному сценарию. В противном случае нужно смотреть на ошибки в процессе сборки пакетов.

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА ДОНАТОМ

Оставьте комментарий

пять × 4 =