################# # glauth.conf ################# # General configuration. debug = true # syslog = true # structuredlog = true # # Enable hot-reload of configuration on changes # - does NOT work [ldap], [ldaps], [backend] or [api] sections # watchconfig = true ################# # yubikeyclientid = "yubi-api-clientid" # yubikeysecret = "yubi-api-secret" ################# # Server configuration. [ldap] enabled = true # run on a non privileged port listen = "0.0.0.0:3893" [ldaps] # to enable ldaps genrerate a certificate, eg. with: # openssl req -x509 -newkey rsa:4096 -keyout glauth.key -out glauth.crt -days 365 -nodes -subj '/CN=`hostname`' enabled = false listen = "0.0.0.0:3894" cert = "glauth.crt" key = "glauth.key" ################# # The backend section controls the data store. [backend] datastore = "config" baseDN = "dc=glauth,dc=com" nameformat = "cn" groupformat = "ou" ## Configure dn format to use structures like ## "uid=serviceuser,cn=svcaccts,$BASEDN" instead of "cn=serviceuser,ou=svcaccts,$BASEDN" ## to help ease migrations from other LDAP systems # nameformat = "uid" # groupformat = "cn" ## Configure ssh-key attribute name, default is 'sshPublicKey' # sshkeyattr = "ipaSshPubKey" [behaviors] # Ignore all capabilities restrictions, for instance allowing every user to perform a search IgnoreCapabilities = false # Enable a "fail2ban" type backoff mechanism temporarily banning repeated failed login attempts LimitFailedBinds = true # How many failed login attempts are allowed before a ban is imposed NumberOfFailedBinds = 3 # How long (in seconds) is the window for failed login attempts PeriodOfFailedBinds = 10 # How long (in seconds) is the ban duration BlockFailedBindsFor = 60 # Clean learnt IP addresses every N seconds PruneSourceTableEvery = 600 # Clean learnt IP addresses not seen in N seconds PruneSourcesOlderThan = 600 ################# # This user record shows all of the possible fields available [[users]] name = "alice" givenname="alice" sn="alisson" #sn is the surname mail = "alice@metzler.systems" uidnumber = 5002 primarygroup = 5501 #Has to be id not a string... LIKE WHY loginShell = "/bin/sh" homeDir = "/root" passsha256 = "cb824cd5fe4950a77e36776d275f8f7039682babd490d5da3bc8fd31f4c2254c" # alicepassword #sshkeys = ["ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEA3UKCEllO2IZXgqNygiVb+dDLJJwVw3AJwV34t2jzR+/tUNVeJ9XddKpYQektNHsFmY93lJw5QDSbeH/mAC4KPoUM47EriINKEelRbyG4hC/ko/e2JWqEclPS9LP7GtqGmscXXo4JFkqnKw4TIRD52XI9n1syYM9Y8rJ88fjC/Lpn+01AB0paLVIfppJU35t0Ho9doHAEfEvcQA6tcm7FLJUvklAxc8WUbdziczbRV40KzDroIkXAZRjX7vXXhh/p7XBYnA0GO8oTa2VY4dTQSeDAUJSUxbzevbL0ll9Gi1uYaTDQyE5gbn2NfJSqq0OYA+3eyGtIVjFYZgi+txSuhw== rsa-key-20160209"] [[users]] name = "serviceuser" mail = "serviceuser@example.com" uidnumber = 5003 primarygroup = 5502 passsha256 = "652c7dc687d98c9889304ed2e408c74b611e86a40caa51c4b43f1dd5913c5cd0" # mysecret [[users.capabilities]] action = "search" object = "*" ################# # The groups section contains a hardcoded list of valid users. [[groups]] name = "superheros" gidnumber = 5501 [[groups]] name = "svcaccts" gidnumber = 5502 ################# # Enable and configure the optional REST API here. [api] enabled = true internals = true # debug application performance tls = false # enable TLS for production!! listen = "0.0.0.0:5555" cert = "cert.pem" key = "key.pem"