Clean Install of TOS Aurora on AWS

Overview

This procedure is for the clean installation of TOS Aurora on the AWS platform. To add a node to an existing cluster, see Adding a Node on AWS. For all other installation and upgrade options, see Installing and Upgrading.

Tufin Orchestration Suite (TOS Aurora) includes SecureTrack, SecureChange and SecureApp. You will specify the applications you want to enable, when you run the install command.

Tufin Orchestration Suite should be treated as high-risk security resource, similar to how you would treat any LDAP product (for example, Active Directory). Therefore, you should only install Tufin Orchestration Suite in an appropriately secured network and physical location, and only authorized users should be granted access to TOS products and the operating system on the server.

High Availability (HA)

High availability is not supported in this release.

Remote Collectors (RCs)

Remote collectors can be deployed on AWS.

Procedure

Read and understand Prerequisites before you start.

Download and extract the installation package.

Follow the steps below in sequence.

Prerequisites

  • You must know the resources you will need - CPU cores, RAM, disk space and the load-model parameter to use in the install command, all of which can be obtained from your account team, based on the procedure Calculate resources - clean install.

  • All resources need to be dedicated to the TOS Aurora machine. Do not use shared CPU or memory and if the datastore is shared, the disk performance must meet the requirements at all times.

  • Do not install any software on your server before or after the deployment of TOS Aurora that is not specified in the current procedure.

  • Allocate a 24-bit CIDR subnet for the Kubernetes service network and a16-bit CIDR subnet for the Kubernetes pods network (10.244.0.0/16 is used by default).

    The pods and services networks must be inside the following private networks: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16. In addition, ensure that the dedicated CIDR for the service network and pods network don't overlap with:

    • Each other

    • The physical addresses of your TOS Aurora servers (see below)

    • Your external load balancer IP(s)

    • Any other subnets communicating with TOS or with TOS nodes

  • Select a storage type of SSD. Take into consideration that TOS requires 7,500 IOPS and the throughput expected will average 250MB/s with bursts of up to 700MB/s.

  • You will need to allow access to required Ports and Services.
  • DNS hostnames must be enabled on your VPC - see Modify the DNS attributes for your VPC (Amazon official documentation)

  • Once TOS Aurora has been installed, changing the host name or IP address will require reinstalling - see Changing IP Address/Host Names. If you want to change the host name of the node, do so before running the tos install command.

  • Partitions:

    You need to configure a separate partition for /opt, a separate disk for etcd, and the boot disk needs at least 300 GB of available storage. The /opt partition will contain your data, which will increase over time. Most of your available disk space should be allocated to this partition and the minimum is determined by the load model parameter (small, medium, large) provided by your account team. Minimum sizes for all partitions:

    Minimum Partition Sizes

    Boot disk

    /opt/

    (Small)*

    /opt/

    (Medium)*

    /opt/

    (Large)*

    etcd

    Central cluster / remote cluster primary data node / HA data nodes 300 GB 80 GB 170 GB 370 GB 128 GB
    Worker node (central and remote clusters) 150 GB 70 GB 70 GB 70 GB N/A

    *Small, medium and large refer to the load model parameter provided by your account team.

    We recommend allocating /opt partition all remaining disk space after you have partitioned the boot disk and etcd.

  • If you are using NFS, your backup server needs to be running NFS 4.

Downloads

  • Download the TOS R23-2 PHF3.2.0 installation package from the Download Center.

  • The downloaded files are in .tgz format <FILENAME>.tgz.

Launch the Instance

