PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Guillaume Vaillant : OpenVPN: log et fail2ban

lundi 6 janvier 2014 à 12:00

Récemment, j’ai eu à monter un serveur OpenVPN.

Personnellement, quand je monte ce type de services, j’aime bien avoir trois choses:

Le problème, c’est que par défaut, ces outils ne gèrent pas ou mal OpenVPN. Cet article n’explique pas comment installer et configurer un serveur VPN, juste comment configurer logrotate, fail2ban et logwatch.

Un peu de conf dans OpenVPN:

Je préfère que OpenVPN écrive dans ses propres fichiers de logs plutôt que dans syslog, je fais ça comme ça:

### dans /etc/openvpn/monVPN.conf:
# ...
## logs:
status /var/log/openvpn/status.log
log-append  /var/log/openvpn/server.log
verb 3
mute 10
# ...

Logrotate:

C’est tous simple, il suffit de rajouter un fichier opevpn.conf dans /etc/logrotate.d/:

/var/log/openvpn/*.log
{
    weekly
    rotate 52
    missingok
    notifempty
    delaycompress
    compress
    copytruncate
}

Avec le copytruncate, on évite de planter OpenVPN en voulant le faire redémarrer par logrotate.

Fail2Ban:

À peine plus compliqué:

[Definition]
failregex = :\\d{1,5} TLS Auth Error
    :\\d{1,5} VERIFY ERROR:
    :\\d{1,5} TLS Error: TLS handshake failed
[openvpn]
enabled = true
protocol = udp
port    = 1194
filter    = openvpn
logpath = /var/log/openvpn/server.log

Logwatch:

Là, c’est un peu plus compliqué: il faut modifier le script qui parse les logs, ajouter un script pour filtrer correctement les dates et configurer le tout.

Tout ce passe dans /etc/logwatch/:

LogFile = /var/log/openvpn/server.log
Archive = /var/log/openvpn/server.log.*
Title = "OpenVPN"
LogFile = openvpn
*ApplyOpenVPNDate
*RemoveHeaders =
$openvpn_ip_lookup = No

 

Gravatar de Guillaume Vaillant
Original post of Guillaume Vaillant.Votez pour ce billet sur Planet Libre.

Articles similaires