lldap/example_configs/pfsense.md
2023-04-20 18:10:14 +02:00

3.8 KiB

Configuration for pfSense

Create a LDAP Server

  • Login to pfSense
  • Navigate to: System > User Manager > Authentication Servers
  • Create a new server by clicking on the + Add button

LDAP Server Settings

  • Descriptive Name: A Descriptive Name
  • Type: LDAP
  • Hostname or IP address: Hostname or IP for your LLDAP host
  • Port value: Your LLDAP port
  • Transport: TCP - Standard
  • Protocol version: 3
  • Server Timeout: 25

(Make sure the host running LLDAP is accessible to pfSense and that you mapped the LLDAP port to the LLDAP host)

Search Scope

Entire Subtree

Base DN

dc=example,dc=com

This is the same LDAP Base DN that you set via the LLDAP_LDAP_BASE_DN environment variable or in lldap_config.toml.

Authentication containers

ou=people

Note: The Select a container box may not work for selecting containers. You can just enter the Authentication containers directly into the text field.

Extended Query

Enable extended query: Checked

Query:

&(objectClass=person)(|(memberof=cn=pfsense_admin,ou=groups,dc=example,dc=com)(memberof=cn=pfsense_guest,ou=groups,dc=example,dc=com))

This example gives you two groups in LLDAP, one for pfSense admin access (pfsense_admin) and one for guest access (pfsense_guest). You must create these exact same groups in both LLDAP and pfSense, then give them the correct permissions in pfSense.

Bind Anonymous

Unchecked

Bind credentials

User DN

uid=yourbinduser,ou=people,dc=example,dc=com

It is recommended that you create a separate read-only user account (e.g, readonly) instead of admin for sharing Bind credentials with other services. The readonly should be a member of the lldap_strict_readonly group to limit access to your LDAP configuration in LLDAP.

Password

LLDAPPasswordForBindUser

User naming attribute

uid

Group naming attribute

cn

Group member attribute

memberof

RFC 2307 Groups

Unchecked

Group Object Class

groupOfUniqueNames

Shell Authentication Group DN

cn=pfsense_admin,ou=groups,dc=example,dc=com

(This is only if you want to give a group shell access through LDAP. Leave blank and only the pfSense admin user will have shell access.

Remaining Server Configuration

Enable the following options on the pfSense configuration page for your LLDAP server (the same page where you entered the prior configuration):

  • UTF8 Encodes: Checked
  • Username Alterations: Unchecked
  • Allow unauthenticated bind: Unchecked

Create pfSense Groups

Go to System > User Manager > Groups and create a new group(s) with the same exact name as the LLDAP group(s) used to authenticate users for pfSense (pfsense_admin and pfsense_guest in this example).

If you want your LLDAP users to have full administrator access in pfSense, then you need to edit the Assigned Privileges for the group and add the WebCfg - All pages system privilege. If you do not give any permissions to a group, you will be able to log in but only see an empty webUI.

Enable LLDAP as an Authentication Option

Go to System > User Manager > Settings page. Add your LLDAP server configuration to the Authentication Server field. The "Save & Test" Button will fail the test results at step 3. No clue why.

Testing LLDAP

pfSense includes a built-in feature for testing user authentication at Diagnostics > Authentication. Select your LLDAP server configuration in the Authentication Server to test logins for your LLDAP users. The groups (only the ones you added to pfSense) should show up when tested.

More Information

Please read the pfSense docs for more information on LDAP configuration and managing access to pfSense.