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.

After the installation you will have created a single data node TOS cluster to which you can add additional worker nodes. There is no need to install TOS on any additional nodes. Worker nodes require an operating system only.

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.

Follow the steps below in sequence.

Prerequisites

General Requirements

  • This procedure must be performed by an experienced Linux administrator with knowledge of network configuration.

  • To ensure optimal performance and reliability, the required resources need to always be available for TOS. If resources become unavailable, this will affect TOS performance. Do not oversubscribe resources.

  • Verify that you have sufficient resources (CPUs, disk storage and main memory) to run TOS Aurora. The required resources are determined by the size of your system. See Sizing Calculation for a Clean Install.

  • IP tables version 1.8.5 and above. IP tables must be reserved exclusively for TOS Aurora and cannot be used for any other purpose. During installation, any existing IP tables configurations will be flushed and replaced.

  • If you have made a previous unsuccessful attempt to install TOS Aurora, you must uninstall and reboot before reinstalling (see Uninstalling TOS)

  • The TOS installation removes all TOS files, directories and backups left on the machine from old deployments. If you have any files you want to keep, move them to a safe external location before starting this procedure.

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

  • 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.

    If you need assistance, consult with your sales engineer or Tufin support.

Operating System Requirements

    • Disks: 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.

    • Partitions:

      You need to configure a separate partition for /opt, a separate disk for etcd, and the OS 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:

      • OS disk: 300 GB

      • /opt/ (small): 80 GB

      • /opt/ (medium): 170 GB

      • /opt/ (Large): 370 GB

      • etcd: 128 GB

      *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 OS disk and moved etcd to a separate disk.

    • Secure boot must be disabled.

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

  • Network Requirements

    • 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

    • The iptables must be 1.8.6 or later.
    • 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.

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

    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. The AMI must include Logical Volume Management (LVM), which is required to enlarge the volumes.

    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. The wireguard version must match the operating version you are installing.

    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

    Dowload TOS Aurora

    1. Run the tmux command.

      [<ADMIN> ~]$ tmux new-session -s TOS-Install
      tmux new-session -s TOS-Install
    2. Create the directory /opt/misc/, if it does not exist already.

    3. Go to /opt/misc/.

    4. Go to the Download Center and click the TOS R24-1 PHF4.1.0 installation file.

    5. Select how you want to download the installation package: Download to Computer or Copy link (valid for 10m).

    6. If you copied the link, run the following command within ten minutes:

      curl -o [Name the file].run.gz  “<LINK>”
      curl -o [Name the file].run.gz  “<LINK>”

      Where <LINK> is the link you copied from the Download Center.

      Make sure the server can download from https://tosportaldownloads.tufin.com.

    7. If you downloaded to the computer, copy the compressed file from your local computer to the server.

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

    9. [<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
    10. 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
    11. The run file name includes the release, version, and build number.

      TOS file example: R24-1-pga0.0-final-4577.run

    Deploy the Install File

    1. Run the TOS Aurora run file.

      [<ADMIN> ~]$ sudo sh <runfile>
      sudo sh <runfile>
    2. 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
    3. Run the install command, replacing the parameters:

      • <MODULE-TYPE> with one of the following values:

        • ST for SecureTrack only
        • ST, SC for both SecureTrack and SecureChange
        • RC for a remote collector
      • <SERVICE-CIDR> with the CIDR you want TOS Aurora to use for the Kubernetes service network, as described in Prerequisites
      • <PODS-CIDR> (Optional) with the CIDR you want to use for the Kubernetes pods network, as described in Prerequisites. The default pods network is 10.244.0.0/16

      • <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> --pod-network=<PODS-CIDR> --load-model=<LOAD> -d
      sudo tos install --modules=<MODULE-TYPE> --primary-vip=external --services-network=<SERVICE-CIDR> --pod-network=<PODS-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

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

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

      [<ADMIN> ~]$ exit
      exit
    6. 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.

    7. 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

    For every FortiManager device you intend to monitor, add a SAN signed certificate.

    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

    To include accountability and rule usage information in TOS Aurora you must configure your devices to send syslogs. For more information see Sending Additional Information via Syslog.

    Adding Worker Nodes to Your Cluster

    TOS Aurora is 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)

    To setup TOS redundancy across sites, see Disaster Recovery.

    Sending Cluster Health Status to Tufin

    Enabled by default, system information is sent periodically to Tufin Support for the purpose of troubleshooting and identifying performance issues. It can be disabled (see Sending Cluster Health Status). The information includes:

    • DB status and size

    • Backup status

    • Kubernetes status and metrics

    • CPU metrics

    • Memory status

    • I/O

    It does not include IP addresses, personal user information, or device information. All the information sent is encrypted and is accessible only to Tufin support teams.

    The information is sent to Tufin from TOS users' browsers to the Tufin sub-domain mailbox.tufin.com, therefore requests from user browsers to this sub-domain must be allowed.

    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 installed SecureChange:

    1. Go into SecureChange by one the following means:

      • Sign in to TOS with the URL given previously and then select SecureChange from the app launcher.

      • Sign in directly to SecureChange by entering https://<IP>/tufinapps/securechange in the browser.

    2. Configure the DNS.

      1. Go to Settings > Miscellaneous.

      2. Delete the default value that appears in the field Server DNS name. 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.

    3. Additional setup that can be done now or later:

      • Internal SSO Authentication. Internal SSO is enabled by default when TOS is installed, giving user access to all TOS components using the same credentials - SecureTrack, SecureChange, SecureApp, and extensions. When disabled, there is no connection between a SecureTrack user and SecureChange user with the same name.
      • Mail server connection
      • LDAP directory connection to use LDAP user accounts
      • Local users and user roles
      • Subsequent password changes can be made from the command line , see SecureChange Command Line Reference.
      • Change access to SecureTrack from SecureChange

        1. Go to Settings > SecureTrack:

        2. Change the default SecureTrack administrator. For SecureChange to access SecureTrack data, a SecureTrack administrator must be specified. By default this is the predefined user 'Admin' and everything will work fine if you leave it as it is. However, if you want a different user, create a new administrator and enter the user name. If you have already configured multi-domain management, this user can be either a super administrator or multi-domain administrator, depending on whether you want to restrict the administrator to selected domains.

        3. Remove link to SecureTrack . By default you can go from SecureChange to SecureTrack by selecting the SecureTrack link in the app launcher. If you want to remove this option, unmark the checkbox.

        4. Change connection check interval. The default value for the frequency of SecureChange testing connectivity to SecureTrack can be changed if desired.

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

        6. Click Refresh license status. This will ensure that SecureTrack and SecureChange share the highest level of connectivity.

        7. Click Save.