I was looking through various Apache Traffic Server posts and noticed that some
FIPS related work was done with Apache Traffic Server (ATS). Was looking for
someone with first hand knowledge of the ATS FIPS status that might have some
time for a few questions...
I am working with one of our product teams on FIPS enablement on a product that
is using Apache Traffic Server. I just completed upgrading our product to pull
in ATS 6.0.0 code base and started working on enabling FIPS mode.
Had a few questions pertaining to FIPS support on ATS 6.0.0 as well as some
changes made via "TS-3576 Remove the need for FIPS locking for OpenSSL".
First question is basically how far has the support for FIPs mode progressed
with ATS?
Follow up question and observation... I had to make local modifications to the
TS-3576 change that was mentioned in a thread regarding
SSL_CTX_add_extra_chain_cert_file() update of FIPS mode. As was mentioned in
the separate e-mail thread the committed code really does nothing as the
FIPS_mode() call simply reads the current state and then the call to
FIPS_mode_set(mode) basically sets OpenSSL to the same state it is already in
(NO-OP).
+#ifdef OPENSSL_FIPS
+ int mode = FIPS_mode();
+ FIPS_mode_set(mode);
+ Debug("ssl", "FIPS_mode: %d", mode);
+#endif
I made a local modification in our repository to basically add a new config
option to records.config and then set the mode based on the config setting.
That got me by the first issue then I hit the next major issue which is that
the Apache Traffic Server code is pretty heavily entrenched in using MD5.
Since MD5 is not FIPS compliant the call to MD5_Init() in the Ink code then
causes a process to crash. I am now looking into the possibility of converting
the existing MD5 references to SHA256 or making a model where it could be
switched between MD5/SHA256 based on the fips_mode setting. Have not really
started digging into this yet as I wanted to first probe the ATS community to
see if this work may have already been started, if there was any position
statement, plan, etc. on moving to a FIPS compliant hash, or if this work was
being avoided for other reasons.
Any input would be greatly appreciated. Likewise if there is a better forum
for posting this question, please let me know.
Thanks,
Craig Schomburg