Configurer le transfert de fichiers de script de shell SFTP

Document created by RSA Information Design and Development on Feb 6, 2017Last modified by RSA Information Design and Development on Feb 9, 2017
Version 2Show Document
  • View in full screen mode
  

Présentation

Utilisez le script de shell sasftpagent.sh pour transférer des données de log de type texte à partir des systèmes Linux. Ce script prend des tranches de données à partir des fichiers log actifs, mais il transfère uniquement les nouvelles données chaque fois que le script s’exécute.

Planifiez le script dans cron pour exécuter aussi souvent que vous le souhaitez les données des fichiers log envoyées à RSA Security Analytics Log Collector. Le script utilise le protocole SFTP ou SCP pour transférer les données.

Notez les points suivants :

  • Toutes les connexions sont établies à partir du système vers Security Analytics.
  • Le script s’exécute sur tous les shells et systèmes Unix/Linux conformes à POSIX.

    Remarque : Vous devez utiliser OpenSSH version 4.4p1 ou supérieure.

  • RSA vous recommande de configurer une tâche cron pour exécuter le script à intervalles de temps spécifiés. Toutefois, si vous définissez une tâche cron, veillez à l'exécuter en tant qu’utilisateur ayant accès aux logs qui doivent être envoyés à Security Analytics.

Cette rubrique contient les informations suivantes :

  • Améliorations de la version 3 de l’agent
  • Instructions de mise à niveau de l’agent : suivez ces étapes si vous exécutez actuellement la version 2.7 de l’agent
  • Instructions relatives à l'installation de l'agent : suivez ces étapes si vous téléchargez l’agent pour la première fois
  • Détails des paramètres de script de Shell
  • Instructions pour configurer RSA Security Analytics Log Collector afin de recevoir des fichiers log

Vous devez suivre les étapes suivantes pour terminer l’installation et la configuration de l’agent :

  1. Installez ou mettez à niveau l’agent, selon que vous l’exécutez actuellement ou non.
  2. Configurez RSA Security Analytics Log Collector afin de recevoir des fichiers log.

Améliorations de la version 3

  • Le script s’exécute sur tous les shells et systèmes Unix/Linux conformes à POSIX.
  • Attend une configuration sur /etc/rsa/sasftpagent.conf.
  • Encourage l’utilisateur à séparer la configuration du script source. Un avertissement est consigné si l’utilisateur n’effectue pas cette action.
  • L'état persistant est configuré sur /var/lib/rsa par défaut.
  • Interaction améliorée pour l’utilisateur, par exemple :

    • Prise en charge de l'exécution du script sans privilèges root.
    • L’agent a été rendu hautement configurable, ce qui permet de le configurer pour qu'il s'exécute depuis n'importe quel endroit, et de créer un répertoire à l'état persistant en tout lieu. Par exemple, les utilisateurs non-root peuvent faire persister les informations d’état dans leur répertoire personnel, en spécifiant un répertoire d'état persistant alternatif dans le fichier de configuration.
    • Une configuration spécifiée en tant que répertoire de base d’un utilisateur non-root (par ex. ~/sasftpgent.conf) est automatiquement sélectionnée lors de l’exécution en tant qu’utilisateur non-root.
    • Des options de ligne de commande (-C ou --config) ont été ajoutées pour diriger l’agent vers la configuration personnalisée.
  • Les logs sont consignés dans /var/log/rsa/sasftpagent.log. Des niveaux de consignation ont été introduits afin que les fichiers log puissent être filtrés selon les entrées WARN, ERROR et FATAL, afin d'aider à résoudre les problèmes. Ces entrées de journal permettent désormais d’effectuer un dépannage après coup.
  • Si un utilisateur oublie de modifier la configuration, une entrée de log FATAL est générée. L’entrée contient un message clair indiquant que l’utilisateur doit modifier la configuration pour que le script puisse être utilisé.

Mettre à niveau l'agent

