Try AlgoBot

AlgoSec AlgoBot is your personal security policy management assistant. AlgoBot provides quick and easy access to core ASMS functionality from the comfort of your organization's existing chat platforms, including Desktop, Web, or Mobile options. AlgoBot is supported for Slack, Microsoft Teams, and both online and on-premises versions of Skype for Business.

To deploy AlgoBot, first install AlgoBot on your chat platform, and then on your ASMS server.

AlgoBot prerequisites and deployment configurations

As a Chat Bot, AlgoBot has to be notified of any new messages that the users may send over one of the supported chat platforms. To integrate AlgoBot with your organization's chat platforms, your system must meet the following prerequisites:

Internet access

The ASMS server must be able to access the internet and the chat platform servers. Unauthenticated proxies are supported if needed.

For details, see the diagrams below: AlgoBot with no proxy | AlgoBot with a proxy

Permissions You must have administrator privileges and access to authorize AlgoBot on your chat platform.
DNS The ASMS Central Manager must be configured with DNS.
Installation files To obtain AlgoBot installation files, contact AlgoSec support.

Back to top

Install AlgoBot on Slack

Install AlgoBot on your Slack workspace to chat with AlgoBot on Slack. You must be a Slack Administrator to perform this procedure.

Do the following:

  1. Click this link to Slack or navigate to https://lyfwzqae36.execute-api.us-west-1.amazonaws.com/production/slack/ to install AlgoBot on Slack.

  2. Click Add to Slack. You are prompted to authorize the AlgoSec Slack App.
  3. Click Allow.

    AlgoBot is authorized on Slack, and the following keys and values are displayed:

    • BOT_TOKEN
    • BOT_ID
  4. Click Export to CSV to download these values and save them for later use.

Continue with Install AlgoBot on the ASMS server.

Back to top

Install AlgoBot on Microsoft Teams

Use the Microsoft App Studio app to install AlgoBot on Teams.

Do the following:

  1. On Microsoft Teams, AlgoBot must use webhooks to be notified about new messages.

    Use one of the following options to configure AlgoBot to accept webhook tunnels from the internet:

  2. Install AppStudio to your Teams server from https://aka.ms/InstallTeamsAppStudio.
  3. Extract the algobot-<version #>.zip file you downloaded from the AlgoSec portal, and locate the microsoft-teams-manifest.zip file.

    Note: In this filename, the <version> value may change with each AlgoBot update.

  4. In Microsoft Teams, in the App Studio app, do the following:

    1. Click the Manifest Editor tab.
    2. Click Import an existing app, and select the microsoft-teams-manifest.zip file.
    3. Select the newly imported algobot app.
  5. Click Capabilities > Bots > Set up. On the New bot tab, do the following:

    1. In the Name field, enter AlgoBot.
    2. In the Scope area, select the Personal, Team, and Group Chat options.
    3. Click Create bot.

    A new bot ID value is displayed. Copy it and save it for later.

  6. In the App Passwords section on the Bots tab, click Generate New Password.

    Copy the generated password and save it for later.

    Note: This password is used by Microsoft to cryptographically sign incoming messages, and by AlgoBot to authenticate the source of incoming messages.

  7. In the Messaging Endpoint section on the Bots tab, update the URL used to access AlgoBot via webhooks.

    For example, if you created a ngrok tunnel using ngrok .com, the Messaging Endpoint will be similar to the following:

    https://0a065b29d1e6.ngrok.io

  8. Click Finish > Test and Distribute, and then click Install.
  9. By default, AlgoBot is installed only for you. Enable the Add to a team option, and select your team to make AlgoBot available for everyone.

Continue on this page with Install AlgoBot on the ASMS server.

Back to top

Install AlgoBot on Skype for Business

AlgoBot supports both the online and on-premises versions of Skype for Business.

Skype online

Navigate to Welcome to AlgoBot Installation Skype For Business version, and follow the instructions.

Note: After completing step 1, you will have a file named algobot-s4b-ucwa-credentials.json.

Save this file on the ASMS server, in the /home/afa/algobot/ directory before continuing.

Skype on-premises

Do the following:

  1. On your Skype for Business on-premises server, create a user for AlgoBot, with a username and password. An Admin user is required for this step.
  2. Disable external communication for the AlgoBot user, as AlgoBot will be available on Skype as all other users in the organizaiton.
  3. Log in to Skype for Business as AlgoBot.

