LogoLogo
Back to binalyze.com
  • Welcome | Binalyze Knowledge Base
  • AIR
    • AIR
    • Introduction
      • What is AIR?
      • Terminology
      • Architecture
        • AIR Responder Architecture; overview and performance analysis
        • AIR Task Flow and Management
      • Network Communication
      • Cloud Forensics with Binalyze AIR
    • AIR Setup
      • Console Hardware Requirements
      • Console Pre-Installation
      • Console Installation
      • Microsoft Azure Cloud Platform Integration
      • AIR Relay Server
        • What is AIR Relay Server?
        • Requirements for installation
        • How to install a Relay Server on different Linux platforms
        • How to change IP address of Relay Server
        • How to install a Responder with Relay Server support
        • Proxy configurations
          • Adding proxy to Relay Server
          • Adding proxy to Responder
        • Service Management for Relay Server
        • Whitelisting for Relay Server
        • Retrieving metrics from Relay Server
        • Updating and Uninstalling Relay Server
        • Troubleshooting
      • AIR Responder - Supported Operating Systems
        • AIR Responder - MS Windows supported systems
        • AIR Responder - Apple macOS supported systems
        • AIR Responder - Linux (DEB/RPM) supported systems
        • AIR - ESXi Standalone Collector
        • AIR Responder - Chrome supported systems
          • AIR For Chrome
      • AIR Responder Hardware Requirements
      • AIR Responder Deployment
        • Golden Image
        • Responder & Active Directory OUs
        • AIR Responder Exception Rules
          • Binalyze AIR Watchdog Folder
        • FDA via Jamf and Apple’s PPPC utility
        • AIR Responder in Windows 'Safe Mode'
      • Uninstalling AIR Responders
      • Security
        • AIR Console Access Control
        • AIR SSL Enforcement
          • SSL Certificate Management in Binalyze AIR
        • Two-factor authentication (2FA)
      • Post-Deployment Configuration Guide
        • Using AIR CLI on Binalyze AIR Console
      • AIR's User Settings
    • Updating AIR
      • Single-Tier Systems
      • 2-Tier Systems
      • AIR Console Updating - SaaS
    • Backup
      • Restore AIR Backup using the CLI
    • Features
      • Acquisition
        • Task Creation
          • Regex in AIR/DRONE:
          • Asset Management with Persistent Saved Filters
          • Task Cancellation and Deletion
        • Acquisition Profiles
        • Supported Evidence
          • Windows Collections
          • macOS Collections
          • Linux Collections
          • IBM AIX Collections
        • Scheduling Tasks
        • Disk and Volume Imaging
          • Imaging with interACT
        • Chain Of Custody in AIR
      • Auto Tagging
      • Triage
        • Triage Rule Templates
          • YARA Templates
          • Sigma Templates
          • osquery Templates
        • Schedule Triage Tasks
      • interACT
        • interACT Commands
        • PowerShell commands in interACT
      • Compare
      • Timeline
      • Integrations
        • SSO Integrations
          • Microsoft Azure SSO Integration
          • Okta SAML 2.0 SSO Integration
        • Webhooks
          • Mattermost Integration
          • Splunk Integration
          • IBM QRadar Integration
          • Wazuh Integration
          • Cortex XSOAR Integration
          • Elasticsearch Logstash Kibana Integration
          • ServiceNow Integration
          • Sumo Logic Integration
          • Crowdstrike Integration
          • Microsoft Sentinel Integration
          • Slack Integration
          • Carbon Black Cloud Integration
          • Rapid7 InsightIDR Integration
          • LogicHub SOAR (DEVO) Integration
          • Fortigate SIEM Integration
          • Dynatrace Integration
          • Stellar XDR Integration
          • SentinelOne Integration
          • Microsoft 365 Defender Integration
          • Cisco XDR Integration
      • Event Subscription
      • AIR API
        • API in AIR is likely to be more effective than Webhooks
      • DRONE
        • What is DRONE?
        • What is an Analysis Pipeline?
        • Analyzers
          • Cross Platform Analyzers
            • MITRE ATT&CK Analyzer
              • MITRE ATT&CK Analyzer changelog
            • Dynamo Analyzer
            • Browser History Analyzer
            • Generic WebShell Analyzer
          • Windows Analyzers
            • Windows Event Records and how AIR handles them
              • Windows Event Logs in AIR v4.21 and older versions
              • Event Records Summary vs. Event Records
            • Prefetch Analyzer
            • Shellbag Data Fields
          • Linux Analyzers
          • macOS Analyzers
            • Audit Event Analyzer
      • AIR Investigation Hub
        • Using the AIR Investigation Hub
        • Investigation Hub – Data Usage Statistics Dashboard
      • AIR File Explorer
        • File Explorer - FAQs
      • Tornado (Preview Version)
        • Tornado Installation Guide
          • Tornado Operating System Support
        • Updating Tornado
        • Tornado demo video
        • Getting Started with Tornado
          • Tornado Terminology
        • Tornado Collectors
          • Accessing Google Workspace
            • Service Account Creation
              • Enable Service Account Key Creation
          • Access Modes in O365
            • O365 license types
        • Tornado Troubleshooting & Feedback
        • Tornado FAQs
      • Frank.AI
      • Asset Isolation
      • Evidence Repositories
      • Policies
      • Tags
      • Off-Network Responder
        • Setting Up a Custom Case Directory
        • biunzip
          • biunzip password file
      • Binalyze AIR Responder Proxy Support
      • Proxy Configuration on Binalyze AIR Console
      • Binalyze AIR Audit Logs
    • Troubleshooting
      • Binalyze AIR Console CPU Profiling for Performance Issues
      • Understanding MSI Error Code 1618
      • How to gather Binalyze AIR logs for Troubleshooting
        • Collecting Binalyze AIR Console Log Files
        • Collecting Binalyze AIR Responder Log Files
        • Collecting Binalyze AIR Off-Network Responder Log Files
    • FAQs
      • Binalyze AIR Console Migration Procedure For Single-Tier Setup
      • Binalyze AIR Console Migration Procedure For 2-Tier Installation
      • Binalyze AIR Console Backup Procedure
      • Resolving the “Invalid Host Header. Host must be the Console Address” Error
      • How to download the collected evidence and artifacts in Binalyze AIR?
      • How to gather Binalyze AIR logs for Troubleshooting
        • Collecting Binalyze AIR Console Log Files
        • Collecting Binalyze AIR Responder Log Files
        • Collecting Binalyze AIR Off-Network Responder Log Files
      • AIR responder troubleshooting
      • Understanding Port Usage in Binalyze AIR
      • How many assets can connect to a single Console instance?
      • How do I enable SSL on AIR?
      • Can I use AIR with EDR/XDR Products?
      • Can I integrate AIR with my SOAR/SIEM?
      • What (sub)domains are used by AIR?
      • Docker & Host System IP Conflict
      • Monitoring Responder and UI API's
      • How do I update AIR Console?
      • How do I update AIR Responders on assets?
      • How to reset the password of a user via the AIR-CLI?
      • Is there a way to move an asset from one Organization or Case to another?
      • Creating exclusions/exception rules for Binalyze AIR Responder on EPP and EDR Solutions
      • Anything missing?
      • How can I install a version of AIR that isn't the latest?
  • General
    • Licenses - Open-source Software List
