Un service Firewall autonome pour votre serveur
|on va voir maintenant comment installer un serveur firewall pour votre serveur linux, il sera autonome et capable d’interdire aux attaquants de revenir vous voir
le programme est fail2ban, très pratique, il est configuration très facilement.
il se base sur l’analyse des logs pour déterminer les attaques
comme habitude on lance un
apt-get install fail2ban
la partie de configuration est assuré par 2 fichiers
jail.conf qui contient la définition des logs a analyser et la fréquence d’intrusion
[ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 2
on active via true sur le ligne enabled
on analyse le port ssl
le filter est le fichier d’analyse que l’on verra après
le logpath est le fichier log a analyser
et maxretry est le nombre de fois que l’attaque ne dois pas dépasser
ensuite le fichier fail2ban.conf ; la configuration a propre parlé de fail2ban
# Fail2Ban configuration file # # Author: Cyril Jaquier # # $Revision$ # [Definition] # Option: loglevel # Notes.: Set the log level output. # 1 = ERROR # 2 = WARN # 3 = INFO # 4 = DEBUG # Values: NUM Default: 3 # loglevel = 2 # Option: logtarget # Notes.: Set the log target. This could be a file, SYSLOG, STDERR or STDOUT. # Only one log target can be specified. # Values: STDOUT STDERR SYSLOG file Default: /var/log/fail2ban.log # logtarget = /var/log/fail2ban.log # Option: socket # Notes.: Set the socket file. This is used to communicate with the daemon. Do # not remove this file when Fail2ban runs. It will not be possible to # communicate with the server afterwards. # Values: FILE Default: /var/run/fail2ban/fail2ban.sock # socket = /var/run/fail2ban/fail2ban.sock
il n’y a que le loglevel à personnaliser ici, par défaut il est sur 3 mais je conseille de le mettre sur 2
dans le répertorie action.d qui se situe ici
/etc/fail2ban/action.d/
il y a un fichier important a configurer qui est sendmail.conf, ou vous pouvez renseigner l’adresse mail du destinataire des attaques, par défault c ROOT
dans le répertorie filter.d, vous retrouver les filtres qui servent à analyser les fichiers logs
si on analyse le fichier sshd
cat /etc/fail2ban/filter.d/sshd.conf
voici son contenu
# Fail2Ban configuration file # # Author: Cyril Jaquier # # $Revision$ # [INCLUDES] # Read common prefixes. If any customizations available -- read them from # common.local before = common.conf [Definition] _daemon = sshd # Option: failregex # Notes.: regex to match the password failures messages in the logfile. The # host must be matched by a group named "host". The tag "" can # be used for standard IP/hostname matching and is only an alias for # (?:::f{4,6}:)?(?P[\w\-.^_]+) # Values: TEXT # failregex = ^%(__prefix_line)s(?:error: PAM: )?Authentication failure for .* from \s*$ ^%(__prefix_line)s(?:error: PAM: )?User not known to the underlying authentication module for .* from \s*$ ^%(__prefix_line)sFailed (?:password|publickey) for .* from (?: port \d*)?(?: ssh\d*)?$ ^%(__prefix_line)sROOT LOGIN REFUSED.* FROM \s*$ ^%(__prefix_line)s[iI](?:llegal|nvalid) user .* from \s*$ ^%(__prefix_line)sUser .+ from not allowed because not listed in AllowUsers$ ^%(__prefix_line)sauthentication failure; logname=\S* uid=\S* euid=\S* tty=\S* ruser=\S* rhost=(?:\s+user=.*)?\s*$ ^%(__prefix_line)srefused connect from \S+ \(\)\s*$ ^%(__prefix_line)sAddress .* POSSIBLE BREAK-IN ATTEMPT!*\s*$ ^%(__prefix_line)sUser .+ from not allowed because none of user's groups are listed in AllowGroups\s*$ # Option: ignoreregex # Notes.: regex to ignore. If this regex matches, the line is ignored. # Values: TEXT # ignoreregex =
il tout a fait possible de rajouter de nouveau fichier d’analyse
n’oubliez pas de rajouter leur déclaration dans le fichier /etc/fail2ban/jail.conf
si vous voulez rajouter Fail2ban a webmin voici le lien de telechargement de l’extension