اتصالهای دور از دفتر مرکزی با ST_DISTANCE
ST_DISTANCE فاصلهی برحسب متر بین موقعیت جغرافیایی اتصال و یک نقطهی مرجع — اینجا دفتر پاریس — رو حساب میکنه تا دسترسیهایی که از نظر جغرافیایی بعیدن خودشون رو نشون بدن.
کاربرد
پیدا کردن حسابهایی که هزاران کیلومتر دورتر از محل کارِ اعلامشده استفاده میشن.
پیشنیازها
Elasticsearch 8.15+, GeoIP sur source.ip
SQL
FROM "logs-auth-*"
| WHERE event.outcome == "success"
AND source.geo.location IS NOT NULL
AND @timestamp >= NOW() - 24 hours
| EVAL siege = TO_GEOPOINT("POINT(2.3522 48.8566)")
| EVAL distance_km = ROUND(ST_DISTANCE(source.geo.location, siege) / 1000)
| WHERE distance_km > 500
| STATS
connexions = COUNT(*),
distance_max_km = MAX(distance_km),
pays = VALUES(source.geo.country_iso_code)
BY user.name
| SORT distance_max_km DESC
| LIMIT 20نتیجه
user.name | connexions | distance_max_km | pays -----------+------------+-----------------+-------------- m.duval | 12 | 9 714 | ["JP", "FR"] k.bennani | 3 | 7 802 | ["SG"] a.lefort | 8 | 6 051 | ["US", "FR"] s.gomez | 1 | 1 940 | ["GR"] p.martin | 5 | 812 | ["ES"]
ST_DISTANCEGeoIPSOCCompromission