Configurable_SID_Blacklists#
__NOTOC__
Overview#
Related tickets:
Microsoft Windows 2012 slightly changed what it sends in the MS-PAC, and it sends a special SID in the ExtraSids buffer. We used to not accept this MS-PAC and raise validation error, but ticket 3231 introduced a static list of SIDs that are filtered and are excluded from the MS-PAC to avoid this error. A target of this RFE is to include this list in LDAP to allow Administrator to change the list and add or remove SID to filter.
Use Cases#
Windows 2012 user from a trusted AD domain tries to authenticate to IPA domain, but his ticket is refused due to MS-PAC check. Administrator may want to extend the default list of SID so that the colliding SID is filtered.
Design#
Configuration granularity#
SID blacklist should be configured per-trust. Administrator should be able to configure a blacklist for both incoming MS-PAC (i.e. authentication from a trusted domain to IPA domain) and outgoing MS-PAC (i.e. for transitive authentication of a user from IPA trusted domain trying to authenticate to other domain trusted by IPA, but which is not trusted directly by this domain).
Schema updates#
The feature will introduce 2 new attributeTypes which will be added to MAY list of ipaNTTrustedDomain object class:
attributetypes: ( 2.16.840.1.113730.3.8.11.38 NAME 'ipaNTSIDBlacklistIncoming'
DESC 'Extra SIDs filtered out from incoming MS-PAC'
EQUALITY caseIgnoreIA5Match
SUBSTR caseIgnoreIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 X-ORIGIN 'IPA v3' )
attributetypes: ( 2.16.840.1.113730.3.8.11.39 NAME 'ipaNTSIDBlacklistOutgoing'
DESC 'Extra SIDs filtered out from outgoing MS-PAC'
EQUALITY caseIgnoreIA5Match
SUBSTR caseIgnoreIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 X-ORIGIN 'IPA v3' )
ipa-kdb Changes#
Currently, ipa-kdb uses mspac_well_known_sids
static list of SIDs to
filter SIDs from MS-PAC. Changes:
struct ipadb_mspac
will be changed:well_known_sids
will be renamed tosid_blacklist_incoming
new
sid_blacklist_outgoing
will be added
ipadb_mspac_fill_well_known_sids
function will be updated to read these new attributes from LDAP and if it finds these attributes, it will fill their value tomspac->sid_blacklist_incoming
ormspac->sid_blacklist_outgoing
respectively. If the attributes for the trust is missing, it will use the default value inmspac_well_known_sids
.Note that
mspac->sid_blacklist_outgoing
will be unused until the transitive trusts functionality is implemented.
These new attributes should not cause high LDAP load as
ipadb_reinit_mspac
it is run at most once per minute.
Implementation#
N/A
Feature Managment#
UI
UI will need to allow updating these new attributes in Settings tab in IPA Server -> Trusts section.
CLI
CLI should allow editing of these new attributes. They should not be displayed by default in trust-show or trust-find command, but only with –all option to keep clarity of trust entries in these commands.
Major configuration options and enablement#
N/A
Replication#
New attributes will be replicated.
Updates and Upgrades#
The 2 new attributeTypes will be added and one ipaNTTrustedDomain object class will be updated.
QUESTION: We can either fill ipaNTSIDBlacklistIncoming and ipaNTSIDBlacklistIncoming for all current trusts during updates or fill them only for re-established and new trusts. The latter would avoid unnecessary update plugin.
The prefilled list should be equal to mspac_well_known_sids
list in
ipa_kdb_mspac.c
.
Dependencies#
N/A
External Impact#
N/A