-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
4.13.z, 4.12.z, 4.14.z, 4.15.z, 4.16.0
-
None
-
Moderate
-
No
-
False
-
Description of problem:
On a fips enabled cluster, when fileintegritynodestatus is Failed, applying a aide config with disallowed algorithm, the fileintegritynodestatus is different for nodes. Some of them show "Failed", the others show "Erroed" % oc get fileintegritynodestatus NAME NODE STATUS example-fileintegrity-ip-10-0-11-7.us-east-2.compute.internal ip-10-0-11-7.us-east-2.compute.internal Errored example-fileintegrity-ip-10-0-5-4.us-east-2.compute.internal ip-10-0-5-4.us-east-2.compute.internal Errored example-fileintegrity-ip-10-0-52-138.us-east-2.compute.internal ip-10-0-52-138.us-east-2.compute.internal Errored example-fileintegrity-ip-10-0-54-206.us-east-2.compute.internal ip-10-0-54-206.us-east-2.compute.internal Failed example-fileintegrity-ip-10-0-64-198.us-east-2.compute.internal ip-10-0-64-198.us-east-2.compute.internal Failed example-fileintegrity-ip-10-0-76-239.us-east-2.compute.internal ip-10-0-76-239.us-east-2.compute.internal Errored
Version-Release number of selected component (if applicable):
4.16.0-0.nightly-2024-04-23-032717 + file-integrity-operator.v1.3.3
How reproducible:
Always
Steps to Reproduce:
1. Install file-integrity-operator.v1.3.3 2. Create a fileintegrity with the default config 3. Trigger fileintegrity failures on each node $ for node in `oc get node --no-headers | awk '{print $1}'`; do oc debug node/$node -- chroot /host mkdir /etc/test; done 4. Create a new configmap from a aide-config with md5 algorithm configured: $ oc create configmap myconf --from-file=aide-conf=./testmd5 $ oc apply -f - <<EOF apiVersion: fileintegrity.openshift.io/v1alpha1 kind: FileIntegrity metadata: name: example-fileintegrity namespace: openshift-file-integrity spec: config: name: myconf namespace: openshift-file-integrity key: aide-conf gracePeriod: 15 debug: true EOF 5. Check the fileintegritynodestatus
Actual results:
The fileintegrityndoestatus is different on different nodes. Some aide pod restart, thus no "Use of FIPS disallowed algorithm under FIPS mode exit status 255" or err message on nodes. % oc get fileintegritynodestatus NAME NODE STATUS example-fileintegrity-ip-10-0-11-7.us-east-2.compute.internal ip-10-0-11-7.us-east-2.compute.internal Errored example-fileintegrity-ip-10-0-5-4.us-east-2.compute.internal ip-10-0-5-4.us-east-2.compute.internal Errored example-fileintegrity-ip-10-0-52-138.us-east-2.compute.internal ip-10-0-52-138.us-east-2.compute.internal Errored example-fileintegrity-ip-10-0-54-206.us-east-2.compute.internal ip-10-0-54-206.us-east-2.compute.internal Failed example-fileintegrity-ip-10-0-64-198.us-east-2.compute.internal ip-10-0-64-198.us-east-2.compute.internal Failed example-fileintegrity-ip-10-0-76-239.us-east-2.compute.internal ip-10-0-76-239.us-east-2.compute.internal Errored % oc get pod NAME READY STATUS RESTARTS AGE aide-example-fileintegrity-lqqsc 1/1 Running 1 (26m ago) 26m aide-example-fileintegrity-n6t5v 1/1 Running 0 26m aide-example-fileintegrity-nn7mb 1/1 Running 0 26m aide-example-fileintegrity-sng25 1/1 Running 1 (26m ago) 26m aide-example-fileintegrity-z55sw 1/1 Running 0 26m aide-example-fileintegrity-zthdn 1/1 Running 0 26m file-integrity-operator-7894fbc8dd-7s8bg 1/1 Running 1 (3h23m ago) 3h23m xiyuan@xiyuan-mac 1 % oc logs pod/aide-example-fileintegrity-n6t5v | head 2024-04-25T08:33:30Z: Starting the AIDE runner daemon W0425 08:33:30.428351 1 client_config.go:618] Neither --kubeconfig nor --master was specified. Using the inClusterConfig. This might not work. 2024-04-25T08:33:30Z: running aide check 2024-04-25T08:33:30Z: aide check returned status 20 2024-04-25T08:33:30Z: force-initializing AIDE db 2024-04-25T08:33:30Z: Error initializing the AIDE DB: Use of FIPS disallowed algorithm under FIPS mode exit status 255 2024-04-25T08:33:30Z: warning: couldn't report the daemon failure (the server could not find the requested resource) E0425 08:33:31.509779 1 retrywatcher.go:129] "Watch failed" err="context canceled" E0425 08:33:32.510725 1 retrywatcher.go:129] "Watch failed" err="context canceled" E0425 08:33:33.510782 1 retrywatcher.go:129] "Watch failed" err="context canceled" % oc logs pod/aide-example-fileintegrity-lqqsc | grep -i err % oc logs pod/aide-example-fileintegrity-lqqsc | head 2024-04-25T08:33:45Z: Starting the AIDE runner daemon W0425 08:33:45.999374 1 client_config.go:618] Neither --kubeconfig nor --master was specified. Using the inClusterConfig. This might not work. 2024-04-25T08:33:46Z: running aide check 2024-04-25T08:33:46Z: aide check returned status 20 2024-04-25T08:34:01Z: running aide check 2024-04-25T08:34:01Z: aide check returned status 20 2024-04-25T08:34:16Z: running aide check 2024-04-25T08:34:16Z: aide check returned status 20 2024-04-25T08:34:31Z: running aide check 2024-04-25T08:34:31Z: aide check returned status 20 ## For the one shows Failed, there is no entry info in the result configmap: % oc extract cm/aide-example-fileintegrity-ip-10-0-64-198.us-east-2.compute.internal-failed --confirm integritylog % cat integritylog Algo MD5 is not available ## For the one shows Failed, there is previous failure info in the configmap: % oc extract cm/aide-example-fileintegrity-ip-10-0-52-138.us-east-2.compute.internal-failed --confirm integritylog % cat integritylog Start timestamp: 2024-04-25 08:32:24 +0000 (AIDE 0.16) AIDE found differences between database and filesystem!! Summary: Total number of entries: 35119 Added entries: 1 Removed entries: 0 Changed entries: 0 --------------------------------------------------- Added entries: --------------------------------------------------- d++++++++++++++++: /hostroot/etc/test --------------------------------------------------- The attributes of the (uncompressed) database(s): --------------------------------------------------- /hostroot/etc/kubernetes/aide.db.gz SHA1 : 0A4L6p4Bmef3qkPnlRg/zEuxvtE= SHA256 : JxAcDYKI58auMUyIPXOUEKn5ARSFivgi 42GPZiISCHs= SHA512 : QD678rghHLwhhGknv+9cwlbfeo3c+dyW 4UQacZyeHzBv7n7XB44TZmfjoquYDcB/ 5XHwaeRYXT6yiJzbezBhxw== End timestamp: 2024-04-25 08:32:53 +0000 (run time: 0m 29s)
Expected results:
The fileintegrityndoestatus on all nodes should be the same, should all be Errored.
Additional info:
The logs is available at: https://drive.google.com/drive/folders/12g5610Mn9kl_iONVgp77FixrLbXK-jRV