Powered by GitBook
On this page
  • Supported Distributions (x64 only)
  • Deployment Models
  • Installation
  • Single-Tier Deployment
  • 2-Tier Deployment
  • Method 1: Quick Deployment (preferred method)
  • Method 2: Manual Deployment (use only when required)
  • Finalizing Setup

Was this helpful?

Export as PDF
  1. AIR
  2. AIR Setup

Console Installation

This article contains instructions on how to install the Binalyze AIR console using Docker and it also covers the models of deployment.

PreviousConsole Pre-InstallationNextMicrosoft Azure Cloud Platform Integration

Last updated 24 days ago

Was this helpful?

Supported Distributions (x64 only)

  • Debian Bookworm 12 (stable)

  • Debian Bullseye 11 (oldstable)

  • Ubuntu Lunar 23.04

  • Ubuntu Kinetic 22.10

  • Ubuntu Jammy 22.04 (LTS)

  • Ubuntu Focal 20.04 (LTS)

  • Red Hat Enterprise Linux 7 on s390x (IBM Z)

  • Red Hat Enterprise Linux 8 on s390x (IBM Z)

  • Red Hat Enterprise Linux 9 on s390x (IBM Z)

  • CentOS 7

  • CentOS 8 (stream)

  • CentOS 9 (stream)

  • Fedora 37

  • Fedora 38

