Git Product home page Git Product logo

aide's Introduction

AIDE

ansible-lint.yml ansible-test.yml markdownlint.yml shellcheck.yml woke.yml

aide

This is an ansible role that installs and configures the Advanced Intrusion Detection Environment (AIDE). For Day 2 tasks it can run integrity checks and update the AIDE database.

Notice: This is a very early stage of a work in progress. Please use with extreme caution as it might break your system.

What does this role do for you?

  • It ensures that the aide package is installed on the remote nodes
  • As an optional task it can generate the /etc/aide.conf file and template it out to the remote nodes
  • It initializes the AIDE database
  • The AIDE databases from the remote nodes are stored in a central directory on the controller node
  • It runs AIDE integrity checks on the remote nodes
  • It updates the AIDE databases and stores them on the controller node

How does the role do that?

  • The role is controlled by using Ansible Tags
  • If you run the playbook without specifying any tag the role will change nothing on your remote nodes
  • To execute some supported use cases you need to explicitly specify one or more of the following tags

Available tags to control and use the role

  • install - With this tag the role ensures that the aide package is installed on the remote nodes
  • generate_config - Generates the file /etc/aide.conf using templates/aide.conf.j2; the template needs to be adjusted to fit your requirements; if you do not use this tag the default configuration file shipped with the aide package will be used
  • init - Initializes the AIDE database and fetches it from the remote nodes to store it on the controller node
  • check - Runs an integrity check on the remote nodes
  • update - Updates the AIDE database and stores it on the controller node

What does this role not do for you?

  • It does not explain how to create a good AIDE configuration that suits your requirements; that task remains for you to accomplish

Requirements

This role has no special requirements as it uses ansible.builtin modules only.

Role Variables

aide_db_fetch_dir

This variable takes a string to specify the directory on the Ansible Control Node (ACN) where the role will store the AIDE database fetched from the remote nodes. The default value is files which is expected to be a directory in the same directory as the playbook.

In case you like to store the fetched AIDE database files somewhere else you need to specify a different path here.

Example of setting the variables:

aide_db_fetch_dir: files

Example Playbook

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:

# SPDX-License-Identifier: MIT
---
- name: Example aide role invocation
  hosts: targets
  tasks:
    - name: Include role aide
      tags:
        - install
        - generate_config
        - init
        - check
        - update
      vars:
        aide_db_fetch_dir: files
      ansible.builtin.include_role:
        name: aide

More examples can be found in the examples/ directory.

License

MIT.

Author Information

  • Joerg Kastning

aide's People

Contributors

dependabot[bot] avatar tronde avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.