Mondoo 3.6.0 is out!
3.6.0
๐ FEATURES
- new: add the
--discoveroption and harmonize existing discovery methods
๐งน IMPROVEMENTS
- improve: queries labels are more detailed and better reflecting its state
- improve: updated the Kubernetes Benchmark and Windows 2019 Benchmark
- improve: added experimental env variable MONDOO_PROCFS to activate procfs use to read processes
- improve: switch arista transport scheme from
aristaeostoarista
๐ BUG FIXES AND UPDATES
- fix: fixes an issue with the k8s:// resolver where the images where not properly detected via
mondoo scan -t k8s:// - fix: fixes an issue where the Windows service start took too long
- fix: fixes an issue with Linux control that checked the grub 1 and grub 2 bootloader configuration
- fix: fixes an issue where container images and repositories from registries could not be scanned
- fix: handle case where suse 15.0 was not properly detected as eol
- fix: (part two) fallback to
/etc/hostnamefor platform identifier ifhostnamecommand is missing e.g on Arch Linux
๐ REMOVED:
- removed: we removed
SSH Server Policy, please replace it with the appropriate policy for your environment, eg. DIL
๐ฅณ new --discover option
We introduce a new --discovery and --discover-filter option to mondoo scan and mondoo shell. This allows a more clean separation between transport options via --option and discovery options. As part of this change we also enabled the discovery of container and images for the local docker agent.
Nested Scan for vSphere
Bashmondoo scan -t vsphere://root@192.168.87.7 --discover host-machines,instances --discover-filter moids="HostSystem-ha-host"# previously this would have been:mondoo scan -t vsphere://root@192.168.87.7 --option host-machines=true --option instances=true --option moids="HostSystem-ha-host"
Ability to discover all docker container and images
Bashmondoo scan -t docker:// --discover all
Explicit fetch from Container Registry
When users run mondoo scan -t docker://centos:7.8.2003 we try to use the local image from docker engine and fall-back to fetch if from remote. Users can now skip the docker resolve step and tell mondoo to go directly to the registry:
Bashmondoo scan -t cr://centos:7.8.2003
๐งน switch arista transport scheme from aristaeos to arista
Bash# beforemondoo scan -t aristaeos://admin@192.168.178.154 --ask-pass --insecure# aftermondoo scan -t arista://admin@192.168.178.154 --ask-pass --insecure
๐งช experimental procfs implementation
Allow Linux users to opt-into the procfs implementation for processes via:
MONDOO_PROCFS="on" mondoo shell -t ssh://root@$(minikube ip)
๐ Kubernetes Server + Agent Scan
To run the mondoo service on each node do the following:
- Activate the Kubernetes Benchmark in your space
- Download agent credentials
- Update the following config
YAML---# daemonset.yamlapiVersion: apps/v1kind: DaemonSetmetadata:name: mondoo-daemonsetspec:selector:matchLabels:name: mondoo-daemonsettemplate:metadata:labels:name: mondoo-daemonsetspec:tolerations:# this toleration is to have the daemonset runnable on master nodes# remove it if your masters can't run pods- key: node-role.kubernetes.io/mastereffect: NoSchedulecontainers:- name: mondoo-agentimage: docker.io/mondoolabs/mondoocommand: ['mondoo', 'serve', '--config', '/etc/opt/mondoo/mondoo.yml']volumeMounts:- name: rootmountPath: /mnt/host/readOnly: true- name: configmountPath: /etc/opt/mondoo/readOnly: trueenv:- name: DEBUGvalue: 'false'- name: MONDOO_PROCFSvalue: 'on'terminationGracePeriodSeconds: 30volumes:- name: roothostPath:path: '/'- name: configconfigMap:name: mondoo-daemonset-configitems:- key: configpath: mondoo.yml
Use your agent credentials and add them to a config map:
YAML---# daemonset-config.yamlapiVersion: v1kind: ConfigMapmetadata:name: mondoo-daemonset-configdata:config: |agentmrn: //agents.api.mondoo.app/spaces/{spaceid}/agents/{agentid}api-endpoint: https://api.mondoo.appcertificate: |-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----privatekey: |-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----spacemrn: //captain.api.mondoo.app/spaces/upbeat-haslett-916671assets:- connection: "fs:///mnt/host"
Bashkubectl apply -f daemonset-config.yamlkubectl apply -f daemonset.yaml# verify that the service runskubectl get podsNAME READY STATUS RESTARTS AGEmondoo-daemonset-dgrrz 1/1 Running 1 3d10h
๐ Equinix API support
This is the first iteration of our Equinix Metal integration. It adds the following:
- New Equinix Metal transport
- New resources to check for equinix content
We think it is best to use project-scoped API credentials. During development we ran into an issue with the API that we worked around.
To connect to equinix:
Bashexport PACKET_AUTH_TOKEN="your_token_here"mondoo shell -t equinix://projects/aa123456-a11a-b22b-c33c-123ab1cd234
Here are some sample queries:
JavaScriptequinix.metal.project { id name}equinix.metal.project.usersequinix.metal.project.users { fullName }equinix.metal.project.sshKeys {id fingerPrint}equinix.metal.project.devices { hostname }