For more details about Docker installation requirements, please visit:

Deployment Models

You can deploy AIR in one of two models:

Which deployment model to use?

The Single-Tier Model is the fastest way to deploy AIR and is recommended for, proof of concept (PoC), and testing purposes.

The Two-Tier Model is designed for all production environments and will support tens of thousands of assets/endpoints. This model includes the Console Server along with a separate dedicated Database Server, which enhances the overall performance of AIR at scale.

Our team is always available to collaborate with you to define the optimal setup.

Installation

Before you start

  • Make sure you have updated package repositories of the Operating System you are using. Please find below the commands for CentOS and Ubuntu:

For CentOS:

yum update

For Ubuntu:

apt-get update
  • Start and enable Docker service by executing the following command:

systemctl start docker && systemctl enable docker

Single-Tier Deployment

Suitable for PoCs, Demos, and non-mission-critical deployments.

This deployment model installs all components into a single machine.

Method 1: Quick Deployment (preferred method)

  1. Run the one-liner below and wait for it to complete.

    curl -fsSL https://cdn.binalyze.com/air-deploy/console.sh | sudo -E bash

Method 2: Manual Deployment (use only when required)

  1. Create a folder for the Binalyze AIR under /opt directory and cd into it

    mkdir /opt/binalyze-air && cd /opt/binalyze-air
  2. Download the docker-compose.yml file and save it.

    curl -fsSL "https://cdn.binalyze.com/air-deploy/docker-compose.yml" -o docker-compose.yml
  3. Create the directory for the database volume with defined access:

    install -d -o 1001 -g 1001 ./volumes/mongodb/bitnami/mongodb
    install -d -o 1001 -g 1001 ./volumes/data-master/binalyze-air/{data,log}
    install -d -o 1001 -g 1001 ./volumes/tornado/{data,config}
  4. Create environment variables:

    AIR_POSTGRESQL_PASSWORD=$(head /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 32)
    
    echo "AIR_POSTGRESQL_PASSWORD=$AIR_POSTGRESQL_PASSWORD" >> .env
    echo "AIR_POSTGRESQL_URI=postgresql://air-data:[email protected]:5432/airdb" >> .env
    echo "AIR_NATS_PASSWORD=$(head /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 32)" >> .env
  5. Run the following command to start the Binalyze AIR installation in Docker:

    docker compose -p binalyze-air up -d
  6. Wait for the installation to complete. It may take several minutes.

2-Tier Deployment

Suitable for Enterprise Deployments.

This deployment model requires you to first deploy the Database Component (Step 1). Once the database is successfully installed and running, you can proceed with the deployment of the Console Server (Step 2). During this step, you will need to provide the IP address of the previously installed Database Server. This sequence is critical, as the Console Server relies on an active and accessible database instance to function correctly.

Method 1: Quick Deployment (preferred method)

  1. Step 1 - On the Database Server: Run the one-liner command below and wait for it to complete (this script will deploy the database component).

    curl -fsSL https://cdn.binalyze.com/air-deploy/db.sh | sudo -E bash
  2. Step 2 - On the Console Server: Once the database is deployed, the above script will output the commands that need to be executed on the Console Server machine.

    • SSH into the Console Server machine.

    • Run the commands provided by the above script and wait for it to complete.

    • Proceed with the Finalizing Setup section.

Method 2: Manual Deployment (use only when required)

You should execute the commands below on the Database Server!

  1. SSH into the Database Server.

  2. Create a folder for the Binalyze AIR DB under /opt directory and cd into it

    mkdir /opt/binalyze-air-db && cd /opt/binalyze-air-db
  3. Download the docker compose.yml file and save it.

    curl -fsSL "https://cdn.binalyze.com/air-deploy/docker compose-db.yml" -o docker-compose.yml
  4. Create the directory for the database volume with defined access:

    install -d -o 1001 -g 1001 ./volumes/mongodb/bitnami/mongodb
    install -d -o 1001 -g 1001 ./volumes/data-master/binalyze-air/{data,log}
  5. Create environment variables.

    AIR_POSTGRESQL_PASSWORD=$(head /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 32)
    AIR_MONGODB_PASSWORD=$(head /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 32)
    
    echo "AIR_POSTGRESQL_PASSWORD=$AIR_POSTGRESQL_PASSWORD" >> .env
    echo "MONGODB_ROOT_PASSWORD=$AIR_MONGODB_PASSWORD" >> .env
  6. Run the following command to start the Binalyze AIR Database component in Docker:

    docker compose -p binalyze-air-db up -d
  7. Wait for the installation to complete. It may take several minutes.

  8. Proceed to the installation of the Console Server

