Shell & Logs



  • Bonjour à tous,

    J'ai créé un script sh associé à un cron permettant de sauvegarder mes logs pfsense (system, portalauth, filter, dhcpd…) sur une clé USB quotidiennement.

    Je souhaiterais supprimer (ou du moins vider) ces fichiers de /var/log/ pour que la sauvegarde des logs du jour X ne contienne pas les logs du jour X -1.

    Seulement, (d'après ce que j'ai compris),

    • On ne peut pas supprimer et recréer les fichiers logs (le pfsense n'écris plus dedans... pb de taille du fichier? de droits?)
    • On ne peut pas supprimer son contenu (pour la même raison, le pfsense n'écris plus)

    En observant un fichier log "vide" il contient une ligne @^@^@^@^@^@^@^.... Peut-être est-ce nécessaire pour l'écriture des logs par pfsense?

    La seule solution que j'ai trouvé (fonctionnant) est la suppression des logs depuis l'interface web (clear ou reset log files). Dans ce cas, et seulement dans ce cas, le pfsense pourra réécrire dans les fichiers logs après suppression.

    Une solution, une commande pour vider les fichiers /var/log en shell? Ou simplement l'équivalent en shell du bouton "reset log files"? Car je souhaite automatiser cette tache.

    Merci beaucoup :)



  • (Voilà un fil pour lequel le formulaire n'est pas utile …)

    Concernant les logs, en général, il y a un standard qui s'appelle 'syslog'.

    Le principe de syslog est la possibilité de transférer d'un syslog vers un autre.
    Typiquement pour un firewall, il est A RECOMMANDER de disposer en interne d'un serveur syslog 'central' qui va récupérer au fil de l'eau les logs dudit firewall.
    Ce serveur syslog central est le lieu idéal d'examen des logs ...



  • Merci pour votre réponse,

    (Voilà un fil pour lequel le formulaire n'est pas utile …)

    C'est ironique? Oui je trouvais qu'il n'était pas nécessaire de détailler toute mon architecture réseau pour cette "simple" question…

    Concernant syslog, je ne peux malheureusement pas disposer d'une autre machine que le PfSense. Comment faire? Surtout que la demande de sauvegarde des logs sur USB a été clairement formulée par mes supérieurs..

    Merci bcp



  • (Je recommande toujours l'utilisation du formulaire A LIRE EN PREMIER car cela facilite la présentation d'un problème pratique.
    Ici c'est une problématique 'générique', d'où ma remarque.)

    La sauvegarde manuelle des différents logs sur clés USB, me semble particulièrement dénuée de sens.
    Que ferez vous quand le port USB sera défectueux à force d'insertions ?
    Et comment assurer que le fichier log du jour ne contient que les logs du jour ? (à condition que le firewall soit bien à l'heure !)

    En milieu professionnel, avec une entreprise, il est bien préférable de disposer d'un serveur syslog 'central'.
    Cela peut être un serveur ou une VM, sous Linux ou sous Windows, … il y a le choix.

    Généralement ce serveur stocke les messages, les purge, permet la recherche, permet d'exporter pour sauvegarde, ...

    Par exemple,

    Non seulement, vous recevez tous les messages syslog mais vous ne faites rien une fois configuré, il n'y a plus qu'à trier !



  • La sauvegarde manuelle des différents logs sur clés USB, me semble particulièrement dénuée de sens.

    A l'évidence c'est une fausse solution et à plusieurs titres. Même les "supérieurs" sont capables de se planter. Ce n'est pas une raison pour sauter dans le cerceau enflammé parce qu'on vous le demande.



  • Le cas de mon entreprise est particulier :

    • Le réseau "pfsense" est un réseau secondaire, qui sera accessible par les visiteurs. Nous souhaitons avoir l'architecture la plus légère possible.

    • La clé USB serait branchée en permanence et les logs ne seraient pas analysés : nous souhaitons les conserver d'un point de vu juridique uniquement.

    • Il n'est pas possible de disposer d'une machine supplémentaire (même une VM), car l'installation se fera dans un certain nombre de sites ne disposant que d'une machine, et celle-ci sera utilisée par le pfsense.

    • L'installation sera faite par des """administrateurs""" qui n'ont pas (ou très très peu) de connaissances systèmes et réseaux. J'exporterai le xml du FW avec une documentation pour les taches supplémentaires à réaliser (qui doivent être très peu nombreuses).

    Nous souhaitons donc faire au plus simple pour ce réseau secondaire. Il est impossible (pour des raisons confidentielles) d'exporter les logs de ce réseau pfsense sur un syslog central…

    Vous savez tout, y a t-il une solution pour vider toutes les logs à minuit? En supposant que les FW seront tous à l'heure?

    Merci beaucoup !



  • Je sais qu'on peut avoir accès au code de pfsense depuis github mais je ne suis pas assez expérimenté pour y comprendre quelque chose…

    Si vous pouviez m'indiquer quelles commandes effectue le pfsense quand on presse le bouton "reset log files" cela serait super!

    Merci bcp :)



  • Bon, j'ai trouvé la solution, peut-etre que ça servira à quelqu'un :

    cp /var/log/system.log /var/log/system.sav.log       //lorsque le fichier est vide !!
    
    service syslogd stop 
    
    cp /var/log/system.log /mnt/$jour/     //lorsque l'on souhaite sauvegarder les logs
    
    rm /var/log/system.log
    
    cp /var/log/system.sav.log /var/log/system.log
    
    service syslogd start
    
    

    J'ai donc sauvegarder le fichier log vide pour être sur de conserver la meme taille, les mêmes droits, etc.
    J'ai recréé le fichier log après sa suppression LORSQUE LE SERVICE EST ARRETE.

    Ca fonctionne !

    Merci bcp à vous pour vos réponses :)



  • @obliging:

    Le cas de mon entreprise est particulier :

    C'est une justification (fausse) que j’entends ou que je lis ici régilièrement pour justifié des choix le plus souvent douteux.

    • La clé USB serait branchée en permanence et les logs ne seraient pas analysés : nous souhaitons les conserver d'un point de vu juridique uniquement.

    […] Il est impossible (pour des raisons confidentielles) d'exporter les logs de ce réseau pfsense sur un syslog central…

    Vous parlez de garantir la confidentialité et l'intégrité (preuve) en stockant les informations sur une clé usb qui reste à portée de main. Vous n'êtes pas à une contradiction près. Je ne sais pas comment vous envisagez de prouver intégrité pour des information stockées sur un support aussi volatile et non protégé physiquement. Ce qui vaut aussi pour la confidentialité.
    Par ailleurs vous modifiez le code source d'un produit en confirmant vous même que vous ne savez pas ce que vous faites (je ne suis pas assez expérimenté pour y comprendre quelque chose.). Comment évaluez vous l'impacte de vos modifications sur la sécurité de Pfsense ?

    Rien de tout cela n'est vraiment sérieux.



  • +1 pour CCNET.
    -> utilisation d'un syslog distant (Graylog,ELK, Splunk etc.) mais pas une clé USB attachée à la machine.



  • J'étudierai la configuration d'un syslog distant à la fin de mon projet, je manque pas mal de temps.

    Merci bcp pour vos réponses!


Log in to reply