You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

Introduction

Kiuwan on premise installer is a powerful tool that suits multiple environment scenarios:

  • Single-host full contained installation.
  • Multi-host installation where infrastructure services are externalized.
  • Multi-host installation where kiuwan services are distributed (only AWS environments supported so far).
  • Any combination of the two previous scenarios.

Depending on your needs, a different installation approach will be needed. Check this installation guide for details on how to proceed and find the solution that best fits your requirements.

System requirements

Installation requirements

It is mandatory for any host where a Kiuwan on premises service is installed to meet this requirements:

  • Linux distribution
  • Linux kernel version 3.10 or higher
  • Connectivity to SMTP Mail Server.
  • Internet connectivity during the installation process.
  • Installing user must be root or have sudo privileges.

These software is also needed:

  • Docker CE >=19.03.2
  • Docker-compose >= 1.24.1
  • Java Runtime Environment >=8
  • Openssl >= 1.0.2
  • Unzip
  • GNU tar

Please follow Docker official recommendations when installing Docker. These URLs describe the installation process for different Linux distributions:

We also recommend using the target installation hosts exclusively for Kiuwan services. If you plan running other containers than Kiuwan's in a single-host installation, please make sure that non of them is using the following network:

172.172.0.0/16

Needed internet connections

Please make sure your host machines have connection to this servers when installing Kiuwan on premises:

HostNeeded whenPurpose
https://hub.docker.comInstallingThis is the main Docker server where the needed images will be pulled from.
https://static.kiuwan.comInstallingThis is Kiuwan's static content server, needed by the installer to download needed resources.
https://api.kiuwan.com

You own a Kiuwan on premises Insights license, both for installing and running

This is Kiuwan's central API endpoint, needed to update Insights vulnerabilities database.

CPU and memory minimum requirements

The following table shows the minimum requirements for each service. Note that these are only minimum requirements. You should take care of giving each service enough resources depending on your system demands.

ServiceMemoryCPU cores
wildfly-f[n]2GB2 cores
wildfly-a[n]2GB2 cores
wildfly-s[n]2GB2 cores
mysql5GB4 cores
loadbalancer1GB1 core
redis_0000[n]2GB2 cores

Note: CPU clock speed and disk speed will affect overal response time. 

With the configuration above a system with the following load should give continuous service without problems:

  • Parallel processing of 2 analyses (any additional parallel analysis request will be enqueued, and it will be executed as soon as any of the running analyses finishes)
  • 50 concurrent web users or REST API calls.

Given the table above, for a single-host installation where no service is externalized the minimum system requirements are:

  • 14GB of RAM and a processor with 8 cores for Kiuwan on premises.

It is recommended that you overscale these characteristics for the OS to have resources available for itself.

The Kiuwan on premise installation tool (kiuwan-cluster)

Kiuwan on premise installation process is carried out by our "kiuwan-cluster" tool.

The tool is provided as a tar.gz file. The following table summarizes the resources you will find once the tool distribution is extracted:

