Informació de les connexions sense agent per als dispositius de xarxa
Cyberwatch escaneja els dispositius de xarxa (encaminadors, commutadors, tallafocs, appliances…) amb connexió sense agent, per SNMP al port UDP 161. L’escaneig consulta l’agent SNMP del dispositiu, sense instal·lar-hi ni modificar-hi res, i recupera:
- el sistema i la seva versió (microprogramari), de la qual es dedueixen les vulnerabilitats;
- el nom d’amfitrió i les adreces IP;
- metadades: ubicació, número de sèrie, model, rol d’alta disponibilitat, venciments de llicència…;
- els ports en escolta;
- problemes de seguretat de la configuració SNMP.
La matriu de fluxos figura als requisits de les connexions sense agent, i els dispositius compatibles, a la llista de sistemes compatibles.
Versions i credencials SNMP
Cyberwatch és compatible amb SNMP v1, v2c i v3:
- en v1 i v2c, la credencial és una comunitat;
- en v3, l’usuari ha de tenir autenticació i xifratge (nivell de seguretat
authPriv). Els nivellsnoAuthNoPriviauthNoPrivno són compatibles.
Els protocols d’autenticació disponibles són SHA, SHA-256, SHA-512 i MD5, i els protocols de xifratge, AES, AES-256 i DES.
Recomanem SNMPv3 amb SHA-256 o SHA-512 i AES. Un escaneig en v1 o v2c, o amb un usuari SNMPv3 en MD5 o en DES, genera un problema de seguretat a l’actiu.
Vistes MIB que cal autoritzar
Cyberwatch només necessita accés de lectura. La vista SNMP de l’usuari o de la comunitat utilitzada ha d’incloure les branques següents:
| MIB | Arrel d’OID | Dades llegides | Si la vista l’exclou |
|---|---|---|---|
| SNMPv2-MIB, grup system | 1.3.6.1.2.1.1 | Descripció, identificador d’objecte (sysObjectID), temps de funcionament, nom, ubicació i contacte | L’escaneig falla. |
| Branca del fabricant | 1.3.6.1.4.1.<número> | Sistema, versió i característiques pròpies del fabricant | La detecció falla, vegeu Si la detecció falla. |
| HOST-RESOURCES-MIB | 1.3.6.1.2.1.25 | Temps de funcionament del dispositiu; programari instal·lat, que dona la versió d’alguns dispositius | El temps de funcionament és el de l’agent SNMP. La versió d’aquests dispositius no es detecta, i la detecció falla per a Cisco ISE, Ucopia, i Juniper quan la descripció no dona la versió. |
| IP-MIB, OSPF-MIB | 1.3.6.1.2.1.4, 1.3.6.1.2.1.14 | Adreces IP | Falten les adreces IP. |
| ENTITY-MIB | 1.3.6.1.2.1.47 | Fabricant, model, número de sèrie i revisió de maquinari del xassís | El model i el número de sèrie es llegeixen a la branca del fabricant, quan els dona. La detecció d’Arista, que hi llegeix la seva versió, falla. |
| TCP-MIB, UDP-MIB | 1.3.6.1.2.1.6, 1.3.6.1.2.1.7 | Ports en escolta | Falten els ports. |
| SNMP-USER-BASED-SM-MIB, SNMP-VIEW-BASED-ACM-MIB, SNMP-COMMUNITY-MIB | 1.3.6.1.6.3.15, 1.3.6.1.6.3.16, 1.3.6.1.6.3.18 | Usuaris SNMPv3, accessos v1/v2c i comunitats configurats al dispositiu | Només s’indiquen els problemes de seguretat de la credencial utilitzada. |
<número> és el número d’empresa IANA del fabricant, amb el qual comença l’identificador d’objecte del dispositiu: 1.3.6.1.4.1.9.1.… per a un dispositiu Cisco, per exemple. Un dispositiu basat en l’agent net-snmp també llegeix les branques de net-snmp (1.3.6.1.4.1.8072 i 1.3.6.1.4.1.2021), i la del seu editor. Per tant, una vista que inclou 1.3.6.1.2.1 i 1.3.6.1.4.1 cobreix totes les branques necessàries.
Les tres taules de 1.3.6.1.6.3 descriuen la configuració SNMP del dispositiu. Obrir-les a Cyberwatch és opcional. Cyberwatch només n’obté problemes de seguretat: no mostra mai una comunitat que no sigui a la llista de comunitats febles, ni el nom d’un usuari sense autenticació.
Fora del grup system i de la branca del fabricant, una taula absent, exclosa de la vista o que no respon no fa fallar l’escaneig: simplement falta la informació corresponent.
Metadades
L’escaneig obté metadades, que es mostren a la pestanya «Metadades» de l’actiu. S’actualitzen a cada escaneig correcte: una metadada que l’escaneig ja no llegeix desapareix. Els valors buits i els valors per defecte dels agents SNMP (Unknown, root@localhost…) s’ignoren, i un valor es trunca a 255 caràcters.
Metadades comunes
Aquestes metadades es llegeixen a les MIB estàndard, sigui quin sigui el fabricant:
| Clau | Origen | Descripció |
|---|---|---|
snmp-location | sysLocation (SNMPv2-MIB) | Ubicació declarada a la configuració SNMP |
snmp-contact | sysContact (SNMPv2-MIB) | Contacte declarat a la configuració SNMP |
system-manufacturer | entPhysicalMfgName (ENTITY-MIB) | Fabricant del xassís |
system-product-name | entPhysicalModelName (ENTITY-MIB), si no, branca del fabricant | Model del xassís |
system-serial-number | entPhysicalSerialNum (ENTITY-MIB), si no, branca del fabricant | Número de sèrie del xassís |
system-version | entPhysicalHardwareRev (ENTITY-MIB) | Revisió de maquinari del xassís, i no versió del microprogramari |
snmp-agent-version | versionTag (UCD-SNMP-MIB) | Versió de l’agent net-snmp |
Les columnes d’ENTITY-MIB es llegeixen a la primera entitat de classe xassís. Quan ENTITY-MIB no dona ni model ni número de sèrie, es llegeixen a la branca del fabricant, per a la majoria dels fabricants compatibles.
Les claus system-* són les que obté l’escaneig dels actius Linux. Per tant, un mateix filtre, per exemple meta:system-serial-number:FCW2140, troba tant un servidor com un dispositiu de xarxa.
Metadades pròpies d’alguns dispositius
| Clau | Dispositius | Valor |
|---|---|---|
ha-state | Check Point, Cisco ASA, F5 BIG-IP, FortiGate, Juniper | Estat d’alta disponibilitat, standalone fora de clúster per a Cisco ASA, Check Point, F5 BIG-IP i FortiGate. En clúster, Cisco ASA, Check Point i F5 BIG-IP donen el rol del dispositiu (active, standby, offline per a F5, active-attention per a Check Point…). FortiGate dona el mode del clúster (active-active, active-passive), el mateix a cada membre. Juniper: virtual-chassis per a un Virtual Chassis, cap valor per a un dispositiu sol. |
virtual-chassis-member | Juniper | Un membre del Virtual Chassis per valor: identificador, rol, número de sèrie, model i versió, per exemple 9 master LX0213388389 ex4550-32f 15.1R7-S10 |
config-unsaved | Cisco (IOS, IOS XE, IOS XR, NX-OS, ASA…) | true si la configuració en curs s’ha modificat des de l’última vegada que es va desar, si no, false |
boot-image | Extreme Networks EXOS | Imatge iniciada: primary o secondary |
firmware-pending-version | Extreme Networks EXOS | Versió de la imatge triada per al proper inici, quan és diferent de la versió en curs |
routerboot-pending-version | MikroTik | Versió de RouterBOOT que proporciona RouterOS, quan és diferent de la instal·lada: l’actualització de RouterBOOT encara s’ha de fer |
firmware-update-available | Synology | true si DSM indica una actualització disponible, false si no n’indica cap. Cap valor quan DSM no ha pogut comprovar-ho. |
av-signature-version, av-signature-date | FortiGate | Versió i data de la base de signatures antivirus |
ips-signature-version, ips-signature-date | FortiGate, Sophos (només la versió) | Versió i data de la base de signatures IPS |
license-expiration | Cisco AsyncOS, Sophos, WALLIX Bastion | Venciment de llicència més proper |
support-expiration | Check Point, Sophos | Venciment de suport més proper |
Les dates tenen el format AAAA-MM-JJ.
Aprofitar les metadades
- A l’inventari, filtreu els actius amb el filtre Metadada, o introduint
meta:clau[:valor]a la barra de cerca. La clau i el valor es cerquen per prefix (vegeu l’ancoratge de les cerques). Per exemple:meta:ha-state:standby: dispositius en espera en un clúster;meta:config-unsaved:true: dispositius Cisco amb la configuració sense desar;meta:license-expiration:2026: dispositius amb una llicència que venç el 2026.
- Mostreu una metadada en una columna de l’inventari, tal com es descriu a Afegir una columna de metadada. Una clau amb diversos valors, com
virtual-chassis-member, mostra els valors separats per comes. - Aquests filtres també serveixen per a les regles d’actius, les alertes i les exportacions. L’API v3 retorna les metadades al detall d’un actiu, i filtra la llista d’actius per
metadata_keyimetadata_value.
Ports en escolta
L’escaneig obté els ports en escolta del dispositiu a la pestanya «Ports» de l’actiu. Llegeix:
- per a TCP, la taula
tcpListenerTableo, si no hi és, les connexions en escolta detcpConnTable(TCP-MIB); - per a UDP, la taula
udpEndpointTableo, si no hi és,udpTable(UDP-MIB).
S’ignoren els ports de les adreces de bucle local (loopback), així com els sòcols UDP connectats. Un port que escolta a totes les adreces s’obté sense adreça. SNMP no dona ni el servei ni el producte d’un port: aquestes columnes queden buides.
La lectura es limita a 500 línies per taula i a 60 segons per al conjunt de les taules. Més enllà, o si el dispositiu deixa de respondre, Cyberwatch conserva els ports ja llegits i ho indica al resultat en brut de l’escaneig amb una línia # Listening ports from <table>: <raison>.
Com per als altres actius, un port TCP 21, 23 o 873 en escolta genera els problemes de seguretat FTP-port, Telnet-port o rsync-port.
Problemes de seguretat SNMP
L’escaneig indica els problemes de seguretat següents a la pestanya «Problemes de seguretat» de l’actiu:
| Identificador | Gravetat | Títol | S’indica quan | Detall |
|---|---|---|---|---|
SNMP_weak_community_string | Alta | SNMP weak community string | El dispositiu accepta una comunitat de la llista de comunitats febles, o aquesta figura a la seva taula de comunitats (snmpCommunityTable) | Community string: <communauté> |
SNMP_v1_v2c_enabled | Mitjana | SNMP v1/v2c enabled or configured | L’escaneig es fa en v1 o v2c, o la configuració d’accés del dispositiu (vacmSecurityToGroupTable) conté una entrada v1 o v2c | SNMPv1 o SNMPv2c |
SNMP_no_authentication | Mitjana | SNMPv3 user without authentication | Un usuari SNMPv3 del dispositiu (usmUserTable) no té autenticació | User: initial, si no, User without authentication |
SNMP_weak_authentication_protocol | Baixa | SNMPv3 MD5 authentication | L’usuari de l’escaneig, o un usuari del dispositiu, s’autentica en MD5 | User: <utilisateur> (MD5) |
SNMP_weak_privacy_protocol | Mitjana | SNMPv3 weak or no encryption | L’usuari de l’escaneig, o un usuari del dispositiu, xifra en DES o no xifra | User: <utilisateur> (DES) o User: <utilisateur> (no encryption) |
Aquests problemes es dedueixen de la credencial utilitzada i de les taules que la vista fa llegibles. L’escaneig continua sent no intrusiu: no intenta mai autenticar-se amb res que no sigui la credencial de la connexió, excepte per a la prova de les comunitats febles. Aquesta prova només es fa en un escaneig en v1 o v2c. Prova, en mode de només lectura, les comunitats de la llista de l’script Nmap snmp-brute: public, private, snmpd, mngt, cisco, admin, PUBLIC, PRIVATE, rmonmgmtuicommunity, secret, cascade, ANYCOM, ILMI, volition, TENmanUFactOryPOWER, MiniAP i snmp-Trap.
El nom d’un usuari sense autenticació és suficient per consultar el dispositiu: no es mostra, tret que sigui públic, com initial.
Cada usuari, versió o comunitat dona una ocurrència diferent del problema de seguretat. Una ocurrència que ja no es detecta en un escaneig correcte es considera corregida, i una ocurrència ignorada continua ignorada. El cicle de vida dels problemes de seguretat es descriu a Utilitzar els problemes de seguretat.
Si la detecció falla
Si l’escaneig falla, l’actiu conserva el seu últim estat conegut: el microprogramari, les vulnerabilitats, les metadades, els ports i els problemes de seguretat no s’esborren. L’error s’indica:
- a l’script d’anàlisi de l’actiu, que passa a «Fallada de comunicació» amb el missatge d’error;
- a la connexió sense agent, a la columna «Últim error de connexió» del menú Connexions sense agent.
Si els errors es repeteixen, l’actiu acaba passant a pèrdua de comunicació.
Cada sol·licitud SNMP espera la resposta 3 segons i es torna a provar 2 vegades. Un escaneig dura com a màxim 5 minuts. El missatge d’error porta com a prefix el número d’empresa del fabricant, quan és conegut (PEN 9: …). Els missatges més habituals són:
| Missatge | Causa probable | Resolució |
|---|---|---|
Timeout after 3 seconds | El dispositiu no respon: flux UDP 161 bloquejat, agent SNMP aturat, o comunitat desconeguda per al dispositiu (v1, v2c) | Comproveu la matriu de fluxos, la configuració SNMP del dispositiu i la credencial. |
Unknown user name | L’usuari SNMPv3 de la credencial no existeix al dispositiu | Comproveu el nom d’usuari de la credencial i la configuració SNMP del dispositiu. |
Authentication failure (…) | Contrasenya o protocol d’autenticació SNMPv3 incorrectes | Comproveu la contrasenya i el protocol d’autenticació de la credencial. |
Decryption error | Contrasenya o protocol de xifratge SNMPv3 incorrectes | Comproveu la contrasenya i el protocol de xifratge de la credencial. |
Unsupported security level | L’usuari SNMPv3 del dispositiu no té alhora autenticació i xifratge | Configureu-lo amb el nivell authPriv, vegeu Versions i credencials SNMP. |
Could not retrieve the version of <produit> | El dispositiu no dona la seva versió on Cyberwatch la llegeix | Comproveu que la vista inclou la branca del fabricant i, després, contacteu amb el suport. |
No Such Instance currently exists at this OID (<OID>), No such name (…) | Falta o s’ha exclòs de la vista un OID necessari per a la detecció | Comproveu que la vista inclou l’OID indicat i, després, contacteu amb el suport. |
Time limit of 300 s exceeded | El dispositiu respon massa lentament per acabar l’escaneig en 5 minuts | Comproveu la càrrega del dispositiu i la latència de la xarxa. |
Si el dispositiu no es reconeix, o si la seva detecció continua fallant, escriviu a support@cyberwatch.com amb el missatge d’error i un SNMPWalk complet del dispositiu (snmpwalk -On <équipement> 1.3.6.1).