For additional help, refer to the official AWS documentation - Create your EC2 resources and launch your EC2 instance.

  1. In your AWS console, navigate to EC2 > Instances > Launch Instances.

  2. In the Name and tags pane, enter the name of the instance.

  3. In the Application and OS Images pane, choose an Amazon Machine image (AMI) from the AWS Marketplace. The AMI needs to be for:

    • Red Hat Enterprise Linux 8.10

    • Rocky Linux 8.10

    If you select Red Hat, it must be 'Red Hat Enterprise Linux Server Standard'. Other Linux distributions and versions are not supported.

  4. In the Instance type pane, select an instance type that meets your CPU and RAM resource requirements (see Prerequisites section).

  5. In the Key pair (login) pane, select or create a key pair to securely connect to your instance.

  6. In the Network Settings pane, click Edit, and enter/select the following details:

    • Network: The VPC you are using with this instance

    • Subnet: The subnet you are using with this instance

    • Auto-assign public IP: Select Disable.

    • Firewall (security groups): Create a new security group, or select an existing security group that you want to use to control the traffic to your instance.

  7. In the Configure Storage pane:

    1. Click Add new volume.

    2. For each volume, enter/select the following:

      • 300

      • General purpose SSD (gp3)

    3. Click the Advanced link, and set the IOPS, Throughput, and Encryption for each volume. Take into consideration that TOS requires 7,500 IOPS and the throughput expected will average 250MB/s with bursts of up to 700MB/s.

      The encryption should match your company's security policy.

  8. Click Launch Instance.

  9. (Optional) We recommend changing the permissions of the .pem file downloaded to your PC to prevent unauthorized users from running it. If your PC is running on a Linux-like operating system, run the command:

    [<ADMIN> ~]# chmod 400 <pem_key_name>
    chmod 400 <pem_key_name>
  10. When required, log in to the instance as follows:

    [<ADMIN> ~]# ssh -i <pem_key_name> <awsuser>@<IP>
    ssh -i <pem_key_name> <awsuser>@<IP>

    where

    • <pem_key_name> is the name of the .pem file downloaded previously from the AWS console

    • <awsuser> is the name of your AWS user

    • <IP> is its private or public IP

Create Target Groups

Target Ports

After launching the instance, you need to create a target group for the ports you are going to need. These ports are listed in the Target column in the table below. The target groups are rules that redirect traffic to the load balancer.

Protocol

Source

Target

Purpose

TCP 443 31443

Mandatory

TCP 61617 31617

Remote collector connectivity

TCP 9099 31099

OPM devices

TCP 8443 31843

Remote collector connectivity

TCP

9090

31090

Remote collector connectivity

TCP

6514

31514

TCP syslogs

UDP 514 30514

UDP syslogs

UDP 161 30161

SNMP monitoring

UDP 10161 31161

SNMP monitoring

Create a Target Group

Repeat this procedure for each port you need.

  1. In your AWS console, navigate to EC2 > Target Groups.

  2. Click Create target group.

    The Step 1 - Specify group details tab appears.

  3. Enter/select the following:

    • Target type: IP addresses

    • Target group name: A name of your choice

    • Protocol/Port: The protocol and target port . For example: UDP / 30514

    • VPC: The VPC you have defined previously

    • IP Address Types: IPv4

    • Health checks: TCP

  4. Click Next.

    The Step 2 - Register Targets tab appears.

  5. Enter details:

    • IPv4 address: The IP address of the instance created previously

    • Ports: The target port you entered above.

  6. Click Include as pending below.

  7. Click Create target group.

Create a Load Balancer

The load balancer you create is going to have listeners - one for each of the target group ports from the previous section.

  1. In your AWS console, navigate to EC2 > Load Balancers.

  2. Click Create Load Balancer.

  3. Click Create for Network Load Balancer.

  4. Enter/select details:

    • Load balancer name: A name of your choice

    • Scheme: Internal

    • VPC: The VPC you are using with the instance.

  5. Select the relevant availability zones and subnets you are using.

  6. Add a listener for each target port.

    To add a listener,

    1. Enter/select:

      • Protocol: Protocol. For example: UDP

      • Port: Source port. For example: 514

      • Target group: Name of the appropriate group created in Create Target Groups.

    2. Click Add listener.

  7. Click Create load balancer.

    The load balancer will be added to the list of load balancers

  8. Select the newly created load balancer from the list of load balancers and note the DNS name. This will be the URL of TOS Aurora when it is installed.

Configure Partitions

If not done already, set up partitions according to the Prerequisites.

