defguard
  • Welcome
  • Getting help
  • About
    • About defguard
    • Features overview
  • Getting started
    • One-line install script
  • Admin Features
    • Overview
    • Zero-Trust VPN with 2FA/MFA
      • Create/manage VPN Location
      • Network overview
      • Executing custom gateway commands
      • Multi-Factor Authentication (MFA/2FA)
        • MFA Architecture
      • Remote desktop client configuration
      • DNS and domains
    • Remote user enrollment
      • User onboarding after enrollment
    • SSO (OpenID Connect)
      • Portainer
      • Grafana setup
      • Proxmox
      • Matrix / Synapse
      • Django
      • MinIO
      • Vault
    • SMTP for email notifications
    • YubiKey Provisioning
    • Webhooks
    • Forward auth
    • SSH Authentication
    • Network devices
    • Activity & Audit logs
    • Gateway notifications
    • New version notifications
  • User features
    • Overwiew
    • Desktop Client
    • CLI Client
    • Configuring VPN
      • Defguard Desktop Client
        • Update instance
      • Other WireGuard® Clients
        • Configuring a device for new VPN Location manually
    • Password change / Reset
    • Enrollment & Onboarding
      • With internal Defguard SSO
      • With external SSO (Google/Microsoft/Custom)
    • Setting up 2FA/MFA
  • Enterprise Features
    • Overview
    • Enteprise features
      • Automatic (real time) desktop client configuration & sync
      • External OpenID providers
        • Google
        • Microsoft
        • Zitadel
        • Keycloak
        • JumpCloud
        • Okta
        • Custom
      • External OIDC secure enrollment
      • VPN & Client behavior customization
      • Access Control List
        • ACL Aliases
        • Implementation Details
      • Audit Log Streaming to SIEM systems
        • Supported SIEM systems integrations
          • Vector integration guide
          • Logstash integration guide
      • LDAP and Active Directory integration
        • Configuration
        • Settings table
        • Two-way LDAP and Active Directory synchronization
      • REST API
  • Deployment strategies
    • Prerequisites
    • Standalone package based installation
    • Docker images and tags
    • Docker Compose
    • Kubernetes
    • Terraform
    • High Availability and Failover
    • Upgrading
    • Pre-production and development releases
    • Gateway
      • Running gateway on MikroTik routers
  • Securing gRPC communication
  • OpenID RSA key
  • Health check
  • Configuration
  • Tutorials
    • Step by step setting up a VPN server
      • Adding additional VPN locations
  • In depth
    • Architecture
      • How do VPN statistics work
      • Security concepts
    • Roadmap
    • Release cycle
  • For Developers
    • Contributing
    • Environment setup
      • Translations (core/web)
        • Switching language
        • Adding translations
      • Translations (client)
        • Adding translations
  • Resources
    • Troubleshooting Guide
      • Sending support information
      • Client Windows installer exit codes
      • Client "All traffic" connection issues
      • WebAuthn security keys
Powered by GitBook
On this page
  • Alias management
  • List of aliases
  • How to add and modify aliases
  • Removing aliases
  • Using aliases in ACL rules
  • Alias types
  • Examples

Was this helpful?

Edit on GitHub
  1. Enterprise Features
  2. Enteprise features
  3. Access Control List

ACL Aliases

PreviousAccess Control ListNextImplementation Details

Last updated 16 days ago

Was this helpful?

ACL alias functionality allows administrators to create reusable elements which can then be used when defining a destination in multiple ACL rules.

For example you can define aliases for commonly used ports (e.g. 22 for SSH) or for services within your infrustructure (e.g. 1.2.3.4:5432 for a particular PostgreSQL server).

Access Control is an enterprise feature. To use it you'll need to purchase a license or ensure your deployment does not exceed the limits.

Access Control is available in Defguard version ≥ 1.3.0 and Gateway version ≥ 1.3.0

Alias management

All the aliases defined in your systems are displayed in the second tab of the Access Control List page.

List of aliases

Similarly to ACL rules themselves, the list is split into two sections:

  • Deployed Aliases – aliases that are active and can be used by ACL rules.

  • Pending Changes – aliases that have been modified and have not yet been deployed.

To deploy pending changes use the Deploy pending changes button. It will deploy selected or all pending changes.

When the alias changes are deployed, firewall rules will be updated for all affected locations.

How to add and modify aliases

To create a new rule, use the Add new button on the list view.

In the ACL alias form you can specify alias name and type.

Below in the Destination section you can enter the same resource configuration as in the ACL rule Destination:

  • IP addresses

  • ports or port ranges

  • protocols

Unlike ACL rules, newly created aliases have Applied status, since they do not affect any traffic unless used by a rule.

Removing aliases

To remove an alias select the Delete alias option from the context menu.

Unlike with ACL rules, alias deletion is not tracked as a modification. You cannot delete an alias if it's being used by any rules and deleting unused aliases is immediate, not requiring changes to be deployed.

Using aliases in ACL rules

Aliases can be used to define an ACL rule destination by selecting them in the input within the Destination section:

Alias types

Aliases are divided into two distinct types to handle various use-cases:

  • Destination alias – defines a complete ACL destination; it will be translated into a separate set of firewall rules.

  • Component alias – defines a part of ACL destination; it will be merged with destination manually configured in a given ACL rule when generating firewall rules.

Examples

Let's start with an ACL rule that defines a following destination:

By itself this rule will allow specified users to access all ports and all protocols on the specified IP.

Component alias

Consider an SSH alias with a following definition:

When used in the previously created ACL rule, port 22 will be added to manual inputs defined in the rule itself.

In effect the rule will now grant access only to port 22 on 10.2.0.5, just like if we entered the port number in the rule's Manual Input section.

Destination alias

Now consider the following alias:

When used in the previously defined ACL rule it will have the following effects:

  • the rule will still grant access to all ports and all protocols on 10.2.0.5

  • it will also independently grant access to port 5432 in 10.2.0.38

In effect this is like if the rule has two separate destination inputs.

Underneath this is achieved by creating a separate set of firewall rules (one ALLOW and one DENY) for each destination alias.

You can edit an existing rule by using the context menu and selecting Edit in the list view.

ACL alias list
Alias creation form
You cannot delete aliases used by ACL rules
ACL rule Destination section with Aliases field
Alias select modal
SSH component alias definition
Postgres server destination alias