per SSH: Abfrage FW & Lizenzlaufzeit

Allgemeine Fragen zu Problemen. Keine Fehlerberichte oder Feature-Anfragen

Moderator: Securepoint

Antworten
csg
Beiträge: 197
Registriert: Di 08.03.2011, 10:55
Kontaktdaten:

per SSH: Abfrage FW & Lizenzlaufzeit

Beitrag von csg »

Hallo zusammen.

Welche Möglichkeiten gibt es, die Daten der UTM per SSH auszulesen?
Ich würde gern aktuell zumindest Lizenzlaufzeit, installierte FW und neue verfügbare FW auslesen, so dass ich die Daten per PS in unser Monitoring überführen kann.
Später vielleicht noch weitere Werte/Daten.
Einen passenden WIKI-Eintrag habe ich noch nicht gefunden.
Bin mir aber sicher, das es geht. ;-)

Danke im Voraus,
Jan

pl85
Beiträge: 97
Registriert: Di 13.03.2012, 14:54

Beitrag von pl85 »

schau im Wiki mal bei den CLI Befehlen

du suchst
system info
system upgrade info

Benutzeravatar
Mario
Securepoint
Beiträge: 1080
Registriert: Mi 04.04.2007, 10:47
Wohnort: Bäckerei

Beitrag von Mario »

Kann man sich bei Bedarf auch als JSON ausgeben lassen:

Entweder als root/ Supportnutzer auf die UTM verbinden

spcli -j

Oder in der CLI direkt:

cli json
Mit freundlichen Grüßen

Mario Rhein
Support
Tel. 04131/2401-0
Fax 04131/2401-50

Securepoint GmbH
Blecker Landstr. 28
D-21337 Lüneburg
https://www.securepoint.de

kennethj
Beiträge: 422
Registriert: Di 25.04.2017, 10:17
Wohnort: Lüneburg
Kontaktdaten:

Beitrag von kennethj »

Moin Jan,

wenn eh schon PowerShell verwendet wird - können die Daten auch per PowerShell ausgelesen werden.
Entweder man verwendet den root Benutzer und einen SSH Key um sich auf die UTM zu verbinden (damit würde ich auch die native SSH Implementierung der PowerShell reichen).

Alternativ verwendet man einen "normalen" admin Benutzer ohne root rechte und das Modul Posh-SSH.
Mit Posh-SSH funktioniert es so:

Code: Alles auswählen

$Loginuser = 'admin'
$LoginUserPasswordSec =  convertto-securestring -asplaintext -force 'insecure'
$LoginCreds = New-Object System.Management.Automation.PSCredential($Loginuser,$LoginUserPasswordSec)

New-SSHSession -ComputerName 192.168.175.1 -Credential $LoginCreds -AcceptKey
invoke-sshcommand -sessionID 0 -command 'CLI Befehl'

In diesem Szenario ist die von Mario erwähnte Funktion "cli json" nicht wirklich Nutzbar (außerdem kann PowerShell dem JSON Output der UTM nicht korrekt parsen)

Also muss das ganze "manuell" lokal verarbeitet werden:

Code: Alles auswählen

$utm_output = invoke-sshcommand -sessionID 0 -command 'system info'

Code: Alles auswählen

$utm_output_parsed = $utm_output.Output.Replace('|' ,'')  | convertfrom-string -PropertyNames attribute,value

Der erste Befehl holt die Daten von der UTM - der zweite Befehl verarbeitet den Output der UTM, sodass man in der PowerShell damit vernünftig weiterarbeiten kann.
Jetzt kann ganz bequem alles mögliche mit where-object ausgelesen werden - das ganze ist jetzt ein Object:

Code: Alles auswählen

$license_days_left = $utm_output_parsed | Where-Object -FilterScript { $_.attribute -eq "daysleft" }).value
$utm_current_version = $utm_output_parsed | Where-Object -FilterScript { $_.attribute -eq "version" }).value
$utm_new_firmware = $utm_output_parsed | Where-Object -FilterScript { $_.attribute -eq "new" }).value
Gruß

Kenneth

pl85
Beiträge: 97
Registriert: Di 13.03.2012, 14:54

Beitrag von pl85 »

mit New-SSHShellStream und Invoke-SSHStreamShellCommand lässt sich der json Output nutzen - über Posh-SSH

mit ConvertFrom-Json bekommt man dann ein gut verarbeitbares Format

kennethj
Beiträge: 422
Registriert: Di 25.04.2017, 10:17
Wohnort: Lüneburg
Kontaktdaten:

Beitrag von kennethj »

Moin,

danke für die Info - tatsächlich habe ich mich mit den ShellStream noch nicht beschäftigt. Schaue ich mir aber mal an. Das würde es auf jedenfall vereinfachen, da die Daten dann als json verwendet werden kann.


Gruß

Benutzeravatar
Mario
Securepoint
Beiträge: 1080
Registriert: Mi 04.04.2007, 10:47
Wohnort: Bäckerei

Beitrag von Mario »

Ich werde mir das auch einmal notieren.
Mit freundlichen Grüßen

Mario Rhein
Support
Tel. 04131/2401-0
Fax 04131/2401-50

Securepoint GmbH
Blecker Landstr. 28
D-21337 Lüneburg
https://www.securepoint.de

csg
Beiträge: 197
Registriert: Di 08.03.2011, 10:55
Kontaktdaten:

Beitrag von csg »

Super.
Danke.
Das hilft mir weiter.

csg
Beiträge: 197
Registriert: Di 08.03.2011, 10:55
Kontaktdaten:

Beitrag von csg »

Kurze Frage.

Welcher Wert wird wird hier geschrieben, wenn die Lizenz abgelaufen ist.
Also bei null Tagen oder bei Überschreiten der Lizenzlaufzeit.

daysleft |70

kennethj
Beiträge: 422
Registriert: Di 25.04.2017, 10:17
Wohnort: Lüneburg
Kontaktdaten:

Beitrag von kennethj »

Ich glaube in beiden Fällen steht "daysleft" auf 0 als Wert - das weiß ich aber nicht zu 100%

Antworten