ResourcePurpose
/config/volumes.propertiesConfiguration file to set where your persistent volumes will reside.
/docker/*.shAdvanced shell scripts to interact with your Kiuwan on premise installation.
/logsThe folder where the tool will write installation logs.
/sslTools that ease the certificate creation to keep Kiuwan on premise under a secure environment.
/user-contentThe folder where you will have to put some resources the installation process will need.
/volumesThe base persistent volumes (that may be copied to different locations depending on your installation needs).

*.sh

Main shell scripts to interact with your Kiuwan on premise installation.

The following sections will guide you through the installation process.

Installation: common steps

This guide will reference two important folders:

  • [INSTALL_DIR]: where the installation tool (kiuwan-cluster) will be located.
  • [VOLUMES_DIR]: where the persistent volumen will be located.

Sometimes this folders will be referenced inside command line examples. Please make sure you replace any of them with the needed real path.

Note that it is up to you where this folders will be located.

Step 1: download kiuwan-cluster

The first step is to download kiuwan-cluster, the Kiuwan on premises installation tool. It can be downloaded directly from a terminal like this:

wget https://static.kiuwan.com/download/onpremise/kiuwan-cluster.tar.gz

This will download to the current directory the latest available installation tool.

Step 2: untar kiuwan-cluster

Once downloaded you should untar the provided gz file:

tar xvzpf kiuwan-cluster_master.tar.gz

This will untar the installation tool to a folder with extended version information of the tool. For example:

/home/user/kiuwan-cluster_master.XXXX-2.8.YYMM.V

This folder will be referred to as [INSTALL_DIR] through this guide.

Step 3: copy license files

In order to be able to start a Kiuwan on premises installation, you will need two license files:

  • configq1.zip
  • license.zip

Copy these files to the user-content folder of your installation tool directory (please replace [INSTALL_DIR] with the real location of your installation directory):

cp configq1.zip [INSTALL_DIR]/user-content
cp configq1.zip [INSTALL_DIR]/user-content

Step 4: download and copy the needed driver version for MySQL

Kiuwan on premise needs this exact MySQL driver:

mysql-connector-java-5.1.39-bin.jar

You can download it by executing this command:

wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.39.tar.gz

Copy the downloaded jar file to the user content folder:

cp mysql-connector-java-5.1.39.tar.gz [INSTALL_DIR]/user-content

Step 5: initialize your volumes

The installation tool comes with the base volumes to boot a first installation of Kiuwan on premises. We provide three volumes:

  • config-shared: contains the base configuration, shared between different services.
  • data-shared: contains the base data structure, shared between different services.
  • data-local: contains the base data structure, independent for each service.

Copy the provided volumes to a location of your desire:

cp -rp [INSTALL_DIR]/volumes/config-shared [VOLUMES_DIR]/config-shared
cp -rp [INSTALL_DIR]/volumes/data-shared [VOLUMES_DIR]/data-shared
cp -rp [INSTALL_DIR]/volumes/data-local [VOLUMES_DIR]/data-local

Take note of the locations you choose for each volume. You will need these paths for the next installation step.

Step 6: configure the created volume paths

Edit the file located in [INSTALL_DIR]/config/volumes.properties and set the previous paths to each property:

config.shared=[VOLUMES_DIR]/config-shared
data.shared=[VOLUMES_DIR]/data-shared
data.local=[VOLUMES_DIR]/data-local

Please remember that [VOLUMES_DIR] here is just a placeholder for the real path you chose.

Step 7: configure your email server

Kiuwan needs an working and accessible e-mail server to send notifications.

Edit with your favourite editor the main configuration file, found in your [VOLUMES_DIR]:

vim [VOLUMES_DIR]/config-shared/globalConfig.properties

Note that this is the file located in your [VOLUMES_DIR], not in the [INSTALLER_DIR], which only contains the base volumes.

Edit the following properties under the section named "Kiuwan instances shared configuration":

  • kiuwan.mail.host: the host of your email server.

  • kiuwan.mail.port: the port of your email server.

  • kiuwan.mail.username: the username to use when authenticating with your email server.

  • kiuwan.mail.password: the password to use when authenticating with your email server.

  • kiuwan.mail.from: the email account to use as the sender.

  • kiuwan.default.mail.account: the email account to set to your default Kiuwan user.

Installation: single-host and minimum configuration

Follow this section if you want to proceed and install Kiuwan on premise with no further customization.

The defaults will install Kiuwan on premise with these characteristics:

  • Single-host installation, including this services (see System architecture for more details):
    • loadbalancer
    • 1 kiuwan front instance
    • 1 kiuwan analyzer instance
    • 1 kiuwan scheduler instance
    • mysql
    • redis
  • HTTPS support when accessing Kiuwan and between the loadbalancer and kiuwan instances.
  • Kiuwan on premises deployed in the default domain (https://kiuwan.onpremise.local).

If this is enough for you, just continue with the following steps.

Step 1: deploy user content

On a terminal, navigate to the [INSTALL_DIR] folder and execute this command:

sudo ./deploy-user-content.sh

This will copy the user-content files to the configured volumes and set the needed permissions.

Step 2: install Kiuwan on premises

On a terminal, navigate to the [INSTALL_DIR] folder and execute this command:

sudo ./install.sh

This will:

  • Download and run the needed Docker images.
  • Install the database resources for Kiuwan on premises.
  • Download the latest available Local Analyzer, Engine and Kiuwan for Developers to make them available in your installation.
  • Install the engine data in your Kiuwan on premises database.
  • Autogenerate the needed configuration for each kiuwan instance.
  • Run all the needed containers.

Once the installation is finisished please refere to the

Installation: advanced configuration

 

Installation: externalizing services

 

Installation: clustered environments

Accessing Kiuwan on premises

Single host and minimum configuration

Custom hosts

 

 

  • No labels