Agents

An agent in sslbrain is a set of scripts that knows how to install a certificate on a specific platform. When sslbrain deploys a certificate to a server, it is an agent that does the actual work: imports the certificate, configures the web server and restarts services as needed.


Built-in Agents

sslbrain ships with agents for the most common platforms. All built-in agents are maintained and updated by FairSSL and tested against each new version before release.

36 agent packages. The catalog matches the 36 agent packages in sslbrain-agents and is reused across the website.

Windows and Microsoft

16 agent packages

PowerShell-based agents for Windows Server, IIS, Exchange, SQL Server, and Microsoft infrastructure.

AgentPlatformPackageTypeDescription
Windows IIS 8+IIS 8.0+ on Windows Server 2012+iis8plusFairSSLInstalls and binds certificates on IIS websites.
IIS Web ServerIIS sites and bindingswindows-iisFairSSLDiscovers IIS sites and manages certificate deployment to web bindings.
IIS Central Certificate StoreIIS Central Certificate Storewindows-ccsFairSSLDeploys PFX files to CCS with hostname-based file naming.
Microsoft Exchange 2013-2019Exchange Server 2013, 2016, and 2019exchange2013-2019FairSSLReplaces certificates across mail and client access services.
Microsoft ExchangeExchange Server certificates and serviceswindows-exchangeFairSSLDiscovers Exchange certificates and manages certificate installation for Exchange services.
Windows SQL ServerMicrosoft SQL Serverwindows-sqlFairSSLBinds certificates to SQL Server instances and validates TLS.
Windows ADFSActive Directory Federation Serviceswindows-adfsFairSSLRotates ADFS service communications and SSL certificates.
Windows Certificate AuthorityActive Directory Certificate Serviceswindows-caFairSSLUpdates AD CS certificates with verification and rollback.
Web Application ProxyMicrosoft Web Application Proxywindows-wapFairSSLRotates WAP certificates globally or per application.
Windows Remote DesktopRemote Desktop Serviceswindows-rdpFairSSLKeeps RDP endpoints on the right certificates.
Windows SSL/TLS BindingsHTTP.sys and netsh bindingswindows-netshFairSSLControls SSL/TLS bindings for services using HTTP.sys without IIS.
Windows Certificate StoreWindows Local Machine certificate storewindows-cert-installFairSSLInstalls PFX certificates into the Windows Certificate Store.
Windows ServerGeneral Windows Server inventorywindows-osFairSSLDiscovers Windows certificates and handles general PFX deployment.
Dynamics NAV / Business CentralMicrosoft Dynamics NAV and Business Centralnavbc-windowsFairSSLManages TLS bindings for NAV/BC service instances.
Milestone XProtectMilestone XProtect on Windowswindows-milestoneFairSSLRotates certificates for Milestone XProtect installations.
Veeam Backup & ReplicationVeeam Backup & Replicationwindows-veeamFairSSLManages certificate deployment to Veeam Backup & Replication.

Linux and services

7 agent packages

SSH-based agents for web servers, mail, databases, and Linux ACME workflows.

AgentPlatformPackageTypeDescription
NginxNginx over SSHnginx-sshFairSSLDiscovers server blocks, deploys certificates, and validates reloads.
ApacheApache 2.4+ over SSHapache-sshFairSSLHandles VirtualHost discovery, certificate files, and service reloads.
HAProxyHAProxy over SSHhaproxy-sshFairSSLBuilds PEM bundles and reloads HAProxy after validation.
Apache TomcatTomcat over SSHtomcat-sshFairSSLUpdates PKCS12/JKS keystores and restarts relevant services.
PostfixPostfix SMTP over SSHpostfix-sshFairSSLDeploys SMTP certificates and validates Postfix configuration.
DovecotDovecot IMAP/POP over SSHdovecot-sshFairSSLUpdates Dovecot TLS configuration with rollback support.
PostgreSQLPostgreSQL over SSHpostgresql-sshFairSSLInstalls TLS certificates with correct ownership and path handling.

Cloud certificate stores

3 agent packages

CLI/API-based agents for certificates in cloud platforms.

AgentPlatformPackageTypeDescription
AWS Certificate ManagerAWS ACM via AWS CLIaws-acm-apiFairSSLImports and tracks certificates in AWS Certificate Manager.
Azure Key VaultAzure Key Vault via Azure CLIazure-keyvault-apiFairSSLManages certificates in Key Vault with Azure CLI.
Google Cloud Certificate ManagerGoogle Cloud Certificate Manager via gcloud CLIgcloud-certmanager-apiFairSSLAutomates certificate updates in Google Cloud Certificate Manager.

Appliances, networking, and virtualization

8 agent packages

Agents for load balancers, firewalls, storage, NAS, and VMware environments.

