Active Directory & sssd
This is the ubuntu noble (ubuntu 24.04 LTS) active directory join role initialy written by Niklaus Kappeler (CxS).
Todos/Role Enhancement
- [ ] Securing it --> is it possible to enable dns-sec to pervent dns man in the middles?
Requirements
Role Variables
Name | Type | Default value | Purpose | Comment | Role |
---|---|---|---|---|---|
active_directory_conf | Boolean | false | true/false switch to en/disable ad role | noble_active_directory | |
active_directory_join_passwd | String | "" | join pwd of ad-join-user (per env)See variable below, where the ad-join-user is defined | noble_active_directory | |
active_directory_join_user | String | "" | join user for ad-join (per env)The ad-join-user should normally be defined in the all group_vars | noble_active_directory | |
support_contact | String | "" | support contact (like CxS Ticketsystem), used in custom-defined account_expired/locked_message | has to be defined, if not allready over "all.yml" group_vars | multirole |
active_directory_sssd_net_lookup_family_order | String | ipv4_only | AD dns lookup setting, default is to prefer IPv4, then fall back to IPv6 | must be set to ipv6_only in IPv6 only networks.In dual stack networks, ipv4 or ipv6_only dns lookup are valid.So, possible options are:ipv4_onlyipv6_onlyPlease do not use:ipv4_firstipv6_firstit results in failing sssd connection, since the dns entrys are always lockable for both protocols in the ETH network | noble_active_directory |
active_directory_sssd_ldap_id_mapping | Boolean | false | Specifies that SSSD should attempt to map user and group IDs from the ldap_user_objectsid and ldap_group_objectsid attributes instead of relying on ldap_user_uid_number and ldap_group_gid_number. | noble_active_directory | |
active_directory_sssd_ignore_group_members | Boolean | true | ignore nested groups | noble_active_directory | |
active_directory_sssd_override_homedir | String | /home/%u | home dir path, to enable proper search path for ssh-keys etc. | noble_active_directory | |
active_directory_sssd_default_shell | String | /bin/bash | set default login shell | noble_active_directory | |
active_directory_sssd_override_shell | String | /bin/bash | force override login shell, overwrites the (if set) default from the AD-userobject | to be disscussed @noble_hackaton | noble_active_directory |
active_directory_sssd_pam_account_expired_message | String | "Account expired, please contact {{support_contact}}" | pam_account_expired_message override to set custom account expired message | noble_active_directory | |
active_directory_sssd_pam_account_locked_message | String | "Account locked, please contact {{support_contact}}" | pam_account_locked_message override to set custom account locked message | noble_active_directory | |
active_directory_conf_disable | Boolean | false | config to ensure host is not (realm leave) configured to the AD | noble_active_directory | |
active_directory_master_key_type | String | aes256-cts-hmac-sha1-96 | Krb5.conf enforce cipher suites | noble_active_directory | |
active_directory_supported_enctypes | String | aes256-cts-hmac-sha1-96:normal aes128-cts-hmac-sha1-96:normal -des -rc4 | Krb5.conf enforce cipher suites & disable unsafe cipher suites | noble_active_directory | |
active_directory_default_tkt_enctypes | String | aes256-cts-hmac-sha1-96 | Krb5.conf enforce cipher suites | noble_active_directory | |
active_directory_default_tgs_enctypes | String | aes256-cts-hmac-sha1-96 | Krb5.conf enforce cipher suites | noble_active_directory | |
allow_logon_groups | String | "" | logon groups which are allowed to login | multirole | |
allow_logon_users | String | "" | logon users which are allowed to login | multirole | |
active_directory_exclude_user_lookup | String | "" | users, which should be excluded from lookup in NSS database. For example postgres | multirole |
Dependencies
None
Example Playbook
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: all
roles:
- { role: noble_active_directory, tags: ["noble", "security", "sec", "ad", "active_dir", "active_directory", "ldap"] }
License
BSD
Author Information
Maintainer: Niklaus (Niggi) Kappeler
Support-Contact: servicedesk-linux@id.ethz.ch