Si vous avez utilisé une version de sasftpagent.sh antérieure à la version 3, vous devez suivre les instructions de cette section pour effectuer une mise à niveau vers la version la plus récente.

Les principales étapes sont les suivantes :

  1. Téléchargez le nouvel agent à partir de SCOL.
  2. Déplacez les informations de configuration vers /etc/rsa/sasftpagent.conf.
  3. Téléchargez le script mvpersinfo.sh.
  4. Exécutez le script mvpersinfo.sh pour déplacer des informations persistantes vers l’emplacement utilisé par la version 3.
  5. Exécutez la version 3 de l’agent.

Déplacer les informations de configuration

Dans la version 2.7, la configuration de l’utilisateur a été spécifiée à l'un des deux emplacements suivants :

  • La configuration a peut-être été modifiée à la volée dans /usr/local/sa/sasftpapgent.sh (ou à tout endroit auquel vous avez placé le script)
  • La configuration a peut-être été spécifiée séparément ; où que se trouve le paramètre CONFIG_FILE dans le script sasftpagent.sh.

Tous les paramètres que vous avez modifiés dans le script ou que vous avez spécifiés dans le fichier de configuration distinct doivent être déplacés vers un fichier distinct à l’emplacement suivant : /etc/rsa/sasftpagent.conf.

Les paramètres suivants sont ceux que les utilisateurs modifient souvent lors de la configuration :

  • SA
  • DATA_DIRECTORY
  • FILESPEC
  • FLAG_REMOVE_AFTER_SEND (définissez ce paramètre uniquement si vous souhaitez supprimer les fichiers de données automatiquement après leur transfert vers le Log Collector).

Déplacer les informations persistantes

Dans la version 2.7, les informations d’état persistantes sont conservées dans le répertoire /usr/local/sa par défaut. Elles peuvent également être spécifiées dans le paramètre PERSINFO_DIRECTORY.

Le répertoire des informations persistantes contient les fichiers de suivi où figure le nombre de lignes, pour chaque fichier de données, ayant déjà été transféré vers le Log Collector. L’agent utilise ces informations pour déterminer quelles lignes sont nouvelles dans chaque fichier, depuis la dernière exécution. Il transfère uniquement les nouvelles données et met à jour les fichiers de suivi en conséquence.

Il est important de déplacer ces fichiers vers le nouvel emplacement avant d’exécuter la version 3.0.1 de l’agent. RSA fournit un script, mvpersinfo.sh, permettant de déplacer les informations persistantes.

Exécuter le script de déplacement

Pour déplacer les informations persistantes vers leur nouvel emplacement, procédez comme suit :

  1. Copiez mvpersinfo.sh dans le système sur lequel vous exécutez la version 2.7 de l’agent.
  2. Ouvrez mvpersinfo.sh avec un éditeur de texte et vérifiez que OLD_PERSINFO_DIRECTORY est défini sur la valeur spécifiée pour PERSINFO_DIRECTORY dans votre configuration 2.7.
  3. Exécutez le script à l'aide de la commande suivante :

    sh mvpersinfo.sh

Si aucune erreur n’est présente et que le script s’exécute correctement, il ne génère pas de sortie.

Vérifiez que les fichiers ont été déplacés

Après avoir exécuté le script, vous pouvez vérifier que le déplacement a réussi à l’aide de la procédure suivante :

  1. Exécutez la commande suivante pour obtenir la liste des anciens fichiers de suivi :

    find /usr/local/sa -name "*-*last.line"

  2. Exécutez la commande suivante pour obtenir la liste des nouveaux fichiers de suivi :

    find /var/lib/rsa/sasftpagent -name "*-*last.line"

  3. Comparez la sortie des deux commandes. La sortie doit être similaire, la seule différence étant les chemins d’accès aux fichiers. Voici un exemple des résultats de l’exécution de ces commandes après le déplacement des fichiers persistants :

$ find /usr/local/sa -name "*-*last.line"