AgentPlatformPackageTypeDescription
Citrix NetScaler / ADCNetScaler / ADC via NITRO APInetscaler-apiFairSSLUpdates cert/key pairs and vserver bindings.
Cisco Secure Firewall Device ManagerCisco Secure Firewall Threat Defense via FDM APIcisco-fdm-apiFairSSLDiscovers certificate inventory and binding surfaces on FDM-managed Cisco firewalls.
Kemp LoadMasterKemp LoadMaster via REST API v2kemp-loadmasterFairSSLManages certificates on Kemp LoadMaster load balancers.
pfSensepfSense over SSHpfsense-sshCommunityReplaces firewall and webGUI certificates on pfSense.
Synology DSMSynology DSM via Web APIsynology-dsm-apiFairSSLManages NAS certificates through the DSM API.
NetApp ONTAPONTAP via REST APInetapp-ontap-apiFairSSLRotates certificates on NetApp ONTAP clusters.
VMware vCentervCenter Server via REST APIvmware-vcenter-apiFairSSLReplaces vCenter management certificates.
VMware ESXiStandalone ESXi hosts over SSHvmware-esxi-sshFairSSLUpdates host certificates on standalone ESXi hypervisors.

Custom agents

2 agent packages

Templates for custom Linux and Windows platforms.

AgentPlatformPackageTypeDescription
Custom Linux Certificate DeploymentArbitrary Linux servicescustom-linuxCommunityTemplate for file-based deployment on custom Linux services.
Custom Windows Certificate DeploymentArbitrary Windows servicescustom-windowsCommunityTemplate for certificate store or file-based deployment on Windows.

Windows Service Agent

The Windows Service Agent is a lightweight MSI package installed on Windows servers. It pulls signed tasks from sslbrain via outbound HTTPS, so no open ports or WinRM configuration is required.

Deploy via GPO, SCCM or Intune. Ideal for environments with strict firewall rules.


Community Agents

Community agents are written by users and shared with all sslbrain installations. Each community agent is:

  1. Submitted by a user
  2. Reviewed by FairSSL for security and quality
  3. Signed with FairSSL's ECDSA P-384 key
  4. Made available to all sslbrain installations

Community agents cover platforms not covered by the built-in agents, e.g. Postfix, HAProxy, Tomcat, Synology or specific cloud services.

You can find community agents in sslbrain under Agents > Community. Install them with a single click.

Share a community agent

Have you built an agent that could be useful to others? Share it:

  1. Open your custom agent in sslbrain
  2. Click Share with community
  3. The agent is sent to FairSSL for review

Once the agent is approved and signed, it becomes available to all sslbrain installations via Agents > Community.

Tip: We will contact you if we have questions or improvement suggestions during the review.


Custom Agents

If you have a platform not covered by either built-in or community agents, you can build your own.

sslbrain has a GUI editor for custom agents. For simple setups (e.g. copy certificate to a specific path and restart a service) no programming is needed. The editor guides you through the steps.

For more advanced needs, you can write agent scripts directly in YAML format.

GUI editor

Step-by-step wizard. No programming needed. Choose actions from a menu.

YAML editor

Full control over agent logic. Write YAML directly with all available actions and variables.


YAML Format

An agent is defined in an agent.yml file. Here is a simple example that copies a certificate and key to a server and restarts a service:

agent.yml
name: my-custom-agent
description: Installs certificate for my application
platform: linux

steps:
  - name: Copy certificate
    action: write_file
    path: /etc/myapp/tls/cert.pem
    content: "{{ certificate_pem }}"
    mode: "0644"

  - name: Copy private key
    action: write_file
    path: /etc/myapp/tls/key.pem
    content: "{{ private_key_pem }}"
    mode: "0600"

  - name: Restart application
    action: run_command
    command: systemctl restart myapp

verify:
  - name: Check TLS connection
    action: tls_check
    host: localhost
    port: 443

Variables such as {{ certificate_pem }} and {{ private_key_pem }} are replaced automatically by sslbrain during deployment.

Available variables

Variable Contents
certificate_pem The certificate in PEM format
private_key_pem The private key in PEM format
chain_pem The certificate chain (intermediate CA) in PEM format
fullchain_pem Certificate + chain combined in PEM format

Available actions

Action Description
write_file Write content to a file with specified permissions
run_command Run a command on the server
tls_check Verify TLS connection to host:port

You can create and test custom agents directly in sslbrain's GUI editor under Agents > Custom > New agent.


Code Signing

Security is central to agents, because they are executed with elevated privileges on your servers.

All agents (built-in, community and custom) are signed:

Aspect Detail
Signature format ECDSA P-384 per file
Signing process Physical touch of a YubiKey is required for each signing. No automatic batch signing.
Verification The sslbrain server and Windows Service Agent verify the signature before execution. Invalid signatures are rejected.

Note: If FairSSL has signed an agent, a human has reviewed the code and physically approved the signing. There is no way around that step.

Custom agents you create yourself are signed with your installation's local key. They can only be executed on servers connected to your sslbrain instance.