Configure The Operating System

  1. If you are not currently logged in as user root, do so now.

    [<ADMIN> ~]$ su -
    su -
  2. If you want to change the host name or IP of the machine, do so now. Once TOS Aurora has been installed, changing the host name or IP address will require reinstalling - see Changing IP Address/Host Names. To change the host name, use the command below, replacing <mynode> with your preferred name.

    [<ADMIN> ~]# hostnamectl set-hostname <mynode>
    hostnamectl set-hostname <mynode>
  3. Modify the environment path to run TOS CLI commands without specifying the full path (/usr/local/bin/tos).

    [<ADMIN> ~]# echo 'export PATH="${PATH}:/usr/local/bin"' | sudo tee -a /root/.bashrc > /dev/null
    echo 'export PATH="${PATH}:/usr/local/bin"' | sudo tee -a /root/.bashrc > /dev/null
  4. Synchronize your machine time with a trusted NTP server. Follow the steps in Configuring NTP Using Chrony.

  5. Configure the server timezone.

    [<ADMIN> ~]# timedatectl set-timezone <timezone>
    timedatectl set-timezone <timezone>

    where <timezone> is in the format Area/Location. Examples: America/Jamaica, Hongkong, GMT, Europe/Prague. List the time-zone formats that can be used in the command.

    [<ADMIN> ~]# timedatectl list-timezones
    timedatectl list-timezones
  6. Upgrade the kernel:

    [<ADMIN> ~]# dnf upgrade
    dnf upgrade
  7. Disable SELinux:

    • If file /etc/selinux/config exists, edit and change the value of SELINUX to disabled:

      SELINUX=disabled
    • If the file doesn't exist or SELINUX is already set to disabled, do nothing.
  8. Reboot the machine and log in.
  9. Install Wireguard. This is needed to encrypt communication between nodes (machines) within the cluster.

  10. [<ADMIN> ~]# sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
    sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
    [<ADMIN> ~]# sudo yum install kmod-wireguard wireguard-tools
    sudo yum install kmod-wireguard wireguard-tools
  11. Reboot the machine and log in.
  12. Install tmux and rsync:

    [<ADMIN> ~]# dnf install -y rsync tmux
    dnf install -y rsync tmux
  13. Disable the firewall:

    [<ADMIN> ~]# systemctl stop firewalld
    systemctl stop firewalld
    [<ADMIN> ~]# systemctl disable firewalld
    systemctl disable firewalld
  14. Create the TOS Aurora load module configuration file /etc/modules-load.d/tufin.conf. Example using vi:

    [<ADMIN> ~]# vi /etc/modules-load.d/tufin.conf
    vi /etc/modules-load.d/tufin.conf
  15. Specify the modules to be loaded by adding the following lines to the configuration file created in the previous step. The modules will then be loaded automatically on boot.

    br_netfilter
    wireguard
    overlay
    ebtables
    ebtable_filter
    br_netfilter wireguard overlay ebtables ebtable_filter
  16. Load the above modules now:

    [<ADMIN> ~]# cat /etc/modules-load.d/tufin.conf |xargs modprobe -a 
    cat /etc/modules-load.d/tufin.conf |xargs modprobe -a

    Look carefully at the output to confirm all modules loaded correctly; an error message will be issued for any modules that failed to load.

  17. Check that Wireguard has loaded correctly.

    [<ADMIN> ~]# lsmod |grep wireguard
    lsmod |grep wireguard

    The output will appear something like this:

    wireguard              201106  0
    ip6_udp_tunnel         12755  1 wireguard
    udp_tunnel             14423  1 wireguard
    

    If Wireguard is not listed in the output, contact support.

  18. Create the TOS Aurora kernel configuration file /etc/sysctl.d/tufin.conf. Example using vi:

    [<ADMIN> ~]# vi /etc/sysctl.d/tufin.conf
    vi /etc/sysctl.d/tufin.conf
  19. Specify the kernel settings to be made by adding the following lines to the configuration file created in the previous step. The settings will then be applied on boot.

    net.bridge.bridge-nf-call-iptables = 1
    fs.inotify.max_user_watches = 1048576
    fs.inotify.max_user_instances = 10000
    net.ipv4.ip_forward = 1
    net.bridge.bridge-nf-call-iptables = 1 fs.inotify.max_user_watches = 1048576 fs.inotify.max_user_instances = 10000 net.ipv4.ip_forward = 1
  20. Apply the above kernel settings now:

    [<ADMIN> ~]# sysctl --system
    sysctl --system
