Installation on CentOS Stream 9

Quick install

After obtaining the License Key, please use the our interactive installation script to quickly install IDSTower:

$ curl -O https://download.idstower.com/install_script/1.0.7/install-IDSTower.sh
$ echo "c07445dd1a1579e9ace54761bf4c1506c5edc1fa66aad4af46c4037f27beafe7 install-IDSTower.sh" \
 | sha256sum -c -
$ bash install-IDSTower.sh -i

Manual install

Please follow the following steps to install IDSTower on CentOS Stream 9:

  1. Add IDSTower Yum repository

$ sudo bash -c 'cat > /etc/yum.repos.d/idstower.repo << EOF
[idstower]
name = IDSTower
baseurl = https://download.idstower.com/repos/yum/\$basearch/
enabled=1
gpgcheck=0
EOF'
  1. Add MariaDB (10.6) Yum repository

sudo bash -c 'source /etc/os-release && cat > /etc/yum.repos.d/mariadb.repo << EOF
[mariadb]
name = MariaDB
baseurl = https://archive.mariadb.org/mariadb-10.6/yum/rhel${VERSION_ID}$([[ "$(uname -m)" == "x86_64" ]] && echo "-amd64" || echo "-$(uname -m)")
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1
module_hotfixes=1
EOF'
  1. Install EPEL repository, MariaDB and IDSTower

$ sudo yum install epel-release -y
$ sudo yum install mariadb-server idstower -y
  1. Start MariaDB service

$ sudo systemctl enable mariadb.service
$ sudo systemctl start mariadb.service
$ sudo systemctl status mariadb.service
  1. (Recommended) Run mariadb-secure-installation Script

$ sudo /usr/bin/mariadb-secure-installation
  1. Edit the appsettings.json configuration file (located in: /opt/idstower/) and set the following settings

    • set the LicenseKey key value with the key you obtained from the license page.

    • set the URL key value with the url you want IDSTower to listen to, example: http://idstower.mydomain.local, this url must be reachable from your Suricata hosts, note that you can use ip addresses as well.

    • set the MySQL Database settings like host, port, database name, username & password via the Database key.

  2. run IDSTower with –init-database option to initialize the database:

$ cd /opt/idstower/
$ sudo ./IDSTower --init-database

Note

If you wish to initialize the database manually, you can find the schema initialization script here: https://download.idstower.com/packages/latest/sql_scripts/

You can easily import the script by running the following command:

$ sudo mysql -u [username] -p [DatabseName] < idstower_schema_script.sql
  1. Add an admin user to IDSTower:

$ sudo ./IDSTower -a [Your Admin Username]

example:

$ sudo ./IDSTower -a admin
  1. Enable & Start IDSTower Service

$ sudo chown -R idstower:idstower /var/log/idstower/*
$ sudo systemctl enable idstower.service
$ sudo systemctl start idstower.service
  1. Verify that IDSTower Service started correctly

$ sudo systemctl status idstower.service
  1. Make sure your firewall allows ports 80 & 443 (or the ports you are running IDSTower on):

$ sudo firewall-cmd --zone=public --permanent --add-service=http
$ sudo firewall-cmd --zone=public --permanent --add-service=https
$ sudo firewall-cmd --reload
  1. Now you can access IDSTower web interface using the url set in your appsettings.json