/usr/local/sa/opt/log/bar.log-sa.last.line
/usr/local/sa/opt/log/foo.log-sa.last.line
usr/local/sa/var/log/foo.log-sa.last.line
/usr/local/sa/var/log/fob.log-sa.last.line

$ find /var/lib/rsa/sasftpagent -name "*-*last.line"

/var/lib/rsa/sasftpagent/track/opt/log/bar.test-last.line
/var/lib/rsa/sasftpagent/track/opt/log/foo.test-last.line
/var/lib/rsa/sasftpagent/track/var/log/foo.test-last.line
/var/lib/rsa/sasftpagent/track/var/log/fob.test-last.line

Installer et configurer l'agent

Si vous n'effectuez pas une mise à niveau à partir d’une version précédente de l’agent, suivez les étapes décrites dans cette section pour télécharger, installer et configurer l’agent.

  1. Télécharger l’agent
  2. Créer ou configurer un compte utilisateur pour exécuter l’agent
  3. Créer et mettre à jour le fichier de configuration
  4. Planifiez l'exécution périodique de l'agent : Configurez cron ou le planificateur de votre système d’exploitation afin d’automatiser l’exécution du script à votre intervalle souhaité.

Télécharger l’agent

Procédez comme suit pour télécharger l'agent SA SFTP (sasftpagent.sh) à partir de SCOL.

  1. Connectez-vous à RSA SecurCare Online (SCOL).
  2. Dans la zone Rechercher, saisissez Agents RSA Security Analytics SFTP.
  3. Sélectionnez la page renvoyée à partir de la recherche, Agents RSA Security Analytics SFTP.
  4. Cliquez sur Agent SFTP Unix RSA Security Analytics et enregistrez le fichier n’importe où sur votre système de fichiers.
  5. Définissez les autorisations d’exécution sur le fichier sasftpagent.sh. Par exemple, exécutez la commande suivante :

    chmod 755 /usr/local/sa/sasftpagent.sh

Créez ou configurez un compte utilisateur pour exécuter l’agent

Le compte utilisateur qui exécute l’agent a besoin d’une autorisation de lecture pour le DATA_DIRECTORY qui contient les logs, et d'un accès en lecture/écriture au PERSINFO_DIRECTORY que l’agent utilise pour le stockage persistant.

Créer et mettre à jour le fichier de configuration

Créez le fichier de configuration ici : /etc/rsa/sasftpagent.conf. Si vous ne disposez pas d’un fichier de configuration, copiez le fichier de script (sasftpagent.sh) et supprimez tous les composants, à l'exception des paramètres de configuration. Mettez à jour le fichier de configuration avec les informations de votre environnement. À titre de référence, consultez le tableau Paramètres ci-dessous.

Si vous exécutez le script pour la première fois, exécutez la commande suivante, où collector-IP est l’adresse IP de votre Security Analytics Log Collector :

sftp collector-IP

Attention : Il est important d’exécuter cette commande en tant que même utilisateur que celui qui l'exécutera lors de l'automatisation.

Paramètres de script de shell

Le tableau suivant décrit les paramètres les plus importants que vous devez définir lors de la configuration du script.

                                                             
ParamètreValeursDescription :
SANom ou adresse IPNom ou adresse IP de votre hôte RSA Security Analytics Log Collector.
DATA_DIRECTORYChemin ou chemins de répertoire, séparés par deux-points (:).

Source locale pour les données de log. Par exemple :

DATA_DIRECTORY=/var/log:/var/log/audit

Vous pouvez spécifier un ou plusieurs dossiers.

Remarque : Les noms de fichier spécifiés dans le paramètre FILESPECT sont recherchés dans tous les dossiers que vous spécifiez.

FILESPECNom ou noms de fichier, séparés par deux-points (:).

Masque de fichier correspondant aux fichiers log que le script doit traiter.

Remarque : Le script prend en charge les données de texte ligne par ligne. Par conséquent, les formats .xml, .zip, .gz, .exe et non texte ne sont pas pris en charge.

Par exemple, pour traiter tous les fichiers dans le dossier :

