Hello,
I am working with an EOS config that was originally intended for use in a private clustered environment, but now I am exposing it to the internet for use as a grid SE with VOMS-based authn.
I frequently see default config examples that look like this:
sec.protocol unix
sec.protocol sss -c /etc/eos.keytab -s /etc/eos.keytab
sec.protbind localhost.localdomain unix sss
sec.protbind localhost unix sss
sec.protbind * only sss unix
However the way I (possibly naively) interpret this is it seems insecure, especially considering the unix protocol docs which say " Warning: unix protocol does not provide any significant level of security and should only be used in instances where security violations do not matter." IIUC the unix protocol just asks a remote client what UID it is running as which provides no assurance over a public network, and this config would allow any client to use the unix protocol.
Based on protbind docs it seems to me, if I understand correctly, that the following would be much more secure, and follow the guideline " Specify the most general hostpat first and the least general, last". (This also shows the GSI config I am trying for VOMS authn.)
sec.protocol unix
sec.protocol sss -c /etc/eos.keytab -s /etc/eos.keytab
sec.protocol gsi -crl:use -moninfo:1 -cert:/etc/grid-security/daemon/hostcert.pem -key:/etc/grid-security/daemon/hostkey.pem -gmapopt:nomap -vomsfun:default -d:1
sec.protbind * only gsi
sec.protbind *.eos.svc.cluster.local only unix sss
sec.protbind localhost.localdomain only unix sss
sec.protbind localhost only unix sss
eos.svc.cluster.local
is the internal subdomain on the private cluster network, shared by all the EOS nodes.
The intention of this proposed configuration is to require everyone (external users) to use only GSI (VOMS), except for trusted systems (EOS) on the private network or localhost which must use only unix and sss.
Aside from the seemingly intrinsically insecure nature of the unix protocol, the other improvement here would be that if in the worst case the SSS secret was disclosed, external systems could not exploit it.
Am I on the right track? This looks similar to the config in EOS GSI and https configuration - #4 by georgep
My other question is if
sec.protocol unix
sec.protocol sss -c /etc/eos.keytab -s /etc/eos.keytab
sec.protbind * only unix sss
is sufficient - and safe - on the FST nodes.