banshee est en développement actif : les collecteurs vont encore changer, et une version que vous publiez demandera sans doute des ajustements. Pour un usage stable, attendez la version 1.0.0.

Web

banshee/web-collection/network/tls/

certificate

The certificate a server presents on a TLS port: days before expiry, trust, chain, name, key, SHA-1, old protocols and weak ciphers accepted.

  • tls
  • ssl
  • certificate
  • expiry
  • https
  • rdp

par banshee1 installation2 versions

Certificate of a TLS service

Reads the certificate a server presents on a port, and tries what it accepts in protocols and ciphers: the days before expiry, the chain, the name, the key, the signature, the old protocols and weak ciphers accepted, and TLS 1.3. Ten watches are offered, each one set on the probe.

It serves a web site or an API (443), and any other TLS port: LDAPS (636), SMTPS (465), WinRM (5986), Remote Desktop (3389).

What changed since version 1

  • The documentation, the labels and the help are in English.
  • Each TLS version is tried once and its answer reused, where version 1 could try TLS 1.0 and 1.1 twice: ten handshakes per run at most, against twelve, for the same outputs.
  • The variable certificate:authorities adds the authorities of a company to those of the system, and the watch untrusted, not checked by default, judges trusted, which version 1 returned without any watch on it.
  • The other outputs, variables and watches keep their names, kinds and defaults: a probe upgraded from version 1 keeps its checks and settings.

How it works

The collector makes handshakes with the host on the port set, and sends nothing else: no request, no account, no secret. It ignores the TLS profile of the probe, since its role is to test what the server presents.

  1. A handshake that offers everything the poller speaks (TLS 1.0 to 1.3, the 22 ciphers) reads the certificate and judges it without refusing it: its days before expiry, whether the chain reaches an authority the poller's system knows, whether it is complete, whether the server's certificate bears the expected name, whether it is self-signed, its key, and the signatures of the chain.
  2. One handshake per version, TLS 1.0, 1.1, 1.2 and 1.3, each offering only that version: the server accepts it or refuses it.
  3. At the highest version under TLS 1.3 the server accepts, one handshake per weak cipher (RC4, 3DES), each offered alone.
  • The added authorities (certificate:authorities, PEM blocks CERTIFICATE) count beside those of the poller's system: a certificate issued by the authority of a company is then trusted. They change nothing else: neither the chain, nor the name, nor the other outputs.
  • The expected name is certificate:name when set, otherwise the name of the host's address; it is also the name announced to the server, which then presents the right certificate when it serves several. An IP address without a name is judged on the addresses of the certificate.
  • A key too short: RSA under 2048 bits, or a curve under 256 bits.
  • SHA-1 is looked for in every signature of the chain, except the one a root authority bears on itself, which nobody checks.
  • Remote Desktop (certificate:rdp): the connection starts with an RDP negotiation, 19 fixed bytes, before the handshake. Nothing else is sent: the authentication that follows the handshake is never started.
  • A server that refuses the connection, does not speak TLS on the port, or with which no handshake succeeds, stops the collector as unreachable: the probe never says "OK" of a server it could not read.

Prerequisites

  • The port reachable from the poller.
  • Nothing on the server: the collector reads what any client sees.

Outputs

NameLabelUnitPer instance
days-leftDays before expirydno
trustedCertificate trusted—no
chainChain—no
nameName matches—no
self-signedSelf-signed—no
weak-keyKey too short—no
sha1SHA-1 signature—no
old-protocolsOld protocols accepted—no
weak-suitesWeak ciphers accepted—no
tls13TLS 1.3 accepted—no

days-left is negative once the certificate has expired. chain is complete or incomplete; old-protocols and weak-suites are none or the list found (TLS 1.0, TLS 1.1); the others are yes or no.

Watches

NameTitleKindDefaultsChecked by default
expiringExpiry closebelow a threshold, on days-leftwarning below 30 d, critical below 7 dyes
untrustedCertificate not trustedstate to avoid, on trustedwarning on nono: check it once the authorities of a private issuer are added
chain-incompleteIncomplete chainexpected value, on chainwarning when not completeyes
name-mismatchName does not matchexpected value, on namecritical when not yesyes
self-signedSelf-signed certificatestate to avoid, on self-signedwarning on yesno
weak-keyKey too shortstate to avoid, on weak-keywarning on yesyes
sha1SHA-1 signaturestate to avoid, on sha1warning on yesyes
old-protocolsOld protocol acceptedexpected value, on old-protocolswarning when not noneyes
weak-suitesWeak cipher acceptedexpected value, on weak-suiteswarning when not noneyes
tls13Recent protocol refusedexpected value, on tls13warning when not yesno

Limits

  • A certificate issued by the authority of a company is not trusted unless that authority is in the system of the poller or set in certificate:authorities.
  • What the poller does not speak is not read: a server that speaks only SSLv3 stops the collector as unreachable; a cipher with a DHE exchange is never tried.
  • STARTTLS (SMTP on 25 and 587, LDAP on 389, IMAP, POP) is not opened: only a port that starts with TLS, or with an RDP negotiation, is read.
  • Only the five weak ciphers are tried one by one; the other ciphers a server accepts are not listed.