Beispiele für Dr.Web Server-Datenbankabfragen

Nachfolgend finden Sie einige exemplarische SQL-Befehle, mit denen Sie Daten aus einer PostgreSQL-Datenbank abfragen können. SQL-Abfragen für andere Datenbanken können je nach konkretem Datenbanksystem abweichen.

Für bessere Lesbarkeit und Verständlichkeit wurden alle aufgeführten Abfragen absichtlich in nicht optimierter Form aufgeführt.

Aufgrund von Besonderheiten der SQL-Sprache werden bei den Abfragen die Hierarchie von Gruppen und Workstations nicht berücksichtigt.

So greifen Sie direkt auf die Datenbank zu

1.Öffnen Sie das Verwaltungscenter Ihres Servers.

2.Wechseln Sie zum Bereich Administration → SQL-Konsole.

3.Geben Sie die benötigte SQL-Abfrage ein. Unten finden Sie einige exemplarische Abfragen.

4.Klicken Sie auf die Schaltfläche Ausführen.

Beispiele für SQL-Abfragen

1.Workstations finden, auf denen eine Server-Version von Windows installiert ist und die Virendatenbanken älter als vom 2019.07.04-00:00:00 UTC (12.0) sind.

SELECT
 stations.name Station,
 groups_list.name OS,
 station_products.crev Bases
FROM
 stations
INNER JOIN groups_list ON groups_list.platform =(
  CAST(stations.lastos AS INTEGER) & ~15728640
 )
AND (
   (
    CAST(stations.lastos AS INTEGER) & 2130706560
   ) = 33554560
 )
INNER JOIN station_products ON station_products.id = stations.id
AND station_products.product = '10-drwbases'
AND station_products.crev < 12020190704000000;

2.Workstations finden, bei denen es unter Antivirus-Netzwerk → Statistik → Status Einträge mit dem Schweregrad Hoch oder Maximal gibt.

SELECT
 stations.name Station
FROM
 stations
WHERE
 id IN (
  SELECT
    DISTINCT id
  FROM
     station_status
  WHERE
     severity >= 1342177280
 );

3.Anzahl von Workstations pro Status ermitteln.

SELECT
 code Code,
COUNT(code) Num
FROM
 (
  SELECT
    DISTINCT id,
     code
  FROM
     station_status
 ) AS t
GROUP BY
 Code
ORDER BY
 Code;

4.10 häufigste Bedrohungen auswählen, die im Zeitraum von 2019.06.01 bis 2019.07.01 auf den Workstations der Gruppe mit der ID '373a9afb-9c9a-4d4d-b9b1-de817b96bcc5' oder ihrer Untergruppen erkannt wurden.

SELECT
 cat_virus.str Threat,
COUNT(cat_virus.str) Num
FROM
 station_infection
INNER JOIN cat_virus ON cat_virus.id = station_infection.virus
WHERE
 station_infection.infectiontime BETWEEN 20190601000000000
AND 20190701000000000
AND station_infection.id IN (
  SELECT
     sid
  FROM
     station_groups
  WHERE
     gid = '373a9afb-9c9a-4d4d-b9b1-de817b96bcc5'
    OR gid IN (
      SELECT
         child
      FROM
         group_children
      WHERE
         id = '373a9afb-9c9a-4d4d-b9b1-de817b96bcc5'
     )
 )
GROUP BY
 cat_virus.str
ORDER BY
 Num DESC
LIMIT
10;

5.10 am meisten betroffene Workstations auswählen.

SELECT
 Station,
 Grp,
 Num
FROM
 (
  SELECT
     stations.id,
     groups_list.id,
     stations.name Station,
     groups_list.name Grp,
    COUNT(stations.id) Num
  FROM
     station_infection
    INNER JOIN stations ON station_infection.id = stations.id
    INNER JOIN groups_list ON groups_list.id = stations.gid
  GROUP BY
     stations.id,
     groups_list.id,
     stations.name,
     groups_list.name
  ORDER BY
     Num DESC
  LIMIT
    10
 ) AS t;

6.Alle Workstations aus benutzerdefinierten Gruppen entfernen, die für diese Workstations nicht primär sind.

DELETE FROM
 station_groups;
INSERT INTO station_groups(sid, gid)
SELECT
 stations.id,
 groups_list.id
FROM
 stations
INNER JOIN groups_list ON stations.gid = groups_list.id
AND groups_list.type NOT IN(1, 4);

7.Objekte des Antivirus-Netzwerks finden, in denen die angegebene Domain in der Whitelist der individuellen Einstellungen der Komponente SpIDer Gate vorhanden ist.

SELECT
 stations.name Station
FROM
 station_cfg
INNER JOIN stations ON stations.id = station_cfg.id
WHERE
 station_cfg.component = 38
AND station_cfg.name = 'WhiteVirUrlList'
AND station_cfg.value = 'domain.tld';
SELECT
 groups_list.name Grp
FROM
 group_cfg
INNER JOIN groups_list ON groups_list.id = group_cfg.id
WHERE
 group_cfg.component = 38
AND group_cfg.name = 'WhiteVirUrlList'
AND group_cfg.value = 'domain.tld';
SELECT
 policy_list.name Policy
FROM
 policy_cfg
INNER JOIN policy_list ON policy_list.id = policy_cfg.id
WHERE
 policy_cfg.component = 38
AND policy_cfg.name = 'WhiteVirUrlList'
AND policy_cfg.value = 'domain.tld';

8.Ereignisse im Zusammenhang mit fehlgeschlagenen Anmeldungen von Administratoren am Verwaltungscenter in Kombination mit entsprechenden Anmeldungsfehlercodes auswählen.

SELECT
 admin_activity.login Login,
 admin_activity.address Address,
 activity_data.value ErrorCode,
 admin_activity.createtime EventTimestamp
FROM
 admin_activity
INNER JOIN activity_data ON admin_activity.record = activity_data.record
WHERE
 admin_activity.oper = 10100
AND admin_activity.status != 1
AND activity_data.item = 'Error';

9.Windows-Workstations finden, auf denen die benötigten Sicherheitspatches installiert sind.

SELECT
 stations.name Station
FROM
 stations
WHERE
 id NOT IN (
  SELECT
     station_env_kb.id
  FROM
     station_env_kb
    INNER JOIN stations ON stations.id = station_env_kb.id
  WHERE
     (
      CAST(stations.lastos AS INTEGER) & 2130706432
     )= 33554432
    AND station_env_kb.name IN (
      SELECT
         id
      FROM
         env_strings
      WHERE
         str IN(
          'KB4012212', 'KB4012213', 'KB4012214',
          'KB4012215', 'KB4012216', 'KB4012217',
          'KB4012598'
         )
     )
 );