Hi,
Mi a best practice, ha van egy CVE lista és be kellene gyűjteni azokat a szervereket, amikre nincsenek telepítve a CVE-khez tartozó patch-ek?
Olyan megoldás kellene, ami később "paraméterezhető", tehát a CVE lista bármikor változhat.
Minél natívabb ansible megoldást keresek (simán bash-sel vagy ansible+taknyolással én is meg tudom oldani).
Thx.
- 605 megtekintés
Hozzászólások
Automatikusan telepiteni is szeretned a patcheket vagy pedig csak info gyujteshez kell?
"a vegtelenbe es tovabb..."
- A hozzászóláshoz be kell jelentkezni
Egyelőre csak infót gyűjtenék.
Igazából az a fő kérdés, hogy ansible-ben hogyan tudok értelmesen bármilyen adatot begyűjteni (futtathatnék vele scriptet a managelt oldalon, stb. de minél natívabban szeretném).
- A hozzászóláshoz be kell jelentkezni
Hirtelen ezt talaltam: https://docs.ansible.com/ansible/latest/modules/package_facts_module.ht…
Meg sosem hasznaltam, de en valami ilyesmi uton indulnek el. Ha nem akarsz ganyolni akkor viszont a CVE-krol es a patchekrol is kene adatot gyujteni valahogy automatikusan.
- A hozzászóláshoz be kell jelentkezni
Thx, ránézek.
- A hozzászóláshoz be kell jelentkezni
Az Ansible Tower ezt igy cakk-pakk tudja, Security Automation neven fut. Van kozponti CVE adatbazis, a hozza tartozo remediacios scriptek, etc.
Meg nem hasznaltam, de pont mult heten lattam egy eleg meggyozo demot. Itt nezd meg az aljan a videot; https://www.ansible.com/use-cases/security-automation
- A hozzászóláshoz be kell jelentkezni
Hali,
Köszi de Tower nincs.
Van Satellite, abból is biztos ki lehet valahogy szedni.
De igazából a CVE csak egy példa volt arra a kérdésre, hogy ansible is tudja-e azt, amit bash-ben 5 sorban meg tudok oldani (bármilyen fact begyűjtése bármilyen szerverről).
Az se baj, ha nem tudja, mert az ansible igazából config management tool és nem inventory tool.
- A hozzászóláshoz be kell jelentkezni
Ha a Tower tudja, akkor 99%, hogy az AWX-ben is benne van.
- A hozzászóláshoz be kell jelentkezni
Nem tudom, hogy jól értem-e a kérdést, de errefele indulnék el: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/…
(OpenSCAP nem csak Red Hatre létezik, a nagyobb disztribúciók biztosan támogatottak, ld. https://www.open-scap.org/features/vulnerability-assessment/ )
- A hozzászóláshoz be kell jelentkezni
Köszi, de a CVE csak egy példa volt.
Másik béna példa: keresem 10k+ szerver közül azt, amin mountolva van X v. Y. v. Z storage.
Tehát ad-hoc paraméterek lekérdezése lenne a cél.
- A hozzászóláshoz be kell jelentkezni
Érzésem szerint az ansible, mint config management eszköz nem igazán erre való. Nyilván command module-al és register + return code ellenőrzéssel megoldható, de itt legfeljebb annyit segít az ansible, hogy a meglévő inventorydat és connectionödet tudja használni, nem kell neked scriptből ssh-znod. De ha nagyon akarsz, írhatsz custom facteket mindenféle célra pythonban, pont a mountokra van amúgy (ansible_mounts).
Úgy értem, hogy lehet ilyesmit írni, csak nem biztos, hogy érdemes:
- hosts: all
vars:
device_to_check: 'remote:/path'
tasks:
- set_fact:
devices: "{{ ansible_mounts | map(attribute='device') | list }}"
- debug:
msg: "{{ inventory_hostname }}"
when: device_to_check in devices
- A hozzászóláshoz be kell jelentkezni
> Érzésem szerint az ansible, mint config management eszköz nem igazán erre való.
Igen, tartottam tőle pedig jó lett volna.
- A hozzászóláshoz be kell jelentkezni
Én erre írnék egy ad-hoc playbookot ami futtat egy command module-t ami gyakorlatilag csinál egy df vagy mount parancsot és grep -c {{valami}} ahol pedig a {{valami}} az ansible playbook-nál megadott -e "valami=mount1". Valami ilyesmi lenne:
tasks:
- name: Check mount
command: bash -c "df | grep -c {{valami}}"
register: mounted
changed_when: mounted.rc != 0
failed_when: false
És akkor: ansible playbook -i hostlista check-mount.yml -e "valami=mount_neve"
Changed lesz ha nincs ott a mount, ok lesz ha ott van. De lehet, hogy én értem félre a kérdést.
- A hozzászóláshoz be kell jelentkezni
A "-e" -t felírtam, thx.
- A hozzászóláshoz be kell jelentkezni
Amennyire tudom, a setup modul pont a paraméterek lekérdezésére van, tkp. megfelel a "Gathering facts" lépésnek. Aztán ha csak a csatolt fájlrendszerek érdekelnek, akkor `-a "filter=ansible_mounts"`. Innen már szerintem el lehet indulni. (És persze `ansible-doc setup`.)
- A hozzászóláshoz be kell jelentkezni
Szerintem Ansible-CMDB megér egy próbát: https://github.com/fboender/ansible-cmdb
- A hozzászóláshoz be kell jelentkezni
Szép találat,thx.
- A hozzászóláshoz be kell jelentkezni
Ezt elteszem
- A hozzászóláshoz be kell jelentkezni