FILESPEC=isi_webui.log:smb.log:/etc/logs/*.*

Remarque : Les fichiers que vous spécifiez peuvent résider dans différents dossiers. N’oubliez pas de répertorier tous les dossiers nécessaires dans le paramètre DATA_DIRECTORY.

SA_DIRECTORYLe nom du répertoire de votre hôte Security Analytics Log Collector

Le nom du dossier de destination. Par exemple :

/upload/apache/muditapache

TRANSFER_METHODSFTP ou SCPSFTP est le protocole de transfert par défaut (et recommandé)
USEHEADNombre entier positif, représentant le nombre de lignes d’en-tête

Nombre de lignes dans chaque fichier log à considérer comme un en-tête devant être transféré vers Log Collector à chaque transfert.

Vous pouvez définir ce paramètre sur 0 pour indiquer qu’il n’existe aucune ligne d’en-tête.

DEPTHNombre entier positif, représentant le nombre de niveaux de dossier

Régit le nombre de niveaux de profondeur que le script explore pour trouver des logs dans le DATA_DIRECTORY configuré.

Valeur par défaut DEPTH=1, ce qui pousse le script à rechercher des fichiers de données directement dans les répertoires configurés dans DATA_DIRECTORY, mais pas dans tous les sous-dossiers.

Paramètres SFTP et SCP
USERNAMEsftp Paramètre par défaut pour le processus SSH sur la plate-forme Security Analytics.
IDENTITYChemin d'accès au fichier

Emplacement de la clé privée utilisée pour se connecter à Security Analytics. Pour obtenir des instructions sur la génération de clés, reportez-vous à la section Installer et mettre à jour l'agent SFTP.

La valeur par défaut est la suivante :

$HOME/.ssh/id_rsa

Informations du script de configuration

Tous les paramètres de configuration peuvent être chargés à l’aide d’un fichier de configuration qui est distinct du script. Ce fichier doit contenir un paramètre et une valeur par ligne (à l’exception de DATA_DIRECTORY et FILESPEC, qui peuvent contenir plusieurs entrées séparées par deux-points).

Le fichier de configuration doit être situé dans le répertoire attribué par SA_DIRECTORY dans le script de shell ou dans le chemin du shell qui appelle le script. Le SA_DIRECTORY peut être remplacé dans le fichier de configuration, mais le script de shell tentera d’utiliser son propre paramètre SA_DIRECTORY pour ouvrir le fichier de configuration.

Par exemple, un fichier de configuration peut contenir les informations suivantes :

SA=10.31.246.168
DATA_DIRECTORY=/var/log/httpd
SA_DIRECTORY=/upload/apache/muditapache
USERNAME=sftp
FILESPEC=*_log*
FLAG_REMOVE_FILE_AFTER_SEND=no

Configurez RSA Security Analytics Log Collector afin de recevoir des fichiers log

Avant de configurer le Log Collector, n’oubliez pas d’exécuter la commande suivante sur toute nouvelle source d’événement à partir de laquelle Security Analytics n’a pas précédemment collecté de logs à l’aide du SFTP ou SCP :

sftp collector-IP

collector-IP est l’adresse IP de votre Security Analytics Log Collector.

Pour configurer Security Analytics afin de recevoir les fichiers log :

  1. Sur la source d’événement Linux ou Unix, exécutez la commande suivante pour générer la paire de clés publique/privée :

    ssh-keygen -b 1024 -t rsa

    Cette commande crée id_rsa au format OpenSSH, qui est utilisé par RSA Security Analytics. Si votre système Linux crée un format IETF SECSH par défaut, exécutez la commande suivante pour le convertir :

    ssh-keygen -f ~/.ssh/id_rsa.pub -i

  2. Ajoutez la clé publique dans le Log Collector, comme indiqué dans Installer et mettre à jour l'agent SFTP.

You are here
Table of Contents > Configurer le transfert de fichiers de script de shell SFTP

Attachments

    Outcomes