Dies ist eine SQL-Version des Dashboard-Berichts für verdächtige Anmeldungen.
Dieser Dashboard-Bericht liefert Details zu neuen Anmeldungen von Benutzern, die sich verdächtig von früheren Anmeldungen unterscheiden, über einen bestimmten Zeitraum. Durch die Identifizierung ungewöhnlicher Anmeldeversuche können Administratoren proaktive Maßnahmen ergreifen, um Benutzerkonten und das Forum vor potenziellen Sicherheitsbedrohungen zu schützen.
-- [params]
-- date :start_date = 2024-01-07
-- date :end_date = 2024-02-08
SELECT
u.id user_id,
u.username,
t.client_ip,
t.user_agent,
t.created_at login_time
FROM user_auth_token_logs t
JOIN users u ON u.id = t.user_id
WHERE t.action = 'suspicious'
AND t.created_at >= :start_date
AND t.created_at <= :end_date
ORDER BY t.created_at DESC
Erklärung der SQL-Abfrage
Die SQL-Abfrage ruft eine Liste von Anmeldeversuchen ab, die innerhalb eines bestimmten Zeitraums als verdächtig gekennzeichnet wurden. Hier ist eine Aufschlüsselung, wie die Abfrage funktioniert:
- Parameterdefinition: Die Abfrage beginnt mit der Definition von zwei Parametern,
:start_dateund:end_date, um den Berichtszeitraum festzulegen. Beide Datumsparameter akzeptieren das FormatJJJJ-MM-TT. - Datenauswahl: Die Abfrage wählt bestimmte Felder aus der Tabelle
user_auth_token_logs, die Details zu Benutzerauthentifizierungsaktivitäten protokolliert, und der Tabelleusers, die Informationen über die Benutzer selbst enthält. Die ausgewählten Felder umfassen:u.id(user_id): Die eindeutige Kennung des Benutzers.u.username: Der Benutzername des Benutzers.t.client_ip: Die IP-Adresse, von der der Anmeldeversuch unternommen wurde.t.user_agent: Der User-Agent-String des Browsers oder Geräts, das für den Anmeldeversuch verwendet wurde.t.created_at(login_time): Der Zeitstempel, zu dem der Anmeldeversuch stattgefunden hat.
- Join-Operation: Die Abfrage verknüpft die Tabelle
user_auth_token_logs(t) mit der Tabelleusers(u) über ihr gemeinsames Felduser_id, um jeden Anmeldeversuch mit den entsprechenden Benutzerinformationen zu korrelieren. - Filterung: Sie filtert die Datensätze, um nur die Anmeldeversuche einzuschließen, die im Feld
actionder Tabelleuser_auth_token_logsalssuspiciousmarkiert sind. Zusätzlich filtert sie die Datensätze, um nur diejenigen einzuschließen, die innerhalb des angegebenen Zeitraums (von:start_datebis:end_date) aufgetreten sind. - Sortierung: Schließlich sortiert die Abfrage die Ergebnisse absteigend nach dem Zeitstempel
created_at, um sicherzustellen, dass die neuesten verdächtigen Anmeldeversuche zuerst aufgelistet werden.
Beispielergebnisse
| user | username | client_ip | user_agent | login_time |
|---|---|---|---|---|
| user_id_example_1 | username_example | 2001:0db8:85a3:0000:0000:8a2e:0370:7334 | Mozilla/5.0 (iPhone; CPU iPhone OS 17_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Mobile/15E148 Safari/604.1 | 2024-01-09T08:18:57.535Z |
| … | … | … | … | … |