For maximum security, we recommend only installing official security updates and security patches for your Linux distribution, as well as the RPMs specifically mentioned in this section.

Mount The etcd Database on a Separate Volume

The etcd database should be on a separate volume to improve the stability of TOS Aurora and reduce latency. Moving the etcd database to a separate volume ensures that the kubernetes database has access to all the resources required to ensure an optimal TOS performance.

See Move etcd - New AWS Instance.

Install TOS Aurora

Deploy the Install File

  1. On the target machine, create the directory /opt/tufin/data, if it does not exist already.

  2. Transfer the run file (already downloaded and extracted) to the /opt/tufin/data directory.

  3. Verify the integrity of the TOS installation packages by entering the following commands and comparing the output with the checksum information.

  4. [<ADMIN> ~]$ sha256sum tos-xxxx-xxxxxxxx-final-xxxx.run.tgz
    sha256sum tos-xxxx-xxxxxxxx-final-xxxx.run.tgz
    [<ADMIN> ~]$ sha1sum tos-xxxx-xxxxxxxx-final-xxxx.run.tgz
    sha1sum tos-xxxx-xxxxxxxx-final-xxxx.run.tgz
  5. Extract the TOS run file from its archive.

    [<ADMIN> ~]$ tar -xvzf tos-xxxx-xxxxxxxx-final-xxxx.run.tgz
    tar -xvzf tos-xxxx-xxxxxxxx-final-xxxx.run.tgz
  6. Run the TOS Aurora run file.

    [<ADMIN> ~]$ sudo cd /opt
    sudo cd /opt
    [<ADMIN> ~]$ sudo sh <runfile>
    sudo cd /opt sudo sh <runfile>
  7. You must have permissions to execute TOS CLI commands. Grant permissions as shown below or allow use of sudo command.

    [<ADMIN> ~]# chmod +x /usr/local/bin/tos
    chmod +x /usr/local/bin/tos

Start the Install

  1. Run the tmux command:

    [<ADMIN> ~]$ sudo tmux new-session -s install
    sudo tmux new-session -s install
  2. Run the install command, replacing the parameters:

    • <SERVICE-CIDR> with the CIDR you want TOS Aurora to use for the Kubernetes service network, as described in Prerequisites
    • <MODULE-TYPE> with one of the following values:

      • ST for SecureTrack only
      • ST, SC for both SecureTrack and SecureChange
      • RC for a remote collector
    • <LOAD> with the load-model parameter value obtained from your account team as described in Prerequisites.
    [<ADMIN> ~]$ sudo tos install --modules=<MODULE-TYPE> --primary-vip=external --services-network=<SERVICE-CIDR> --load-model=<LOAD> -d
    sudo tos install --modules=<MODULE-TYPE> --primary-vip=external --services-network=<SERVICE-CIDR> --load-model=<LOAD> -d

    Example:

    # sudo tos install --modules=ST,SC --primary-vip=external --services-network=10.10.10.0/24 --load-model=medium -d

  3. The EULA is displayed. After reading, enter 'q' to exit the document and then enter 'y' to accept the EULA and continue until the command completes.

  4. You can now safely exit the CLI tmux session:

    [<ADMIN> ~]$ exit
    exit
  5. Go to the TOS Aurora login page by going to the URL of the load balancer DNS in your browser. You can see it in the AWS console by selecting the load balancer, looking under Description at the section Basic Configuration. There you can copy the DNS name and paste it into your browser.

  6. Log in with user=admin, password=admin. If a warning message is shown regarding the site security certificate, 'accept the risk' and continue to the site. You will be prompted to set a new password.

Post-Install Configuration

SSL Certificates

