Commit graph

132 commits

Author SHA1 Message Date
Carla Schroder e5b37dfe20
Kanidm book review 6 (#800)
* change capitalization on section headings, and some terminology, small wording tweaks
* more small corrections, line breaks, capitalization, small wording changes
* minor corrections, punctuation, wording
* NAS = Network Access Server
2022-06-02 11:09:02 +10:00
James Hodgkinson 7d27612174
Windows automagical buildingtons (#798)
* windows build automation
* making fmt happy, fixing windows-related bug
* disabled cargo_incremental when using `sccache`, added build options ARG to Dockerfile, limit docker build to one job
2022-05-31 14:13:21 +10:00
Carla Schroder 547e283318
continuing review of Kanidm book (#775) 2022-05-27 09:07:56 +10:00
Carla Schroder 8abd5b2052
Minor corrections to case, punctuation, spelling (#789) 2022-05-27 09:07:15 +10:00
Carla Schroder e0ebd322dd
some small corrections to accounts_and_groups.md, administrivia.md (#776) 2022-05-26 14:57:01 +10:00
Carla Schroder 70db0630ea
More small corrections: line breaks, capitalization, typos (#778) 2022-05-26 07:38:28 +10:00
Firstyear c26ccb9b38
Improve token readability, Fix issue with spn format (#773) 2022-05-24 13:49:51 +10:00
Kellin f3a73426c5
Fix typos of kanidm in the documentation (#766)
- Fix volume mount name typo in the server configuration and
  administrivia documentation pages
- Fix typo in link from PAM and nsswitch documentation

Signed-off-by: Kellin <kellin@retromud.org>
2022-05-23 11:58:27 +10:00
Carla Schroder 6114d59158
First review of the Kanidm Administration book (#760) 2022-05-18 11:22:56 +10:00
matthew-salerno 28d31234d0
Update docs with some personal experience (#750) 2022-05-10 10:52:53 +10:00
Firstyear 3a07842d56
20220501 fix logging (#730) 2022-05-01 13:34:19 +10:00
Euan Kemp 9427d27141
Add a new ACP and group allowing self-service mail updates (#672)
* Add a new ACP and group allowing self-service mail updates

This adds a new "idm_people_self_write_mail_priv" group which follows
the existing canned group+acp format closely.

This also adds a test for the functionality

See the discussion in #648 for a bit more background

* Limit the self-write ACP to targets with the "account" class

Per feedback on #672, it's better to limit these APIs specifically to
accounts.

* Fix up

Co-authored-by: Firstyear <william.brown@suse.com>
2022-04-13 20:45:45 +10:00
Euan Kemp 0c3ce226cf
Add 'account person set' command (#667)
* Add 'account person set' command

This command allows a user to modify, say, their legal name in a
self-service fashion.

This wasn't possible before by default since the 'extend' operation
required additional ACPs in order to operate which not every user would
have.

The new "person set" api is compatible with the default self_write ACP,
and so allows self-service modification.

* Add a short section on people attributes to the book
2022-04-02 13:24:07 +10:00
Firstyear 5cb429904d
Improve description of how the suse pam files work (#663) 2022-03-30 10:34:56 +10:00
Firstyear bd41ef8f91
Add design doc, revive the domain wide enc token (#649)
* Add design doc, revive the domain wide enc token, use jwt from our lib instead of bundy, update docs
2022-03-14 17:29:04 +10:00
James Hodgkinson 58fb559262
Docs build cleanup for #646 (#647)
* moving docs build to makefile
2022-03-10 08:55:44 +10:00
Firstyear 840024f006
Change how domain names are handled in our configuration. (#639) 2022-02-15 16:17:43 +10:00
Firstyear a0ef768fc8
Correct issuer to match url of connected client (#635) 2022-01-27 12:19:03 +10:00
Firstyear c6c564cebb
Finalise email changes for oidc (#629) 2021-12-25 09:47:14 +10:00
James Hodgkinson 615ddee75f
adding notes about OIDCRemoteUserClaim to the oauth2 book chapter (#621) 2021-11-30 10:34:54 +10:00
James Hodgkinson b7837f3aae
add logging for oauth2 errors (#620) 2021-11-25 14:55:12 +10:00
Firstyear fad0dd86e0
Improve book and errors related to domain name and origin mismatch (#617) 2021-11-25 08:37:50 +10:00
Firstyear 0f4189a57e
278 603 OIDC implementation (#608) 2021-11-21 16:41:49 +10:00
Firstyear 761bed0569
20211010 rfc7662 token introspect (#607) 2021-10-26 13:00:02 +10:00
James Hodgkinson 4ef064e4ed
updating docs re oidc (#606) 2021-10-22 08:34:24 +10:00
Firstyear 8e3525c736
Fix state parameter to be string (#602) 2021-10-20 14:00:14 +10:00
James Hodgkinson bfea182a89
fixes #594 - updates pam module (#596) 2021-10-17 21:19:15 +10:00
William Brown b51d32d623 Minor book change 2021-10-17 08:21:55 +10:00
Firstyear c62b39c338
509 oauth2 scope mapping (#586) 2021-10-07 18:31:48 +10:00
James Hodgkinson ea8801f23d
Improving logging and docs around unixd/PAM/NSS (#577) 2021-09-06 07:48:37 +10:00
James Hodgkinson bc31d42f22
fixes #571 (#572) 2021-08-22 16:05:28 +10:00
Firstyear aca6b23d54
Update SUMMARY.md
Fix server_configuration.md
2021-08-16 10:22:49 +10:00
cuberoot74088 b4f99c8e7a
Implement Online Backups (#25) (#536) 2021-07-31 17:13:46 +10:00
James Hodgkinson a621cbc6a7
Fixing #521 - Documenting the server role (#535) 2021-07-24 15:00:08 +10:00
James Hodgkinson 6ff74c976e
Auto-publishing the book and rustdoc. (#534) 2021-07-24 11:12:35 +10:00
cuberoot74088 ff952cbed2
Fix docu for generate password (#526) 2021-07-15 08:23:11 +10:00
Firstyear e1f4a57ddc
Update repo locations and versions in prep for release (#492) 2021-06-25 18:38:45 +10:00
Firstyear e209904d53
Add workaround for podman subid issue (#491) 2021-06-25 17:08:20 +10:00
cuberoot74088 f3554d80cf
Set default shell to bin/sh (#488) 2021-06-19 15:35:11 +10:00
Firstyear 033b977906
Add ldap vattr mapping (#459) 2021-05-29 12:50:16 +10:00
Firstyear e8b1089bfd
414 clear stale credentials (#447) 2021-05-26 16:11:00 +10:00
vcwai 2f1ce3ed71
445 update pam nsswitch md (#451) 2021-05-24 09:13:41 +10:00
James Hodgkinson 08cf9a8dc7
Adding an example config file (#440) 2021-05-16 14:10:29 +10:00
Firstyear 1eb777485e
Add ability to pick a server role (#432) 2021-05-06 20:58:22 +10:00
Firstyear 8da89613e3
Rough working login page (#417) 2021-04-24 10:53:19 +10:00
Firstyear 72dfe1b035
Idlset2, query cache, acp resolve cache (#409) 2021-04-14 09:56:40 +10:00
James Hodgkinson fed562fa85
Basic documentation for monitoring (#404) 2021-04-13 11:02:14 +10:00
James Hodgkinson f466e2a521
Docs update (#400)
* I couldn't help it - minor spelling fixes
2021-04-06 10:08:36 +10:00
Firstyear 6bc719cdb2
Base web UI (#391)
Initial web ui (not-functional yet)
2021-03-26 11:22:00 +10:00
Firstyear 060c7b22c0
Draft document (#382) 2021-03-25 10:34:29 +10:00
Firstyear b620a8209c
Pam setup and fedora setup steps (#376)
Fixes #375 - this documents the pam configs needed for fedora 33 including selinux "gotchas".
2021-03-17 10:18:43 +10:00
Firstyear adb3f819ba
Add the unixd tasks daemon (#349)
Fixes #180 - this adds an oddjobd style tasks daemon to the unix tools. This supports creation of home directories and the maintenance of alias symlinks to these allowing user renames. The tasks daemon is written to require root, but is seperate from the unixd daemon. Communication is via a root-only unix socket that the task daemon connects into to reduce the possibility of exploit.

Fixes #369 due to the changes to call_daemon_blocking
2021-03-13 12:33:15 +10:00
Flakebi 762d809ec1 Fix typo in kanidm_unixd socket path
The path is /var/run/kanidm-unixd/sock, not /var/run/kanidm.sock.
2021-03-08 09:43:02 +10:00
Firstyear 1fb5ec8bf2
vacuum (#365)
Fixes #362 moves vacuum to a dedicated task. This is needed as previous vacuuming on startup on large databases could cause the server to fail to start. By making this a task it avoids this error case, and makes the vacuum more predictable, and only run when required.
2021-02-21 15:04:58 +10:00
Firstyear f710e66f64
356 Use tls chain file (#358)
Fixes #356 - this changes from a split ca_chain/cert configuration to a single chain file. This allows rustls in tide-rustls to present the chain correctly, and allows openssl for ldaps to present the chain correctly too. it also simplifies integration to lets encrypt which provides a chain and key file by default.
2021-02-16 11:40:25 +10:00
Firstyear 9dbb5ccb59
Unixd - NXCache of unknown items (#338)
Previously we would only cache "hits" - items that kanidm is aware
of and did know about. However, this mean querying a raw uid/gid
number that was not known to files or kanidm would result in kanidm
doing an online check each request.

This adds a NXcache to cache misses, so they can be served as misses,
faster, and to reduce load on the main kanidm servers.

Fixes #336
2020-12-28 09:41:16 +10:00
Firstyear ec48edac82
13 135 webauthn support (#332)
Fixes #13 and Fixes #135 - webauthn and webauthn with cli. This is the core of webauthn, but only as a single factor. Some changes are still needed for webauthn as MFA and as a verified single factor. This will be made in a subsequent PR.
2020-12-02 11:12:07 +10:00
Firstyear dc319a98ac
Change root user check to warning due to container run times (#328)
Fixes #327 - In container run times, the default is to run as root. This may be user with virtualised containers or even to just smooth the "first run" process rather than requiring a user for the process and volumes.
2020-10-30 11:12:06 +10:00
Firstyear 1a57aa9ea0
Fixes #324 account softlocking and rate limiting (#326)
This provides bruteforce protection and ratelimiting to stop
classes of attacks. This impacts all areas where a password or
authentication is performed (unix, ldap, auth).
2020-10-22 14:40:31 +10:00
William Brown 8d853405e0 Update tumbleweed docs 2020-10-14 13:05:45 +10:00
Firstyear 018039b0b2
Account valid-from and expiry (#322)
Fixes #59 account policy and lockout. This is achived with a valid_from and expire attribute that are timestamps. Cli tools are added to manage these.
2020-10-10 10:31:51 +10:00
Firstyear 4bf8ef72d5
250 cookie to auth bearer (#321)
Fixes #250, replacing cookies with auth-bearer tokens. This is done using fernet with randomised keys each startup. The reason for this is that in the future the size of the auth token may exceed cookie limits, so we must be able to understand and process auth bearer. Additionaly, this lets us store the tokens for say the kanidm cli as reqwest today can't persist a cookie jar.
2020-09-18 13:19:57 +10:00
William Brown e34a848a88 tweak book chapter 2020-08-15 15:24:11 +10:00
William Brown c626eb60a6 Support zfs page size 2020-08-05 10:05:58 +10:00
William Brown c4805d2915 Improve server hardening
This adds a number of warnings to the server to help administrators make
better informed decisions about the security of their environment.
2020-07-31 14:55:14 +10:00
Firstyear c8ac4970d8
Release Prep (#283) 2020-06-30 14:58:35 +10:00
Firstyear 9aa03906f8
181 pam nsswitch name spn (#270)
This allows configuration of which attribute is presented during gid/uid resolution, adds home directory prefixing, and home directory name attribute selection.
2020-06-21 21:57:48 +10:00
Firstyear fec28e03e2
195 rel cleanup (#268)
Fixes #195 pre release cleanup. This does a LOT, clippy, formatting, and much much more. It fixes a lot of parts of the book, improves server config and more.
2020-06-18 10:30:42 +10:00
Firstyear d5c46545e3
Add cache to radius (#210) 2020-05-08 17:16:33 +10:00
Pando85 4dcad60374 Extend testing of default entries
Add default entries test to apply behaviours according to
`designs/default_idm_layout.rst`.

Add expected behaviours for:
  - Users
  - Account managers
  - Group managers
  - Admins
  - People Managers
  - Anonymous clients
  - Radius servers

Also, refactor `kanidmd_client` tests to separate into different files
and fix some documentation typos

Resolves: #108
2020-05-08 10:27:39 +10:00
Pando85 cfdaa702e5 Fix multiple typo in docs 2020-04-27 10:34:33 +10:00
William Brown 32dcaa39ac Test perf improvements 2020-03-26 11:56:20 +10:00
William Brown aae6625c4d Clean up incorrect logging and document some recycle bin edge cases. 2020-03-25 08:31:51 +10:00
Firstyear 6388bcf6fc
20200322 132 recyclebin 2 (#193)
Implements #132, the recycle bin. This completes the feature, with working API's, front end tests and CLI tooling. It also includes a refactor of the CLI tools to make them a bit easier to manage/work with.
2020-03-25 08:21:49 +10:00
Firstyear 61c240e44b
20200307 137/132 cid/recyclebin (#192)
Implements #137 and parts of #132. This adds full support for CID's to the server, and some parts for recyclebin to work such as internal lessthan queries.
2020-03-22 11:31:02 +10:00
Firstyear 5a9ad39d6b
20200218 pam (#189)
Add support for unix_password handling, and pam authentication for services.
2020-02-29 14:02:14 +10:00
Firstyear 9de7d33293
129 nsswitch stage 2 groups (#185)
Implements #129, adding the libnss_kanidm.so/dylib, and the related caching parts for properly handling these types.
2020-02-15 10:57:25 +10:30
Charelle Collett e41fada28a Minor typo and formatting fixes. 2020-01-27 22:47:40 +10:00
Tristram Healy 4470311f84 Replaced Firstyear 2020-01-17 11:57:30 +10:00
Firstyear 7135a6e42d
Attempted to add caching but it failed, improve usage (#162) 2020-01-02 18:54:50 +11:00
Firstyear 2ede944fdb
29 password badlisting (#158)
Implements #29 password badlist and quality checking. This checks all new passwords are at least length 10, pass zxcvbn and are not container in a badlist. The current badlist is a preprocessed content of rockyou from seclists, but later wwe'll update this to the top 10million badlist which when processed is about 70k entries..
2019-12-13 08:49:32 +10:00
Firstyear b579c5395c
20191202 documentation (#156)
Add an initial skeleton and draft of a book, which should be maintained and improved as the server is developed to help guide users.
2019-12-03 16:03:05 +10:00