elasticsearch/docs/reference
Ioannis Kakavas bd873698bc
Ensure CI is run in FIPS 140 approved only mode (#64024)
We were depending on the BouncyCastle FIPS own mechanics to set
itself in approved only mode since we run with the Security
Manager enabled. The check during startup seems to happen before we
set our restrictive SecurityManager though in
org.elasticsearch.bootstrap.Elasticsearch , and this means that
BCFIPS would not be in approved only mode, unless explicitly
configured so.

This commit sets the appropriate JVM property to explicitly set
BCFIPS in approved only mode in CI and adds tests to ensure that we
will be running with BCFIPS in approved only mode when we expect to.
It also sets xpack.security.fips_mode.enabled to true for all test clusters
used in fips mode and sets the distribution to the default one. It adds a
password to the elasticsearch keystore for all test clusters that run in fips
mode.
Moreover, it changes a few unit tests where we would use bcrypt even in
FIPS 140 mode. These would still pass since we are bundling our own
bcrypt implementation, but are now changed to use FIPS 140 approved
algorithms instead for better coverage.

It also addresses a number of tests that would fail in approved only mode
Mainly:

    Tests that use PBKDF2 with a password less than 112 bits (14char). We
    elected to change the passwords used everywhere to be at least 14
    characters long instead of mandating
    the use of pbkdf2_stretch because both pbkdf2 and
    pbkdf2_stretch are supported and allowed in fips mode and it makes sense
    to test with both. We could possibly figure out the password algorithm used
    for each test and adjust password length accordingly only for pbkdf2 but
    there is little value in that. It's good practice to use strong passwords so if
    our docs and tests use longer passwords, then it's for the best. The approach
    is brittle as there is no guarantee that the next test that will be added won't
    use a short password, so we add some testing documentation too.
    This leaves us with a possible coverage gap since we do support passwords
    as short as 6 characters but we only test with > 14 chars but the
    validation itself was not tested even before. Tests can be added in a followup,
    outside of fips related context.

    Tests that use a PKCS12 keystore and were not already muted.

    Tests that depend on running test clusters with a basic license or
    using the OSS distribution as FIPS 140 support is not available in
    neither of these.

Finally, it adds some information around FIPS 140 testing in our testing
documentation reference so that developers can hopefully keep in
mind fips 140 related intricacies when writing/changing docs.
2020-12-23 21:00:49 +02:00
..
aggregations [DOCS] Adding headers in TOC for aggregation docs. (#66604) 2020-12-18 11:31:42 -05:00
analysis [DOCS] Fix typo (#65912) 2020-12-05 10:05:13 -05:00
autoscaling Autoscaling remove feature flags (#65973) 2020-12-14 19:06:09 +01:00
cat Clarify field data cache behavior in docs (#64375) 2020-11-20 13:53:23 -08:00
ccr Protect replicated data streams against local rollovers (#64710) 2020-12-08 08:34:24 +01:00
cluster Ensure CI is run in FIPS 140 approved only mode (#64024) 2020-12-23 21:00:49 +02:00
commands Remove support of creating CA on the fly when generating certificates (#65590) 2020-12-16 13:54:32 +11:00
data-streams [DOCS] Fix Fleet links (#66553) (#66557) 2020-12-17 15:27:15 -05:00
docs [DOCS] Fix timeout parameter defaults (#66111) 2020-12-21 09:02:06 -05:00
eql [DOCS] EQL: Change result_position default to tail (#66550) 2020-12-18 08:38:45 -05:00
graph [DOCS] Document xpack.graph.enabled setting (#60073) 2020-08-21 12:37:05 -04:00
high-availability [DOCS] Fix "the the" typos (#64344) 2020-10-29 10:11:58 -04:00
how-to [DOCS] Fix outdated heap references (#66646) 2020-12-21 14:01:12 -05:00
ilm Include date in data stream backing index names (#65205) 2020-12-14 16:46:54 -06:00
images Include date in data stream backing index names (#65205) 2020-12-14 16:46:54 -06:00
index-modules [DOCS] Fix some typos in docs (#66672) 2020-12-21 12:45:51 +02:00
indices Bust the request cache when the mapping changes (#66295) 2020-12-23 13:19:02 -05:00
ingest [DOCS] Fix URI processor title (#66068) 2020-12-09 09:26:32 -05:00
licensing [DOCS] Fix case for 'Boolean' (#64299) 2020-10-29 09:04:43 -04:00
mapping [DOCS] Fix formatting 2020-12-16 20:47:09 -05:00
migration Revert "Document new waiting on shards on index close (#66543)" 2020-12-17 21:32:16 +00:00
ml [ML] Deprecate anomaly detection post data endpoint (#66347) 2020-12-15 18:37:20 +00:00
modules Bust the request cache when the mapping changes (#66295) 2020-12-23 13:19:02 -05:00
monitoring Add info on how to disable cleaner service (#64655) (#66704) 2020-12-21 13:22:45 -05:00
query-dsl Fix range query on date fields for number inputs (#63692) 2020-12-01 18:49:50 +01:00
release-notes Fix range query on date fields for number inputs (#63692) 2020-12-01 18:49:50 +01:00
repositories-metering-api [DOCS] Fix case for 'Boolean' (#64299) 2020-10-29 09:04:43 -04:00
rest-api [DOCS] Fix timeout parameter defaults (#66111) 2020-12-21 09:02:06 -05:00
rollup [DOCS] Update rollup xrefs (#66799) 2020-12-23 13:49:15 -05:00
scripting [DOCS] Fix ingest script compilation rate and cache size (#61468) 2020-08-24 10:26:38 -04:00
search [DOCS] Fix typo (#66721) 2020-12-22 09:02:33 -05:00
searchable-snapshots [DOCS] Correct the default value of wait_for_completion query param (#65800) 2020-12-04 15:52:35 -05:00
settings [DOCS] Clarify use of CCS on ML nodes (#66616) 2020-12-22 10:11:09 -08:00
setup Ensure CI is run in FIPS 140 approved only mode (#64024) 2020-12-23 21:00:49 +02:00
slm Document Recommended Maximum Repository Size in SLM Docs (#64485) 2020-11-02 17:20:20 +01:00
snapshot-restore Include date in data stream backing index names (#65205) 2020-12-14 16:46:54 -06:00
sql Abort sorting in case of local agg sort queue overflow (#65687) 2020-12-03 19:19:15 +01:00
tab-widgets [DOCS] Improve docs for Windows DOS/UNC paths in path.* settings (#64668) 2020-11-09 10:36:48 -05:00
transform [DOCS] Drafts API changes for transform latest function (#66481) 2020-12-18 09:50:09 -08:00
upgrade [DOCS] Add missing "with" in remote reindex doc (#65532) 2020-11-30 08:32:18 -05:00
vectors [DOCS] Update my-index examples (#60132) 2020-07-27 14:46:39 -04:00
aggregations.asciidoc [DOCS] Rewrite aggs overview (#64318) 2020-10-30 08:39:38 -04:00
analysis.asciidoc [DOCS] Swap [float] for [discrete] (#60124) 2020-07-23 11:48:22 -04:00
api-conventions.asciidoc [DOCS] Make system & hidden index info more prominent. (#64839) 2020-11-11 10:35:02 -08:00
cat.asciidoc AwaitsFix for #51619 2020-08-06 09:59:56 +01:00
cluster.asciidoc Password-protected Keystore Feature Branch PR (#51123) 2020-01-27 19:51:39 -05:00
data-management.asciidoc [DOCS] Move Kibana index mgmt docs to ES (#64380) 2020-10-30 09:14:52 -04:00
data-rollup-transform.asciidoc [DOCS] Changes level offset of transform pages (#60066) 2020-07-22 10:55:48 -07:00
datatiers.asciidoc Cold tier time-range should not be specified (#65546) 2020-11-30 15:04:41 +01:00
docs.asciidoc [DOCS] Remove heading offsets for REST APIs (#44568) 2019-07-19 14:35:36 -04:00
frozen-indices.asciidoc [DOCS] Replace twitter dataset in docs (#60604) 2020-08-03 12:49:56 -04:00
getting-started.asciidoc [DOCS] Swap [float] for [discrete] (#60124) 2020-07-23 11:48:22 -04:00
glossary.asciidoc [DOCS] Rollup V2: Fix rollup index def (#65770) 2020-12-08 12:22:07 -05:00
gs-index.asciidoc [DOCS] Adding index file for GS "mini book". 2017-07-18 13:44:08 -07:00
high-availability.asciidoc [DOCS] Add docs for designing resilient clusters (#47233) 2020-06-05 11:48:44 -04:00
how-to.asciidoc [DOCS] Document shard sizing guide (#61942) 2020-09-28 09:24:40 -04:00
index-extra-title-page.html [DOCS] Add index-extra-title-page.html for direct HTML migration (#50189) 2019-12-13 12:44:12 -05:00
index-modules.asciidoc [DOCS] Update CCR docs to focus on Kibana (#60555) 2020-08-17 15:36:54 -04:00
index.asciidoc Autoscaling remove feature flags (#65973) 2020-12-14 19:06:09 +01:00
index.x.asciidoc [DOCS] Removes redundant index.asciidoc files (#30707) 2018-05-18 11:05:40 -07:00
indices.asciidoc [DOCS] Split delete index template API docs (#62074) (#62168) 2020-09-09 10:13:13 -04:00
ingest.asciidoc [DOCS] Fix ingest node.roles example (#66287) 2020-12-15 08:19:54 -05:00
intro.asciidoc [DOCS] Update rollup xrefs (#66799) 2020-12-23 13:49:15 -05:00
links.asciidoc [DOCS] Fix security links in machine learning APIs (#60098) 2020-07-23 12:14:56 -07:00
mapping.asciidoc [DOCS] Add docs for runtime fields (#62653) 2020-12-09 17:54:58 -05:00
query-dsl.asciidoc [DOCS] Add redirects for wildcard and constant keyword (#61815) 2020-09-01 15:32:35 -04:00
redirects.asciidoc Searchable snapshot terminology (#65549) 2020-11-30 17:14:47 +01:00
release-notes.asciidoc [DOCS] Adds placeholders for v8 highlights, breaking changes, release notes (#38641) 2019-02-08 15:48:42 -08:00
scripting.asciidoc [DOCS] Swap [float] for [discrete] (#60124) 2020-07-23 11:48:22 -04:00
search.asciidoc [DOCS] Display point in time API docs (#61527) 2020-08-25 11:03:41 -04:00
setup.asciidoc Update heap setting documentation in light of machine dependent heap (#66567) 2020-12-18 11:14:56 -08:00
upgrade.asciidoc [DOCS] Add tip for upgrade assistant (#55027) 2020-05-05 09:49:22 -04:00