Secured connections to TOS Aurora require a valid SSL certificate. Such a certificate is generated during the installation. It is automatically renewed when it expires and also when upgrading to later versions of TOS Aurora. When connecting for the first time after certificate renewal, you will be prompted to accept the new certificate. You can also use your own CA signed certificate, but such certificates will not be renewed automatically.

SAN Certificates

If you have FortiManager devices in SecureTrack, add a SAN signed certificate to each device.

License Activation

Relevant only for central clusters, skip for remote collectors.

After the license is activated, have all TOS users enable the automatic license mechanism in their browser. For more information, see Site Usage Monitoring.

Using Syslog for Accountability and More

You can use syslog to send accountability and other information from your devices to SecureTrack - see Sending Additional Information via Syslog. If you want to use this feature and you have installed TOS on-premise, you must also set up a Syslog VIP Address.

Adding Worker Nodes to Your Cluster

TOS Aurora is now deployed as a single node Kubernetes cluster. See Multi-Node Cluster for more information about adding additional nodes.

Setting up External Backups

We recommend setting up backups on external storage.

Setting up Scheduled Backups

We recommend creating a backup policy as soon as possible.

DR (Disaster Recovery)

If you want to use the DR feature to setup TOS redundancy across sites, see Disaster Recovery.

TOS Monitoring

TOS Monitoring lets you monitor the status of the TOS cluster and its nodes by generating a notification whenever a change in status occurs, such as a node failing, or a usage threshold reached, such as CPU or disk usage. We recommend that you set up TOS notifications in TOS Monitoring (see TOS Monitoring).

Additional Configuration

A number of additional parameters can be set now or later e.g. session timeout and SNMP - see Configuring TOS.

SecureChange Settings

Relevant only for central clusters; skip for remote collectors.

If you have SecureChange:

  1. If you are not already logged in to SecureTrack, log in now.
  2. Create a new SecureTrack administrator user that SecureChange and SecureApp will use to get SecureTrack information. If you have already configured multi-domain management, make this user either a super administrator or multi-domain administrator, depending on whether you want to restrict the administrator to selected domains.

  3. Sign into SecureTrack.

    • Using SSO: From R22-1, TOS uses Single Sign-On (SSO) authentication method by default.

      1. Log into TOS.

      2. For your first login session, you must change your password:

      3. You are automatically logged into SecureTrack. To log into SecureChange, type https://<IP>/securechangeworkflow or https://<IP>/tufinapps/securechange in the browser URL, where <IP> is the cluster VIP or external load-balancer IP.

    • Not using SSO:

      1. For your first login session, you must change your password. SecureChange users are separate from SecureTrack users; there is no connection between a SecureTrack user and SecureChange user with the same name.

      2. In this prompt window, you can also enter an email address for administrative email notifications. We recommend using the address of an email list so you can easily edit the list of recipients.

      3. Login to SecureChange at https://<IP>/securechangeworkflow or https://<IP>/tufinapps/securechange where <IP> is the cluster VIP or external load-balancer IP, with your admin credentials.

  4. Go to Settings > Miscellaneous.

  5. Enter a value for Server DNS name - the DNS server to use for links in email notifications. This can be an IP address in the format 11.22.33.44 or a FQDN in the format https://mydomain.com. The SecureChange DNS name is published by SecureChange so it can be accessed from external sources. For example, it is embedded in notification mails sent by SecureChange, which include a link to a ticket, such as an email notifying a handler assigned with a task, or informing a requester that the ticket has been successfully resolved.

  6. Go to Settings > SecureTrack:

    1. Enter the SecureTrack administrator username, created previously.

    2. If you want a link from SecureChange to SecureTrack and from SecureTrack to SecureChange, select Show link to SecureTrack. These two links will appear in the applications icon menu in both systems:

    3. If you want to change how often SecureChange tests its connectivity to SecureTrack, change the value of Connection check interval.

    4. Click Test connection to verify that SecureChange has a connection to SecureTrack.

    5. Click Refresh license status so that SecureTrack and SecureChange share the highest level of connectivity.

    6. Click Save.

  7. Additional setup can be done now or later: