Thuban
2018-12-08 c8affe7502d5f8851205547874ca09a7421a081d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
[DEFAULT]
# 24h + 5min
# Time to keep banned a bad ip
watch_while = 86700
# Max tries before being banned
maxtries = 3
# pf table to keep bad IP.
# remember to clean the table with this command in a cron job :
#     /sbin/pfctl -t vilain_bruteforce -T expire 86400
vilain_table = vilain_bruteforce
 
# vilain log file
vilain_log = /var/log/daemon
 
# duration before each checks on the different log files
sleeptime = 3.0
 
### Ip ignored ###
[ignoreip]
ip1 = 127.0.0.1
 
### Guardians
#[name of the guardian]
#logfile = /file/to/watch
#regex = regex that return the bad guy IP
#maxtries = 2 #facultative
 
[ssh]
logfile = /var/log/authlog
regex = .* Failed .* from ([\S]+) .*
 
[ssh2]
logfile = /var/log/authlog
regex = .* Connection closed by ([\S]+) .*
 
#[ssh3]
#logfile = /var/log/authlog
#regex = .* Invalid user \w+ from ([\S]+) .*
 
[ssh4]
logfile = /var/log/authlog
regex = .* Disconnected from authenticating user root ([\S]+) .*
 
#[http404]
#logfile = /var/www/logs/access.log
#regex = (?:\S+\s){1}(\S+).*\s404\s.*
 
[http401]
logfile = /var/www/logs/access.log
regex = (?:\S+\s){1}(\S+).*\s401\s.*
 
[http403]
logfile = /var/www/logs/access.log
regex = (?:\S+\s){1}(\S+).*\s403\s.*
 
[smtp]
logfile = /var/log/maillog
regex = .* event=failed-command address=([\S]+) .*
maxtries = 2
 
[dovecot]
logfile = /var/log/maillog
regex = .*auth failed.*rip=([\S]+),.*
maxtries = 2
 
[wordpress]
# don't use if you have wordpress
logfile = /var/www/logs/access.log
regex = (?:\S+\s){1}(\S+).*wp-login.php.*
maxtries = 1
 
# Nextcloud: login page
# Nextcloud 12 brings protection against brute-force attacks
# but 1/ not yet tested so far 2/ system protection is probably more efficient
[nextcloud]
logfile = /var/www/htdocs/datacloud/nextcloud.log
regex = .*Bruteforce attempt from \\"(.*)\\" detected
 
# Nextcloud: public shares protected by password
# regex is compliant with NginX log format:
#     /etc/nginx/nginx.conf:
#        log_format main '$remote_addr - $remote_user [$time_local] "$request" '
#                        '$status $body_bytes_sent "$http_referer" '
#                        '"$http_user_agent" "$http_x_forwarded_for"';
[nextcloud-share]
logfile = /var/www/logs/access-nextcloud.log
regex = (\d+\.\d+\.\d+\.\d+) \-.*POST /s/\w+/authenticate HTTP/1.1\" 200