You should execute the commands below on the Console Server!

  1. SSH into the Console Server

  2. Create a folder for the Binalyze AIR under /opt directory and cd into it

    mkdir /opt/binalyze-air && cd /opt/binalyze-air
  3. Download the docker-compose.yml file and save it

    curl -fsSL "https://cdn.binalyze.com/air-deploy/docker-compose-without-db.yml" -o docker-compose.yml
  4. Create the directory for the volume of the services with defined access:

    install -d -o 1001 -g 1001 ./volumes/tornado/{data,config}
  5. Set the database URI for connecting the Console Server to the DB IMPORTANT: You must fill in the values ​​of the following three variables. We need the passwords created on the DB server and the DB server IP address. You can find the passwords in the /opt/binalyze-air-db/.env file on the DB Server.

    AIR_POSTGRESQL_PASSWORD=
    AIR_MONGODB_PASSWORD=
    DB_SERVER_IP=
    
    echo "AIR_POSTGRESQL_URI=postgresql://air-data:$AIR_POSTGRESQL_PASSWORD@$DB_SERVER_IP:5432/airdb" >> .env 
    echo "AIR_MONGODB_URI=mongodb://root:$AIR_MONGODB_PASSWORD@$DB_SERVER_IP/airdb?authSource=admin" >> .env
    echo "AIR_NATS_PASSWORD=$(head /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 32)" >> .env
  6. Run the following command to start the Binalyze AIR installation in Docker

    docker compose -p binalyze-air up -d
  7. Wait for the installation to complete. It may take several minutes

Finalizing Setup

Regardless of the deployment model you chose, you will be asked for several configurations at the end of the deployment, such as an organization name, the credentials of the first user account, etc.

Once you have completed the above steps successfully, you should:

  1. Visit http://IP-ADDRESS for accessing the Console (IP address here is the public IP address of the machine you have deployed Binalyze AIR)

  2. Accept the EULA and provide the configuration you are asked for in each step

  3. Complete the setup and log in using the credentials you have provided

  4. Enjoy Binalyze AIR!

Checking the Health of Docker Containers

To ensure your Binalyze AIR deployment is functioning correctly, regularly checking the status of your Docker containers is crucial. Here’s how you can monitor and manage the health of your containers:

  1. Check Container Status:

    • Run the command sudo docker ps to list all active Docker containers. This command shows the current state of each container, helping you identify any that aren't running as expected.

  2. Recommended Method for Restarting Containers in Binalyze AIR

    • When restarting your Binalyze AIR containers, we recommend using the docker compose restart command instead of the docker compose down/up method.

    • The docker compose restart command allows you to restart all the containers without removing them, ensuring that important logs and state information are retained. This is crucial for effective troubleshooting, as it helps preserve valuable data that could provide insights into potential issues.

    • Additionally, the docker compose restart command is a faster and less disruptive option compared to using docker compose down/up. The down/up approach can result in data loss from container recreation, whereas docker compose restart avoids this by maintaining the containers' state.

    • By using the docker compose restart command, you help ensure logs remain intact, which can assist in resolving issues more efficiently.

Importance of Regular Checks

Regular monitoring and proactive management of your Docker containers help maintain the stability and reliability of your Binalyze AIR deployment. By keeping an eye on the container statuses and knowing how to quickly restart services, you can ensure continuous operational performance.

All platform components, such as App, Web, NATS, DB, and Redis, are installed and run on the same machine.

All components except the Database Layer are installed and run on a single instance, while the Database has its own dedicated instance.

Proceed with the .

Proceed with the .

Proceed with the

https://docs.docker.com/engine/install/
Single Tier Deployment
2-Tier Deployment
Finalizing Setup section
Finalizing Setup section
Finalizing Setup section