[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Condor-users] ALLOW_DAEMON & PERMISSION DENIED to unknown user for command 60011 (DC_NOP)



Hello,

I'm having some problems with kerberos authorization for my condor pool.

On my Windows XP execute node, the StarterLog contains following line:

6/6 16:54:38 DaemonCore: PERMISSION DENIED to unknown user from host <10.92.25.28:1884> for command 60011 (DC_NOP)
Jobs run fine, but these messages bother me. The given IP is that of the 
execute node itself. Through playing with access levels in 
condor_config, I've managed to trace the error to the ALLOW_DAEMON 
parameter used for inter-daemon communication. The manual suggests 
setting it to authorize only the user under which condor daemons run, so 
I set it like this:
ALLOW_DAEMON = condor@$(UID_DOMAIN)/*.mydomain.tld

This results in "PERMISSION DENIED to unknown user" errors. Everything is fine when I have daemon level access wide open:
ALLOW_DAEMON = */*

That would be bad security practise though.. :) What should I set the ALLOW_DAEMON parameter to, and why is condor doing inter-daemon communication as "unknown user"? Also, I couldn't find a list of condor command codes to look up what exactly command 60011 (DC_NOP) does.. is there such a list?
Condor version on both the server and the clients is 6.8.5, and the pool 
is set up to do kerberos authentication with clients using their 
"host/fqdn" principal in a local keytab. Condor seems to remap kerb5's 
"host/fqdn" principal to "condor@xxxxxxxxxx <https://webmail.erasmusmc.nl/squirrelmail/src/compose.php?send_to=condor%40domain.tld>" for authenticating its 
daemons.. There is no actual "condor" principal in the kerberos 
database. Part of the configuration relevant to security:
##--------------------------------------------------------------------
##  Security negotiation
##--------------------------------------------------------------------

SEC_DEFAULT_AUTHENTICATION = REQUIRED
SEC_DEFAULT_ENCRYPTION = REQUIRED
SEC_DEFAULT_INTEGRITY = REQUIRED
SEC_DEFAULT_NEGOTIATION = REQUIRED

SEC_DEFAULT_AUTHENTICATION_METHODS = KERBEROS
SEC_DEFAULT_CRYPTO_METHODS = 3DES

##--------------------------------------------------------------------
##  Kerberos map file
##--------------------------------------------------------------------

KERBEROS_MAP_FILE = $(LOCAL_DIR)/kerberos

##--------------------------------------------------------------------
##  Access levels
##--------------------------------------------------------------------

ALLOW_READ = *@$(UID_DOMAIN)/*.mydomain.tld
ALLOW_WRITE = *@$(UID_DOMAIN)/*.mydomain.tld
ALLOW_ADMINISTRATOR = root@$(UID_DOMAIN)/$(CONDOR_HOST)
ALLOW_CONFIG = root@$(UID_DOMAIN)/$(CONDOR_HOST)
ALLOW_NEGOTIATOR = condor@$(UID_DOMAIN)/$(CONDOR_HOST)
ALLOW_DAEMON = condor@$(UID_DOMAIN)/*.mydomain.tld

(I have no HOSTALLOW_<level> parameters confined.)

I'd appreciate if someone could give an explanation of authentication on the daemon access level so that I may understand what it's trying to do and get rid of the PERMISSION DENIED errors without compromising security.
Thanks in advance,

Rob de Graaf