robertdebock.forensics
Ansible Role Forensics
This guide will help you install and set up forensics on your system.
| GitHub | GitLab | Downloads | Version | 
|---|---|---|---|
Example Playbook
This example comes from molecule/default/converge.yml. It is tested with every update.
---
- name: Converge
  hosts: all
  become: true
  gather_facts: true
  roles:
    - role: robertdebock.forensics
Before running the playbook, you need to prepare the machine. This preparation is done in CI by using molecule/default/prepare.yml:
---
- name: Prepare
  hosts: all
  become: true
  gather_facts: false
  roles:
    - role: robertdebock.bootstrap
You can also refer to a full explanation and example on how to use these roles.
Role Variables
The default values for the role variables are found in defaults/main.yml:
---
# defaults for forensics
# Directory where collected data is stored.
forensics_local_storage_path: /tmp/forensics
# List of commands to run.
forensics_command_list:
  - "journalctl -xe"
  - "ps -ef"
  - "lsof"
  - "systemctl status"
  - "netstat -an"
  - "netstat -tulpen"
# List of directories to gather all files from.
forensics_directory_list:
  - "/var/log"
  - "/tmp"
  - "/var/tmp"
  - "/var/spool/cron"
  - "/var/spool/anacron"
  - "/etc/cron.d"
  - "/etc/cron.daily"
  - "/etc/cron.hourly"
  - "/etc/cron.monthly"
  - "/etc/cron.weekly"
  - "/var/spool/at"
# List of specific files to collect.
forensics_file_list:
  - "/etc/passwd"
  - "/etc/group"
  - "/etc/shadow"
# Specific directories and patterns to collect.
forensics_specific_file_list:
  - path: "/root"
    pattern: ".authorized_keys"
  - path: "/root"
    pattern: ".bash_history"
  - path: "/root"
    pattern: ".history"
  - path: "/home"
    pattern: ".authorized_keys"
  - path: "/home"
    pattern: ".bash_history"
  - path: "/home"
    pattern: ".history"
Requirements
- The pip packages listed in requirements.txt.
State of Used Roles
The following roles are used to set up a system. You can choose a different method if you prefer.
| Requirement | GitHub | GitLab | 
|---|---|---|
| robertdebock.bootstrap | 
Context
This role is part of many compatible roles. Check the documentation of these roles for more information.
Here’s a visual representation of related roles:

Compatibility
This role has been tested with the following container images:
| Container | Tags | 
|---|---|
| Alpine | all | 
| Amazon | Candidate | 
| EL | 9 | 
| Debian | all | 
| Fedora | all | 
| Ubuntu | all | 
The minimum required version of Ansible is 2.12. Testing has been done on:
- The previous version.
- The current version.
- The development version.
If you find any issues, please report them on GitHub.
License
Author Information
Please consider sponsoring me.
Install and configure forensics on your system.
ansible-galaxy install robertdebock.forensics