Pour définir le module source Discovery:
Durant l'installation de Shinken Enterprise une source effectuant des découvertes réseau appelée discovery est créée. |
| Propriété | Valeur par défaut | 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 minutes de chargement de la source. |
modules | discovery-import | Module utilisé |
enabled | 0 | 1 - Active la source 0 - Désactive la source. Elle est visible dans l'interface, mais ne collecte pas de données. |
| data_backend | mongodb | Backend où les données de la source est stockée |
| mongodb_url | mongodb://localhost/?safe=false | URL d'accès à MongoDB |
| mongodb_database | synchronizer | Base Mongo où sont stockées les données de la source |
| 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) |
Exemple de définition:
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
}
|
Le scan réseau peut être défini dans la Page Principale
Les mécanismes de règles permet d'enrichir les équipements détectés.
Il y a 4 parties dans une règle:
Voici un exemple qui est disponible par défaut dans Shinken:
{
"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"
}
]
} |
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 |
Un onglet listant les règles de découvertes par défaut et celles de l'utilisateur est disponible dans la page du collecteur discovery.
Les règles sont listées les unes sous les autres:

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éfinie par l'utilisateur |
| Le nom de la règle existe déjà dans le fichier par défaut | Surchargée par l'utilisateur |
| Le nom de la règle est défini plusieurs fois dans le fichier utilisateur | Définie 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 rafraîchissement en haut à droite
, ou en appuyant sur F5.
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.

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 :
Les scans réalisés par nmap remontent les informations suivantes:
| Nom | Exemple | |
|---|---|---|
fqdn | Nom de domaine complètement qualifié | DiskStation |
mac | 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 ouverts | 22,80,137,139,161,161,443,445,548,3261,5000,5001,5353 |
os | Concepteur du système d'exploitation ou périphérique (par exemple Apple, Cisco, Microsoft et Linksys). Pour les projets communautaires tels qu'OpenBSD et Linux sans fournisseur de contrôle, le nom de l'osvendor est utilisé pour cette valeur. | Linux |
ostype | Le type de périphérique est une classification large telle que "router", "printer", ou "game console". Les systèmes d'exploitation universels tels que Linux et Windows, qui ont de nombreux cas d'utilisations sont classés en tant que "general purpose". | general purpose |
osvendor | l'osvendor comprend des produits tels que Windows, Linux, IOS (pour routeurs Cisco), Solaris et OpenBSD. | Linux |
osversion | la version de l'os détéctée | 3.X |
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
Votre fichier doit être au format de l'exemple donné et peut contenir des commentaires en commençant la ligne par un #.
Votre fichier viendra surchargé la liste présente par défaut dans l'installation de Shinken Entreprise.


Voici la liste des règles par défaut mise en place dans l'installation de Shinken Entreprise.
| Régle | Condition | Modèle d'hôte appliqué |
|---|---|---|
| aix | os=aix | aix |
| cisco | os=cisco | cisco |
| dns | openports=53 | dns |
| ftp | openports=21 | ftp |
| HPAsm | macvendor=hewlett packard AND openports=2301 | hp-asm |
| HPBladeChassis | os=embedded AND ostype=remote management AND osvendor=hp | hp-blade-chassis |
| HPPrinterState | openports=631 AND openports=9100 | printer-hp |
| HpUx | os=hp-ux | hpux |
| Http | openports=80 | http |
| Https | openports=443 | https |
| Imap | openports=143 | imap |
| Imaps | openports=993 | imaps |
| Ldap | openports=389 | ldap |
| Ldaps | openports=636 | ldaps |
| linux | os=linux | linux |
| mongodb | openports=27017 | mongodb |
| mssql | openports=1433 | mssql |
| mysql | openports=3306 | mysql |
| Oracle | openports=1521|1526 | oracle |
| pop3 | openports=110 | pop3 |
| pop3s | openports=995 | pop3s |
| smtp | openports=25 | smtp |
| smtps | openports=465 | smtps |
| ssh | openports=22 | ssh |
| switch | ostype=switch | switch |
| ESX | isesxhost=1 | esx |
| VMware-VM | isesxvm=1 | vmware-vm |
| Windows | os=windows | windows |
| Windows 2000 | os=windows AND osversion=2000 | windows2000 |
| Windows 2003 | os=windows AND osversion=2003 | windows2003 |
| Windows 2008 | os=windows AND osversion=vista | windows2008 |
| Windows 2008r2 | os=windows AND osversion=7 | windows2008,windows2008r2 |
| Windows 2012 | os=windows AND osversion=2012 | windows2012 |
| Windows 2016 | os=windows AND osversion=2016 | windows2016 |
La commande nmap lancée par la source discovery utilise les paramètres suivants:
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: