Nachfolgend finden Sie einige Beispiele für SQL-Abfragen, mit denen Sie Daten aus einer PostgreSQL-Datenbank abfragen können. SQL-Abfragen für andere Datenbanken können je nach Datenbank variieren.
![](info.svg)
|
Aufgrund der Besonderheiten der SQL-Sprache wird die Hierarchie von Gruppen und Workstations bei den Abfragen nicht berücksichtigt.
|
So greifen Sie direkt auf die Datenbank zu
1.Öffnen Sie das Verwaltungscenter Ihres Dr.Web 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 zwischen dem 01.06.2019 und dem 01.07.2019 auf den Workstations der Gruppe mit der ID '373a9afb-9c9a-4d4d-b9b1-de817b96bcc5' oder deren 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'
)
)
);
|
|