The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Ixchel::Actions::lilith_config - Generates the config for Lilith.

VERSION

Version 0.2.0

CLI SYNOPSIS

ixchel -a lilith_config [-w] [-o <outfile>]

CODE SYNOPSIS

    use Data::Dumper;

    my $results=$ixchel->action(action=>'lilith_config', opts=>{});

    if ($results->{ok}) {
        print $results->{config};
    }else{
        die('Action errored... '.joined("\n", @{$results->{errors}}));
    }

FLAGS

-w

Write it out.

-o <outfile>

The file to write it out to.

Default :: /usr/local/etc/lilith.toml

CONFIG

.lilith.config is used for generating the config.

AUTO CONFIG

If .lilith.auto_config.enabled=1 is set, then it it will automatically fill out the monitored instances.

For single instances setups it is done as below.

    Suricata -> $hostname-pie      -> /var/log/suricata/alert.json
    Sagan    -> $hostname-lae      -> /var/log/sagan/alert.json
    CAPEv2   -> $hostname-malware  -> /opt/CAPEv2/log/eve.json

For multi-instance it is done as below.

    Suricata -> $hostname-$instance -> /var/log/suricata/alert-$instance.json
    Sagan    -> $hostname-$instance -> /var/log/sagan/alert-$instance.json
    CAPEv2   -> $hostname-malware   -> /opt/CAPEv2/log/eve.json (or wherever .cape.eve set to)

For hostname .lilith.auto_config.full=1 is set, then the full hostname is used. Otherwise it will use the shorthostname via removing everything after the first /\./ via s/\.+$//.

The variables used for checking which should be enabled are the usual enable ones as below.

    .suricata.enable
    .sagan.enable
    .cape.enable

This expects that the instane naming scheme does not overlap and will error if any of them do overlap, including if they are already defined in .lilith.config .

RESULT HASH REF

    .errors :: A array of errors encountered.
    .status_text :: A string description of what was done and the results.
    .ok :: Set to zero if any of the above errored.
    .config :: The generated config.