CLI : Connexion à un service

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

Pour se connecter et interagir avec un service Security Analytics Core (Decoder, Concentrator, Broker, Archiver, etc.), vous devez émettre au préalable la commande login. Vous devez disposer d'un compte sur ce service. À tout moment, vous pouvez saisir la commande « help login » pour plus d'informations. Voici la syntaxe de la commande login :

 login <hostname>:<port>[:ssl] <username> [password]

Par exemple : login 10.10.1.15:56005:ssl someuser

Si vous ne spécifiez pas de mot de passe, vous serez invité(e) à le saisir ; le mot de passe apparaîtra masqué.

Si vous avez configuré la confiance appropriée entre NwConsole et le point de terminaison, vous pourrez utiliser la commande tlogin et éviter d'avoir à saisir un mot de passe. La configuration de la confiance n'entre pas dans le cadre de cette documentation, mais elle consiste à ajouter le certificat SSL de NwConsole au point de terminaison via la commande send /sys peerCert op=add file-data=<pathname of cert>. Vous devez d'abord utiliser une connexion normale avec les autorisations appropriées avant de pouvoir ajouter un certificat homologue pour les connexions de confiance suivantes.

Une fois connecté(e), vous pouvez interagir avec le service du point de terminaison via un système de fichiers virtuel. Au lieu de rechercher des fichiers, vous devez rechercher les nœuds de ce service. Certains nœuds correspondent à des dossiers et disposent de nœuds enfants constituant une structure hiérarchique. Chaque nœud a une utilité et tous prennent en charge un sous-ensemble de commandes telles que info et help. Le message help affiche des informations sur les commandes prises en charge par chaque nœud. Lorsque vous vous connectez pour la première fois, vous vous trouvez sur le nœud racine, qui correspond au chemin d'accès /, comme pour un système Linux ou Mac. Pour afficher la liste des nœuds sous /, saisissez la commande ls.

Tous les services disposent de nœuds tels que sys et logs. Pour interagir avec l'API /logs, vous pouvez tout d'abord envoyer la commande help  au nœud /logs. Pour cela, vous devez utiliser le message send avec cette syntaxe :

 Usage: send {node pathname} {message name} [name=value [name=value]]

[file-data=<pathname>] [string-data=<text>] [binary-data=<text>]
[output-pathname=<pathname>] [output-append-pathname=<pathname>]
[output-format={text,json,xml,html}]
Sends a command to a remote pathname. For remote help, use "send <pathname>help" for details.

pathname - The node pathname to retrieve information on
message - The command (message) to send
parameters - Zero or more name=value parameters for the command
file-data - Loads data from a file and send as either a BINARY
message or as a PARAMS_BINARY message if other
parameters exist
string-data - Sends text as a STRING message type
binary-data - Send text as either a BINARY message type or as a
PARAMS_BINARY message type if other parameters
exist
output-pathname - Writes the response output to the given pathname,
overwriting any existing file
output-append-pathname - Writes the response output to the given pathname,
will append output to an existing file
output-format - Writes the response in one of the given formats,
the default is text

Donc, pour envoyer un message help, vous allez envoyer ce qui suit :

send /logs help

Et votre réponse doit ressembler à ce qui suit :

  description: A container node for other node types
security.roles: everyone,logs.manage
message.list: The list of supported messages for this node
ls: [depth:<uint32>] [options:<string>] [exclude:<string>]
mon: [depth:<uint32>] [options:<uint32>]
pull: [id1:<uint64>] [id2:<uint64>] [count:<uint32>] [timeFormat:<string>]
info:
help: [msg:<string>] [op:<string>] [format:<string>]
count:
stopMon:
download: [id1:<uint64>] [id2:<uint64>] [time1:<date-time>] [time2:<date-time>] op:<string>
[logTypes:<string>] [match:<string>] [regex:<string>] [timeFormat:<string>] [batchSize:<uint32>]
timeRoll: [timeCalc:<string>] [minutes:<uint32>] [hours:<uint32>] [days:<uint32>] [date:<string>]

Pour obtenir plus d'informations sur un message ou une commande spécifique, vous pouvez spécifier msg=<message name> au sein de la commande d'aide en guise de paramètre. Par exemple, consultez l'aide du message pull :

send /logs help msg=pull

  pull: Downloads N log entries
security.roles: logs.manage
parameters:
id1 - <uint64, optional> The first log id number to retrieve, this is mutually exclusive with id2
id2 - <uint64, optional> The last log id number that will be sent, defaults to most recent log
message when id1 or id2 is not sent
count - <uint32, optional, {range:1 to 10000}> The number of logs to pull
timeFormat - <string, optional, {enum-one:posix|simple}> The time format used in each log message,
default is posix time (seconds since 1970)

L'aide du message intégrée indique que ce message capture les dernières entrées de log N si vous abandonnez id1 et id2. Pour consulter les 10 dernières entrées de log de ce service, saisissez :

send /logs pull count=10 timeFormat=simple

Presque toutes les commandes du service applique ce format simple. Les seules commandes qui ne procèdent pas de la sorte sont celles qui requièrent un protocole compliqué, comme l'importation d'un PCAP vers un service Decoder. Pour importer un PCAP, utilisez la commande import de NwConsole, qui prend en charge le protocole de canal de communication compliqué.

Certains paramètres sont spécifiques à la commande send de NwConsole et qui, en réalité, ne sont pas envoyés au service. Vous pouvez utiliser ces paramètres pour modifier le format de sortie de la réponse, écrire la réponse dans un fichier, ou lire un fichier à partir de la machine locale et l'envoyer au service.

  • output-format — Ce paramètre remplace la sortie normale de la commande au format texte brut par l'un de ces types : JSON, XML ou HTML.
  • output-pathname — Au lieu d'écrire le résultat sur le terminal, il l'écrit dans le dossier spécifié (tout fichier existant est tronqué).
  • output-append-pathname — Comparable à output-pathname sauf que la sortie est ajoutée à un fichier existant (ou un fichier est créé s'il n'existe pas).
  • file-data — Lit un fichier et l'utilise en tant que charge utile de commande. Cela est utile pour les commandes telles que /sys fileEdit. L'exemple suivant indique comment envoyer un fichier index-concentrator-custom.xml mis à jour à l'aide de NwConsole :
 send /sys fileEdit op=put filename=index-concentrator-custom.xml file-data="/Users/user/Documents/index-concentrator-custom.xml"
  • string-data — Envoie la charge utile de commande en tant que chaîne au lieu d'une liste de paramètres.
  • binary-data — Envoie la charge utile de commande en tant que binaire au lieu d'une liste de paramètres.

Exemple de requête de flux dans un fichier JSON (peut correspondre à un ensemble de résultats importants) :

 send /sdk query size=0 query="select * where service=80 && time='2015-03-05 13:00:00'-'2015-03-05 13:59:59'" output-format=json output-pathname=/tmp/query.json 

Pour parcourir la hiérarchie des nœuds virtuels du service, vous pouvez utiliser la commande cd de la même manière que la commande shell. Cela couvre les bases en matière de connexion et d'interaction avec un service. Une fois que vous êtes connecté(e), la commande help affiche toutes les commandes que vous pouvez utiliser pour interagir avec le point de terminaison. Si vous n'êtes pas connecté(e) à un point de terminaison, ces commandes ne s'affichent pas.

You are here
Table of Contents > Console RSA Security Analytics > Connexion à un service

Attachments

    Outcomes