Log OpenVPN moins bavard

Vic3198 Messages postés 177 Statut Membre -  
Vic3198 Messages postés 177 Statut Membre -
Bonjour,
J'aimerais rendre le log OpenVPN moins bavard. Aujourd'hui, le log de mon serveur est réglé sur "verb 1", et il m'affiche beaucoup d'informations, mais quand je le règle sur 0, il n'y a quasiment plus rien.
Ce que je voudrais, c'est que pour une connexion acceptée, il m'affiche seulement une ou deux lignes bien identifiables, idem pour la déconnexion de l'hôte (mais même pas de log du tout pour la déconnexion m'irait), et pour les tentatives de connexion rejetées (car mauvais utilisateur etc.), là aussi, simplement une ligne ou deux avec l'IP de l'hôte ayant tenté de se connecter.

L'idée finale, c'est de faire un script qui toutes les heures vérifie le log et m'envoie par mail les lignes qui ne correspondent pas à une authentificaion réussie.
J'ai déjà fait un script du même type pour un log OpenSSH, mais c'est plus simple car le log d'une connexion tient sur une ligne avec le niveau INFO, et les lignes ne correspondant pas à une connexion authentifiée sont facilement identifiables par un script puisqu'elles ne contiennent pas "Accepted publickey"...

Une idée pour faire pareil avec OpenVPN ?

Merci d'avance,

Vic3198
A voir également:

4 réponses

mamiemando Messages postés 34169 Statut Modérateur 7 885
 
Bonjour,

Les authentifications VPN ne sont pas logguées dans
/var/log/auth.log
? Auquel cas, te mettre en niveau verb 0 deviendrait acceptable ? (Idem pour ssh).

Après j'ai envie de dire... Pour fouiller dans un log,
grep
permet de facilement extraire les lignes qui t'intéresse. Et en ce qui concerne la place consommée, les distributions linux récentes compressent automatiquement les logs anciens et finissent par supprimer les logs très anciens (voir logrotate).

Bonne chance
0
Vic3198 Messages postés 177 Statut Membre 24
 
Alors non j'ai créé un log à part /var/log/openvpn.log pour que ce soit plus propre

(idem pour ssh mais lui justement son log est peu bavard et ça me permet de faire ce que je veux)

Et je voudrais que dans ce log n'apparaisse qu'une ligne ou 2 pour chaque événement lié au VPN (connexion, déconnexion, erreur...)

--
0
UnGnU Messages postés 1158 Date d'inscription   Statut Contributeur Dernière intervention   158
 
Salut,

En jetant un oeil au man d'OpenVPN, on peut y lire :

--client-connect cmd
Run command cmd on client connection.

cmd consists of a path to script (or executable program), optionally followed by arguments. The path and arguments may be single- or double-quoted and/or escaped using a backslash, and should be separated by one or more spaces.

The command is passed the common name and IP address of the just-authenticated client as environmental variables (see environmental variable section below). The command is also passed the pathname of a freshly created temporary file as the last argument (after any arguments specified in cmd ), to be used by the command to pass dynamically generated config file directives back to OpenVPN.

If the script wants to generate a dynamic config file to be applied on the server when the client connects, it should write it to the file named by the last argument.

See the --client-config-dir option below for options which can be legally used in a dynamically generated config file.

Note that the return value of script is significant. If script returns a non-zero error status, it will cause the client to be disconnected.

--client-disconnect cmd
Like --client-connect but called on client instance shutdown. Will not be called unless the --client-connect script and plugins (if defined) were previously called on this instance with successful (0) status returns.

The exception to this rule is if the --client-disconnect command or plugins are cascaded, and at least one client-connect function succeeded, then ALL of the client-disconnect functions for scripts and plugins will be called on client instance object deletion, even in cases where some of the related client-connect functions returned an error status.

The --client-disconnect command is passed the same pathname as the corresponding --client-connect command as its last argument. (after any arguments specified in cmd ).

Qui pourrait t'aider à n'exporter que ce qui t'intéresse ;-)

Source
0
Vic3198 Messages postés 177 Statut Membre 24
 
Ah merci c'est sympa ça pour faire des actions :)
Malheureusement ce n'est pas ce que je cherche puisque je voudrais justement être informé quand il se passe sur le serveur un autre événement qu'une connexion/déconnexion d'un client connu. Par exemple, si un inconnu tente de se connecter, etc.

Pour mon log SSH, par exemple, j'ai fait un script qui cherche dans une ligne le mot clef "Accepted publickey". Si il trouve ça, je sais que c'est une ligne qui informe d'une connexion authentifiée. Sinon, c'est autre chose (un reboot, une tentative de connexion échouée, etc.) et ça m'intéresse donc le script me l'envoie par mail.

C'est pour ça que je voudrais un log assez dégagé, pour pouvoir bien identifier les lignes qui m'intéressent, pour pouvoir bien définir ce que doit chercher mon script et pour que je puisse les comprendre facilement sans avoir à me plonger dedans.
0