lfd:loginfailurecustomtriggers

Configure custom regex matching patterns for use by the login failure daemon.

juggernaut --task=lfd:loginfailurecustomtriggers --oper=<trigger_add|trigger_edit|trigger_del> --name=<string>
Option
Value Description
--oper <string> The operation you want to perform. Operations: trigger_add, trigger_edit, trigger_del
--name <string> A unique identifier for this custom rule. It must be alphanumeric and have no spaces.
--log_file <string> The log file that needs to be scanned for log line matches. Log files: HTACCESS_LOG, MODSEC_LOG, SSHD_LOG, SU_LOG, FTPD_LOG, SMTPAUTH_LOG, POP3D_LOG, IMAPD_LOG, IPTABLES_LOG, SUHOSIN_LOG, BIND_LOG, SYSLOG_LOG, CUSTOM1_LOG-CUSTOM9_LOG
--message <yes> Text for custom failure message.
--patterns <yes> The regex pattern to match. Single quotes must be properly escaped replacing a single quote with '\''
--ip_address <digit> The capture group position of the IP address.
--trigger <digit> The trigger level for blocking.
--ports <digit1,digit2> The ports to block the IP from in a comma separated list, only used if LF_SELECT is enabled.
--block_time <0-604800> The block time in seconds. n/temporary (n = number of seconds to temporarily block) or 1/permanant IP block, only used if LF_TRIGGER is disabled.
--cloudflare <1|0> Whether to trigger Cloudflare block if CF_ENABLE is set.
--enabled <1|0> Enable or disable the trigger.
--restart <yes> Restart the service after saving settings.

Examples

// add a custom trigger for mysql
juggernaut --oper=trigger_add --name='mysqld' --log_file='CUSTOM_LOG' --message='Failed mysqld login with username [$1] from' --ip_address=2 --trigger=5 --ports=3306 --block_time=86400 --cloudflare=1 --enabled=1 --patterns='^(?:\d+ |\d{6} \s?\d{1,2}:\d{2}:\d{2} )?\[Warning\] Access denied for user \'\''(\w+)\'\''\@\'\''(\S+)\'\'' (?:to database \'\''[^\'\'']*\'\''|\(using password: (?:YES|NO)\))*\s*$'

// remove the custom mysql trigger
juggernaut -oper=trigger_del --value='mysqld'