Skip to content

Installation

Koji Yamada edited this page Jun 1, 2023 · 24 revisions

S-TIP works with

  • Python 3.6+
  • MySQL 5.7+
  • MongoDB 4.0+
  • web server

The following installation process is for Ubuntu 16.04 LTS or higher.

We have confirmed that S-TIP also works on Ubuntu 18.04/20.04 LTS on AWS and MS Azure.

Create user "stip"

S-TIP runs as stip user by default.

  • create "stip" user & add it to "stip" group
$ sudo adduser --gecos "STIP user" stip
  • add "stip" user to "sudo"/"adm" groups
$ sudo gpasswd -a stip sudo
$ sudo gpasswd -a stip adm

Log in as the "stip" user.

$ su - stip

Install S-TIP common modules

Install to "/opt/s-tip" directory by default.

  • Clone git repository
$ sudo apt update
$ cd /home/stip
$ git clone https://github.com/s-tip/stip-common.git
  • Execute setup_common.sh (with sudo)
$ cd stip-common
$ sudo ./setup_common.sh

Install RS (Repository System)

  • Execute setup_rs.sh (with sudo)
$ sudo ./setup_rs.sh

For Ubuntu 16:

During installation, you are asked to set password for MySQL root. Set "root" as password at installation process.

(We recommend to change the password after all installation process)

For libssl1.1 configuration:

During installation, the following message may ask you to select Yes or No.

Select Yes for restarting services automatically.

Configuring libssl1.1:amd64
                                                                                                                  x
There are services installed on your system which need to be restarted when certain libraries, such as libpam,   x
libc, and libssl, are upgraded. Since these restarts may cause interruptions of service for the system, you      x
will normally be prompted on each upgrade for the list of services you wish to restart.  You can choose this     x
option to avoid being prompted; instead, all necessary restarts will be done for you automatically so you can    x
avoid being asked questions on each library upgrade.                                                             x
                                                                                                                 x
Restart services during package upgrades without asking?
<Yes> <No>

Initialize databases

During the message after "---- init MySQL ----", you will be asked to "Enter password" twice. Input "root" as the initial password.

The script will create initial DB info.

Change System Timezone (if needed)

S-TIP uses UTC as a default system timezone. If you would like to change it, open /opt/s-tip/.env and edit TIME_ZONE=UTC (i.e. TIME_ZONE=Asia/Tokyo)

Restart apache2

S-TIP uses 443, 8443, 8444, 10000, 10001 ports by default.

Restart apache2 service:

$ sudo service apache2 restart

Then you will be able to access RS login page.

https://[yourIPaddress]:10001

Log in with username admin and password admin.

We recommend changing the admin password. Change the password and login again.

Then you will see RS dashboard.

RS_dashboard.png

Install GV

  • Execute setup_gv.sh (with sudo)
$ sudo ./setup_gv.sh

Then restart apache2 service:

$ sudo service apache2 restart

Then you will be able to access GV login page.

https://[yourIPaddress]:10000

You will log in as admin user automatically with SSO (Single Sign-On).

GV_dashboard.png

Install SNS

  • Execute setup_sns.sh (with sudo)
$ sudo ./setup_sns.sh

Then restart apache2 service:

$ sudo service apache2 restart

Then you will be able to access the SNS login page.

https://[yourIPaddress]

You will log in as admin automatically with SSO (Single Sign-On).

SNS_dashboard.png

Congratulations! Let's move to the Tutorial page.

Install TXSv2 (TAXII v2 Server)

If you want to add TAXII v2 Server function, See the TAXII Server v2.

Install TXSv1 (TAXII v1 Server) (Option)

We recommend to use TAXII v2 server in S-TIP.

If you want to add TAXII v1 Server function, install opentaxii and link from RS. See the TAXII Server v1.

Trouble Shooting

  • six.moves.collection_abc error has occurred

    The following error is due to the cti-python-stix2 library.

    ModuleNotFoundError: No module named 'six.moves.collections_abc'
    

    Installing new version of stix2 upgrades six (>=1.13.0), then the error was solved.

    Try these commands below.

    pip3 install "stix2>=1.15.0"
    
  • mongodb under Ubuntu 22.04

If you fail to run setup_rs.sh under Ubuntu 22.04, please install libssl before apt install -y mongodb-org like below.

wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb
dpkg -i ./libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb
apt update
apt install -y mongodb-org

Modify .deb filename if wget fails.

  • supervisor under Ubuntu 22.04

If you get something wrong about supervisor on Ubuntu 22.04, please try to run apt command. It seems to be not installed supervisor via pip3 command.

sudo apt install supervisor

And, if you encountered the issue about gunicorn3, please install it.

sudo apt install -y gunicorn