| Propriété | Exemple | Description |
|---|---|---|
source_name | discovery | Nom de la source. doit être unique (non modifiable pour le moment) |
order | 10 | Ordre dans la consolidation de l'algorithme pour cette source . Voir dans la page Synchronizer page pour plus d'information |
import_interval | 5 | Intervalle en minute de chargement de la source. |
modules | discovery-import | module à lancer |
enabled | 0 | 1 - Activer la source 0 - Vue dans l'interface, mais ne collecte pas de données. |
| data_backend | mongodb | Backend où les données de la source est stockée (non modifiable) |
| mongodb_url | mongodb://localhost/?safe=false | URL d'accès à MongoDB (non modifiable) |
| mongodb_database | synchronizer | Base Mongo où sont stockées les données de la source (non modifiable) |
| rules_path | /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/discovery_rules.json | Fichier json comportant vos règles de découvertes (voir règles de découvertes) |
| nmap_mac_prefixes_path | /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/nmap/nmap-mac-prefixes | Fichier comportant vos propres nmap-mac-prefixes (voir nmap) |
| Info | ||
|---|---|---|
| ||
La colonne Exemple montre la valeur utilisée par le module si l'administrateur ne le saisit pas . |
Exemple de définition:
| Code Block | ||
|---|---|---|
| ||
define source {
source_name discovery
order 10
import_interval 5
module_type discovery-import
data_backend mongodb
mongodb_uri mongodb://localhost/?safe=false
mongodb_database synchronizer
rules_path /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/discovery_rules.json
nmap_mac_prefixes_path /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/nmap/nmap-mac-prefixes
}
|
Editer et ajouter une liste de scan réseau
Le scan réseau peut être défini dans la Page Principale
- Vous pouvez également ajouter des notes au sujet de ce scan.
- Vous pouvez l'activer, ou la désactiver.
| Anchor | ||||
|---|---|---|---|---|
|
Les mécanismes de règles permet d'enrichir les équipements détectés.
- Par défaut, une installation fourni une liste de règles prédéfinies.
- Vous pouvez définir vos propres règles ou surcharger les règles prédéfinies.
Vous devez pour cela éditer le fichier- /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/discovery_rules.json
- qui est au forma json.
Il y a 4 parties dans une règle:
- name: le nom et l'id de votre règle ( doit être unique )
- condition[1-9]: représente une condition qui appliquera la règle si elle est respectée
( il suffit qu'une seule condition soit bonne pour que la règle soit appliquée ) - prefix_name: ce préfixe sera ajouté au nom des éléments pour lesquels la règle s'applique ( optionnel )
Voici un exemple qui est disponible par défaut dans Shinken:
| Code Block |
|---|
{
"rules":[
{
"name": "myRuleExample",
"condition1": "os=myOS AND osversion=^2",
"condition2": "osversion=^2.6.0$",
"condition3": "macvendor=^myMacVendor",
"condition4": "ostype=myType$",
"condition5": "openports=1|2",
"prefix_name": "myRulePrefix",
"use": "myTemplate,myTemplate2"
}
]
} |
- use: Les modèles d'hôtes qui seront ajoutés en cas d'application de règles. Vous pouvez en mettre autant que vous voulez en les séparant d'une virgule.
- Les templates sont ajoutés à la suite de ceux déjà présent ( ajouté par d'autres règles )
Il peut y avoir plusieurs problèmes à l'ouverture de votre fichier de règles:
| Problèmes | Résultat |
|---|---|
| Votre fichier n'est pas au format json | Le fichier n'est pas lu et une erreur apparaît |
| Votre fichier est introuvable | Le fichier n'est pas lu et une erreur apparaît |
| Votre fichier comporte des clés inconnues | Le fichier n'est pas lu et une erreur apparaît |
| Votre fichier est vide | Le fichier n'est pas lu mais aucune erreur n'apparaît |
| Il manque une clé obligatoire dans une de vos règles | Le fichier est lu mais la règle sera désactivée |
| Une erreur se trouve dans vos conditions | Le fichier est lu mais la règle sera invalide |
| Une de vos règles est dupliquée | Le fichier est lu, seule la première itération de la règle sera prise en compte, mais le statut de la règle sera en avertissement |
Onglet de règles
Un onglet listant les règles de découvertes par défaut et celles de l'utilisateur est disponible dans la page de la discovery.
Si le fichier de règles est correctement chargé
Les règles sont listées les unes sous les autres:
- dans leur ordre de priorités ( la règle 1 étant prioritaire sur la règle 2 )
- Les lignes ont des couleurs:
- Blanc : règle par défaut
- Bleu: règle utilisateur
- Gris: règle affichée dans la liste mais sans effet.
Il existe 6 statuts pour les règles de découvertes :
| Cas | Statut |
|---|---|
| La règle est en un seul exemplaire dans votre fichier | Définir par l'utilisateur |
| Le nom de la règle existe déjà quand le fichier par défaut | Surchargé par l'utilisateur |
| Le nom de la règle est défini plusieurs fois dans le fichier utilisateur | Défini plusieurs fois |
| La règle comporte une erreur ( comme une des clés obligatoires ) | Invalide |
| La règle ne comporte pas de conditions ou de modèles d'hôtes | Désactivé |
Vous pouvez rafraîchir la liste des règles directement en appuyant sur le bouton de refresh en haut à droite , ou en appuyant sur F5.
Si le fichier de règles n'est pas correctement chargé
Dans le cas où le fichier de règles n'est pas correctement chargé ( voir les problèmes liés aux règles dans les règles de découvertes ), seules les règles par défaut sont prises en compte et un message d'erreur apparaît en haut du tableau.
Les conditions
Le mécanisme de condition porte sur les données collectés par nmap. En fonction des ces valeurs, vous allez pouvoir modifier l'hôte à proposer au Synchronizer.
Il existe plusieurs possibilités pour les conditions de vos règles :
Le résultat ( dans l'onglet Détail du dernier lancement )
Les données collectés par nmap
Les scans réalisés par nmap remontent les informations suivantes:
| nom | exemple de valeur | |
|---|---|---|
fqdn | Le nom détecté | DiskStation |
mac | l’adresse mac de l'équipement | 00:11:32:9F:09:44 |
macvendor | En fonction de l’adresse mac, nmap associe le nom d'un constructeur. ( voir le chapitre suivant ) | Synology Incorporated |
openports | Les ports identifiés comme ouvert. | 22,80,137,139,161,161,443,445,548,3261,5000,5001,5353 |
os | le nom de l'os remontée | Linux |
ostype | general purpose | |
osvendor | Linux | |
| osversion | la version de l'os |
Le mécanisme de correspondance entre macAddress et MacVendor
Lors du scan nmap effectué par la discovery, nmap utilise un fichier nommé nmap-mac-prefixes qui comporte des adresses mac associés à des macvendor (ce qui sera récupéré par nmap).
Par exemple, si votre machine récupérée par la discovery a pour MAC-address : 0050BAXXXXX, sa mac-vendor sera D-Link.
Shinken fourni par défaut un fichier nmap-mac-prefixes qui sera la référence d'nmap. Il sera mis à jour à chaque update de Shinken.
Vous pouvez cependant créer un fichier nmap-mac-prefixes dans /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/nmap/ par défaut qui surchargera celui que shinken met à votre disposition.
Votre fichier doit être au format de l'exemple donné et peut contenir des commentaires en commençant la ligne par un #.
Liste des ports par défaut pour les règles de modèles d'hôtes
Selon les ports ouverts détectés suite aux différents scans, des modèles d'hôtes seront ajoutés automatiquement aux machines détectées.
Les ports par défaut ainsi que leur modèles associés sont les suivants:
| Port | Modèle d'hôte appliqué |
|---|---|
| 22 | ssh |
| 25 | smtp |
| 53 | dns |
| 80 | http |
| 110 | pop3 |
| 143 | imap |
| 389 | ldap |
| 443 | https |
| 465 | smtps |
| 631, 9100 | printer-hp |
| 636 | ldaps |
| 993 | imaps |
| 995 | pop3s |
| 1521, 1526 | oracle |
| 1433 | mssql |
| 2301 | hp-asm ( seulement si le mac |
| 3306 | mysql |
| 27017 | mongodb |
Le retour nmap
Sécurité: paramètres de la commande nmap
La commande nmap lancée par la source discovery utilise les paramètres suivants:
- -PE : Ping Scan (Echo Request)
- -sU : Scan UDP
- -sT : Scan TCP
- --min-rate 1000 : Envoie un minimum de 1000 paquets par secondes
- --max-retries 3 : Effectue au maximum 3 retransmissions en cas d'erreur sur les scan de ports
- -T4 : Optimisation de performances
- -O : Detection des systèmes d'exploitation
- -oX : Export XML (utilisé pour l’interprétation de données par Shinken)
Précisions techniques
Clés de synchronisation
Les clés de synchronisation sont des propriétés des objets utilisées pour les identifier dans les sources. Le fonctionnement et l'utilité des clés de synchronisation sont décrits de manière plus détaillée dans la page de documentation dédiée: Précision techniques sur le fonctionnement de l'import des sources.
Les informations suivantes de la découverte réseau sont ajoutées en tant que clés de synchronisation de l'objet dans Shinken:
- host_name
- address








