Skip to content

Commit

Permalink
Add ansible remediation
Browse files Browse the repository at this point in the history
For ensure_oracle_gpgkey_installed rule

Signed-off-by: Armando Acosta <[email protected]>
  • Loading branch information
mrkanon committed Aug 21, 2024
1 parent a2d0b11 commit 0316ca4
Showing 1 changed file with 43 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# platform = multi_platform_ol
# reboot = false
# strategy = restrict
# complexity = medium
# disruption = medium

- name: "{{{ rule_title }}} - Read GPG key directory permission"
ansible.builtin.stat:
path: /etc/pki/rpm-gpg/
register: gpg_key_directory_permission
check_mode: no

# It should fail if it doesn't find any fingerprints in file - maybe file was not parsed well.

- name: "{{{ rule_title }}} - Retrieve GPG key fingerprints information"
# According to /usr/share/doc/gnupg2/DETAILS fingerprints are in "fpr" record in field 10
{{% if product in ['ol8', 'ol9'] -%}}
ansible.builtin.command: gpg --show-keys --with-fingerprint --with-colons "/etc/pki/rpm-gpg/RPM-GPG-KEY-oracle"
{{%- else -%}}
ansible.builtin.command: gpg --with-fingerprint --with-colons "/etc/pki/rpm-gpg/RPM-GPG-KEY-oracle"
{{%- endif %}}
changed_when: False
register: gpg_fingerprints
check_mode: no

- name: "{{{ rule_title }}} - Set fact for installed fingerprints"
ansible.builtin.set_fact:
gpg_installed_fingerprints: "{{ gpg_fingerprints.stdout | regex_findall('^pub.*\n(?:^fpr[:]*)([0-9A-Fa-f]*)', '\\1') | list }}"

- name: "{{{ rule_title }}} - Set fact for valid fingerprints"
ansible.builtin.set_fact:
gpg_valid_fingerprints:
- "{{{ release_key_fingerprint }}}"
- "{{{ auxiliary_key_fingerprint }}}"

- name: "{{{ rule_title }}} - Import Oracle GPG key securely"
ansible.builtin.rpm_key:
state: present
key: /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
when:
- gpg_key_directory_permission.stat.mode <= '0755'
- (gpg_installed_fingerprints | difference(gpg_valid_fingerprints)) | length == 0
- gpg_installed_fingerprints | length > 0

0 comments on commit 0316ca4

Please sign in to comment.