Currently there is already code to make sure that after trust is established an AS-REQ of the local HTTP principal causes a refresh of the internal structures holding the information about the trusted domains. But this refreshes only the data of the current krb5kdc worker process on the local host. Other workers and the KDCs on other hosts will update the data eventually when a request with a principal from a trusted realm is handled. During this phase, which might last quite long if remote principals are only handled rarely, TGTs for local principals might or might not contain a PAC because the decision if a PAC should be added or not is based on the information about trusted domains. Since the PAC is needed to access services on the AD side this access might fail intermittently depending which worker process on which host is handling the request. This might e.g. affect SSSD running on the IPA server with two-way trust. To fix this this patch calls ipadb_reinit_mspac() whenever a PAC is needed but without the 'force' flag so that the refresh will only happen if it wasn't called recently (currently not more often than once a minute). An alternative might be to do the refresh only when processing cross-realm TGT requests. But this would be already too late because the local principal asking for a cross-realm ticket would not have a PAC and hence the first attempt will still fail due to the missing PAC. And injecting the PAC in the cross-realm TGT while there is none in the requesting ticket does not sound right. Related to https://pagure.io/freeipa/issue/7351 Reviewed-By: Simo Sorce <ssorce@redhat.com> |
||
---|---|---|
asn1 | ||
client | ||
contrib | ||
daemons | ||
doc | ||
init | ||
install | ||
ipaclient | ||
ipalib | ||
ipaplatform | ||
ipapython | ||
ipaserver | ||
ipatests | ||
po | ||
pypi | ||
util | ||
.freeipa-pr-ci.yaml | ||
.git-commit-template | ||
.gitignore | ||
.mailmap | ||
.test_runner_config_py3_temp.yaml | ||
.test_runner_config.yaml | ||
.tox-install.sh | ||
.travis_run_task.sh | ||
.travis.yml | ||
.wheelconstraints.in | ||
ACI.txt | ||
API.txt | ||
autogen.sh | ||
BUILD.txt | ||
configure.ac | ||
Contributors.txt | ||
COPYING | ||
COPYING.openssl | ||
freeipa.spec.in | ||
ipa | ||
ipasetup.py.in | ||
make-doc | ||
make-test | ||
makeaci | ||
makeapi | ||
Makefile.am | ||
Makefile.python.am | ||
makerpms.sh | ||
pylint_plugins.py | ||
pylintrc | ||
README.md | ||
server.m4 | ||
tox.ini | ||
VERSION.m4 | ||
zanata.xml |
FreeIPA Server
FreeIPA allows Linux administrators to centrally manage identity, authentication and access control aspects of Linux and UNIX systems by providing simple to install and use command line and web based managment tools.
FreeIPA is built on top of well known Open Source components and standard protocols with a very strong focus on ease of management and automation of installation and configuration tasks.
FreeIPA can seamlessly integrate into an Active Directory environment via cross-realm Kerberos trust or user synchronization.
Benefits
FreeIPA:
- Allows all your users to access all the machines with the same credentials and security settings
- Allows users to access personal files transparently from any machine in an authenticated and secure way
- Uses an advanced grouping mechanism to restrict network access to services and files only to specific users
- Allows central management of security mechanisms like passwords, SSH Public Keys, SUDO rules, Keytabs, Access Control Rules
- Enables delegation of selected administrative tasks to other power users
- Integrates into Active Directory environments
Components
The FreeIPA project provides unified installation and management tools for the following components:
- LDAP Server - based on the 389 project
- KDC - based on MIT Kerberos implementation
- PKI based on Dogtag project
- Samba libraries for Active Directory integration
- DNS Server based on BIND and the Bind-DynDB-LDAP plugin
Project Website
Releases, announcements and other information can be found on the IPA server project page at http://www.freeipa.org/ .
Documentation
The most up-to-date documentation can be found at http://freeipa.org/page/Documentation .
Quick Start
To get started quickly, start here: http://www.freeipa.org/page/Quick_Start_Guide
For developers
- Building FreeIPA from source
- http://www.freeipa.org/page/Build
- See the BUILD.txt file in the source root directory
Licensing
Please see the file called COPYING.
Contacts
- If you want to be informed about new code releases, bug fixes, security fixes, general news and information about the IPA server subscribe to the freeipa-announce mailing list at https://www.redhat.com/mailman/listinfo/freeipa-interest/ .
- If you have a bug report please submit it at: https://pagure.io/freeipa/issues
- If you want to participate in actively developing IPA please subscribe to the freeipa-devel mailing list at https://www.redhat.com/mailman/listinfo/freeipa-devel/ or join us in IRC at irc://irc.freenode.net/freeipa