Note the AlgoBot username and password for later use.

Once complete, continue with Install AlgoBot on the ASMS server.

Back to top

Install AlgoBot on the ASMS server

After installing AlgoBot on your chat platform, install AlgoBot on your ASMS server, and connect the two installations.

Do the following:

  1. Browse to the AlgoSec Portal and navigate to Downloads > Software > AlgoSec AlgoBot. Click .
  2. Use any standard SFTP tool to place the downloaded zip file on the ASMS Central Manager, in the /tmp directory.
  3. Log on to your Central Manager via SSH, as user root.
  4. To extract the installation files, run:

    unzip /tmp/algobot-<version #>.zip -d /home/afa

    where the <version> value differs with with each AlgoBot update.

    The following responses appear:

    Archive: /tmp/algobot-<version #>.zip creating: /home/afa/algobot/

    inflating: /home/afa/algobot/algobot-version.txt inflating: /home/afa/algobot/algobot

  5. Navigate into the AlgoBot directory, and start setting up AlgoBot by running:

    ./algobot <platform> --config

    where <platform> is one of the following, depending on your chat platform:

    • Slack: slack
    • Microsoft Teams: microsoft-teams
    • Skype for Business: s4b-online or s4b-onprem
  6. Follow the on-screen instructions and enter the details as needed.

    You saved some of these details when you performed the procedures above:

    Note: Some values have defaults already configured. To use the default value, press ENTER when relevant.

    Some steps will prompt you for optional configurations, as follows:

    Note: To support multiple AlgoBot instances running a the same time, supporting multiple chat platforms, run AlgoBot using a separate configuration file. For more details, see Run multiple AlgoBot instances on a single machine.

    AlgoBot is now installed on your ASMS server and connected to your chat platform.

  7. Start AlgoBot as a background process by running:

    ./algobot <platform>&

AlgoBot is up and running, and ready for chatting! For details, see Chat with AlgoBot.

Back to top

Chat with AlgoBot

Chat with AlgoBot to run traffic simulations, submit change requests, analyze application impact, and more!

  • Enter @algobot help to view a full list of available commands and requests.
  • Send direct messages to AlgoBot from your chat platform. If there are more than the two of you in the chat, use the @algobot prefix so that AlgoBot knows you're talking to it.
  • Language support: If you’re typing in English, German, French, or Portuguese, AlgoBot will attempt to recognize the language and reply in kind. By default, AlgoBot replies in English.

  • Invite AlgoBot to any of your Slack channels. Once invited, AlgoBot listens to all commands you send to @algobot.

Note: Make sure that you have run an analysis in AFA before using AlgoBot. AlgoBot needs AFA data to be able to help you!

For example:

Back to top

AlgoBot maintenance and advanced configurations

The following sections describe how to maintain and troubleshoot your AlgoBot installation, as well as additional configurations.

Logs and configuration files

AlgoBot log files are created under ~/algobot, usually defined as /home/afa/algobot.

A set of log and configuration files are saved for each chat platform, with the platform name, such as slack, as part of the filename.

Each set includes the following files:

algobot-<platform>.conf The configuration data generated as part of the installation and configuration process.
algobot-<platform>.log

General logs, commands, and errors. If you need to contact AlgoSec support in reference to AlgoBot, support may request this file.

utilization-<platform>.log A synthesized, clear log of the commands used in AlgoBot for analytics purposes.

Upgrade AlgoBot

To update an existing AlgoBot installation, do the following:

  1. Replace the existing AlgoBot run file on the Central Manager with the new one provided by AlgoSec.
  2. Perform steps 1-3 in Install AlgoBot on the ASMS server.

No additional configuration is required.

Run multiple AlgoBot instances on a single machine

To support multiple AlgoBot instances running a the same time, supporting multiple chat platforms, run AlgoBot using the following syntax:

./algobot --config-path /some/path.conf

where /some/path.conf is the path and filename of a separate configuration file. When run using this syntax, the CLI prompts you to create the defined configuration instead of the default.

For example:

algobot slack --config-path /path/to/config1 algobot slack --config-path /path/to/config2

Alternately, use the linux alias command to match each AlgoBot instance with a name and easy-to-run command.

For example:

alias algobot-team1=”~/algobot/algobot slack --config-path /path/to/config1” alias algobot-team2=”~/algobot/algobot slack --config-path /path/to/config2”

Then, run algobot-team1 to launch this instance.

Back to top