aardvark.yaml (65 lines of code) (raw):

# Port for Aardvark to listen on port: 1729 # Which backend to proxy to if request is kosher proxy_url: "http://localhost:8080/" # Max size in bytes for a request payload. 60MB. max_request_size: 62914560 # Default IP forward header from httpd ipheader: x-forwarded-for # This is the text of the 403 response if a request is blocked spam_response: "Your request has been blocked. If you feel this is in error, please let us know at: abuse@infra.apache.org. Be sure to include your IP address so we know what to look for." # Debug prints for ...debug. disabled by default debug: false # Enable persistent storage of offenders persistence: true # Suppress repeat offenders from syslog. setting `debug: true` overrides this. suppress_repeats: true # This is where we save the bad requests, for further perusal. Only one request per IP is saved (the first) savedata: /tmp/aardvark ############################## # The actual spam scan rules # ############################## # When using the naïve spam corpus for form data, this threshold causes a block. # 0 is considered perfectly sane ham, 50 is bordering on spam, 100 is definitely spam enable_naive_scan: true naive_spam_threshold: 90 # These automatically cause a ban spamurls: - "/jira/rest/api/.+/issue/AAR-\\d+/comment" # Don't run spam check here... ignoreurls: - "AttachTemporaryFile" # Match any of these to banninate postmatches: - "mobilestrikehacktools" - "monsterlegendshackx" - "router customer service" - "router customer support" - "customer service number" - "customer care phone" - "\\b(https?[:/%32AF]*\\S*essay\\S*)\\b" - "escorts" - "solitairetimes" - "myspades" - "myeuchre" - "ringtone" - "keywords INNER JOIN keyworddefs ON keywords.keywordid" - "\\b(https?[:/%32AF]*[^/\\s]*resume\\S*)\\b" - "\\b(https?[:/%32AF]*\\S*800support\\S*)\\b" - "drzafarsaifi" - "\\b(https?[:/%32AF]*\\S*dissertation\\S*)\\b" - "\\b(https?[:/%32AF]*[^/\\s]*assignment\\S*)\\b" - "\\b(https?[:/%32AF]*[^/\\s]*dumps\\S*)\\b" - "\\b(https?[:/%32AF]+[^/\\s]*lead\\S*)\\b" - "\\b(https?[:/%32AF]*\\S*poker\\S*)\\b" - "assignmenthelp" - "paperwriting" - "bestdiss" - "besttempmail" - "eventeca" - "ngaydem" - "moneyprinters" - "free[- ]watch.+?listen" - "https://tvvslivenba.co/" - "certsexpert" - "online bank" - "bank online" - "online deposit" - "deposit online" - "deposit bank" - "bank deposit" - "casino" - "money back" - "% discount" - "Full Movie Online" - "sevenmentor" - "streamsable" # Match multiple of these to ban multimatch: auxiliary: - "p.?h.?o.?n.?e" - "s.?u.?p.?p.?o.?r.?t" required: - "(1[-.\\s]+\\d\\d\\d[-.\\s]+\\d\\d\\d[-.\\s]+\\d\\d\\d\\d)"