Hogyan működik az otthoni internet és a domain névszerver statisztikái?

Egy otthoni router (jelen esetben a FritzBox) sok mindent rögzíthet: mikor mekkora forgalom megy, ki milyen sebességgel csatlakozik, stb. A helyi hálózaton lévő domain névszerver (DNS) segített kideríteni, mi rejtőzik az ismeretlen címzettek mögött.

Összességében a DNS pozitív hatással volt az otthoni hálózatra: növelte a sebességet, a stabilitást és a kezelhetőséget.

Az alábbiakban látható egy diagram, amely kérdéseket vetett fel, és meg kell érteni, mi történik. Az eredmények már kiszűrik a tartománynévszerverekhez intézett ismert és működő kéréseket.

Miért szavaznak le naponta 60 homályos domaint, miközben még mindenki alszik?

Minden nap 440 ismeretlen domaint kérdeznek le aktív órákban. Kik ők és mit csinálnak?

Átlagos kérések száma naponta, óránként

Hogyan működik az otthoni internet és a domain névszerver statisztikái?

SQL jelentés lekérdezés

WITH CLS AS ( /* prepare unique requests */
SELECT
DISTINCT DATE_NK,
STRFTIME( '%s', SUBSTR(DATE_NK,8,4) || '-' ||
	CASE SUBSTR(DATE_NK,4,3)
	WHEN 'Jan' THEN '01' WHEN 'Feb' THEN '02' WHEN 'Mar' THEN '03' WHEN 'Apr' THEN '04' WHEN 'May' THEN '05' WHEN 'Jun' THEN '06'
	WHEN 'Jul' THEN '07' WHEN 'Aug' THEN '08' WHEN 'Sep' THEN '09' WHEN 'Oct' THEN '10' WHEN 'Nov' THEN '11'
	ELSE '12' END || '-' || SUBSTR(DATE_NK,1,2) || ' ' || SUBSTR(TIME_NK,1,8) ) AS EVENT_DT,
REQUEST_NK, DOMAIN
FROM STG_BIND9_LOG )
SELECT
  1 as 'Line: DNS Requests per Day for Hours',
  strftime('%H:00', datetime(EVENT_DT, 'unixepoch')) AS 'Day',
  ROUND(1.0*SUM(1)/COUNT(DISTINCT strftime('%d.%m', datetime(EVENT_DT, 'unixepoch'))), 1) AS 'Requests per Day'
FROM CLS
WHERE DOMAIN NOT IN ('in-addr.arpa', 'IN-ADDR.ARPA', 'local', 'dyndns', 'nas', 'ntp.org')
  AND datetime(EVENT_DT, 'unixepoch') > date('now', '-20 days')
GROUP BY /* hour aggregate */
  strftime('%H:00', datetime(EVENT_DT, 'unixepoch'))
ORDER BY strftime('%H:00', datetime(EVENT_DT, 'unixepoch'))

Éjszaka a vezeték nélküli hozzáférés le van tiltva, és eszközaktivitás várható, pl. nincs lekérdezés ismeretlen tartományokra. Ez azt jelenti, hogy a legnagyobb aktivitást az olyan operációs rendszerű eszközök jelentik, mint az Android, iOS és Blackberry OS.

Soroljuk fel az intenzíven lekérdezett domaineket. Az intenzitást olyan paraméterek határozzák meg, mint a napi kérések száma, a tevékenység napjainak száma és a nap hány órájában észlelték.

Az összes várható gyanúsított szerepelt a listán.

Intenzíven lekérdezett tartományok

Hogyan működik az otthoni internet és a domain névszerver statisztikái?

SQL jelentés lekérdezés

WITH CLS AS ( /* prepare unique requests */
SELECT
DISTINCT DATE_NK,
STRFTIME( '%s', SUBSTR(DATE_NK,8,4) || '-' ||
	CASE SUBSTR(DATE_NK,4,3)
	WHEN 'Jan' THEN '01' WHEN 'Feb' THEN '02' WHEN 'Mar' THEN '03' WHEN 'Apr' THEN '04' WHEN 'May' THEN '05' WHEN 'Jun' THEN '06'
	WHEN 'Jul' THEN '07' WHEN 'Aug' THEN '08' WHEN 'Sep' THEN '09' WHEN 'Oct' THEN '10' WHEN 'Nov' THEN '11'
	ELSE '12' END || '-' || SUBSTR(DATE_NK,1,2) || ' ' || SUBSTR(TIME_NK,1,8) ) AS EVENT_DT,
REQUEST_NK, DOMAIN
FROM STG_BIND9_LOG )
SELECT 
  1 as 'Table: Havy DNS Requests',
  REQUEST_NK AS 'Request',
  DOMAIN AS 'Domain',
  REQ AS 'Requests per Day',
  DH AS 'Hours per Day',
  DAYS AS 'Active Days'
FROM (
SELECT
  REQUEST_NK, MAX(DOMAIN) AS DOMAIN,
  COUNT(DISTINCT REQUEST_NK) AS SUBD,
  COUNT(DISTINCT strftime('%d.%m', datetime(EVENT_DT, 'unixepoch'))) AS DAYS,
  ROUND(1.0*SUM(1)/COUNT(DISTINCT strftime('%d.%m', datetime(EVENT_DT, 'unixepoch'))), 1) AS REQ,
  ROUND(1.0*COUNT(DISTINCT strftime('%d.%m %H', datetime(EVENT_DT, 'unixepoch')))/COUNT(DISTINCT strftime('%d.%m', datetime(EVENT_DT, 'unixepoch'))), 1) AS DH
FROM CLS
WHERE DOMAIN NOT IN ('in-addr.arpa', 'IN-ADDR.ARPA', 'local', 'dyndns', 'nas', 'ntp.org')
  AND datetime(EVENT_DT, 'unixepoch') > date('now', '-20 days')
GROUP BY REQUEST_NK )
WHERE DAYS > 9 -- long period
ORDER BY 4 DESC, 5 DESC
LIMIT 20

Letiltjuk az isс.blackberry.com és az iceberg.blackberry.com webhelyeket, amit a gyártó biztonsági okokból indokol. Eredmény: amikor megpróbál csatlakozni a WLAN-hoz, megjelenik a bejelentkezési oldal, és soha többé nem csatlakozik sehova. Oldjuk fel a blokkolást.

A detectportal.firefox.com ugyanaz a mechanizmus, csak a Firefox böngészőben van megvalósítva. Ha be kell jelentkeznie a WLAN hálózatba, először a bejelentkezési oldal jelenik meg. Nem teljesen világos, hogy miért kell ilyen gyakran pingelni a címet, de a mechanizmust egyértelműen leírja a gyártó.

skype. Ennek a programnak a műveletei hasonlóak egy féreghez: elrejtőzik, és nem hagyja magát egyszerűen megölni a tálcán, nagy forgalmat generál a hálózaton, 10 percenként 4 tartományt pingel. Videohívás közben az internetkapcsolat folyamatosan megszakad, amikor már nem is lehet jobb. Egyelőre szükséges, így marad.

upload.fp.measure.office.com - az Office 365-re vonatkozik, nem találtam megfelelő leírást.
browser.pipe.aria.microsoft.com – Nem találtam megfelelő leírást.
Mindkettőt blokkoljuk.

connect.facebook.net - Facebook chat alkalmazás. Maradványok.

mediator.mail.ru A mail.ru domainre vonatkozó összes kérés elemzése nagyszámú hirdetési forrás és statisztikai adatgyűjtő jelenlétét mutatta ki, ami bizalmatlanságot vált ki. A mail.ru domain teljes egészében a feketelistára kerül.

google-analytics.com - nem befolyásolja az eszközök működését, ezért letiltjuk.
doubleclick.net – számolja a hirdetési kattintásokat. blokkoljuk.

Sok kérés érkezik a googleapis.com webhelyre. A blokkolás a rövid üzenetek örömteli leállításához vezetett a táblagépen, ami számomra hülyeségnek tűnik. De a játékbolt leállt, úgyhogy oldjuk fel a blokkolást.

cloudflare.com - azt írják, hogy szeretik a nyílt forráskódot, és általában sokat írnak magukról. A domain felmérés intenzitása nem teljesen egyértelmű, ami gyakran sokkal magasabb, mint a tényleges internetes aktivitás. Hagyjuk most.

Így a kérések intenzitása gyakran összefügg az eszközök szükséges funkcionalitásával. De azokat is felfedezték, akik túlzásba vitték az aktivitást.

A legelső

Amikor a vezeték nélküli internet be van kapcsolva, mindenki még alszik, és látható, hogy mely kéréseket küldik először a hálózatra. Tehát 6:50-kor bekapcsol az internet, és az első tíz percben naponta 60 domaint kérnek le:

Hogyan működik az otthoni internet és a domain névszerver statisztikái?

SQL jelentés lekérdezés

WITH CLS AS ( /* prepare unique requests */
SELECT
DISTINCT DATE_NK,
STRFTIME( '%s', SUBSTR(DATE_NK,8,4) || '-' ||
	CASE SUBSTR(DATE_NK,4,3)
	WHEN 'Jan' THEN '01' WHEN 'Feb' THEN '02' WHEN 'Mar' THEN '03' WHEN 'Apr' THEN '04' WHEN 'May' THEN '05' WHEN 'Jun' THEN '06'
	WHEN 'Jul' THEN '07' WHEN 'Aug' THEN '08' WHEN 'Sep' THEN '09' WHEN 'Oct' THEN '10' WHEN 'Nov' THEN '11'
	ELSE '12' END || '-' || SUBSTR(DATE_NK,1,2) || ' ' || SUBSTR(TIME_NK,1,8) ) AS EVENT_DT,
REQUEST_NK, DOMAIN
FROM STG_BIND9_LOG )
SELECT
  1 as 'Table: First DNS Requests at 06:00',
  REQUEST_NK AS 'Request',
  DOMAIN AS 'Domain',
  REQ AS 'Requests',
  DAYS AS 'Active Days',
  strftime('%H:%M', datetime(MIN_DT, 'unixepoch')) AS 'First Ping',
  strftime('%H:%M', datetime(MAX_DT, 'unixepoch')) AS 'Last Ping'
FROM (
SELECT
  REQUEST_NK, MAX(DOMAIN) AS DOMAIN,
  MIN(EVENT_DT) AS MIN_DT,
  MAX(EVENT_DT) AS MAX_DT,
  COUNT(DISTINCT strftime('%d.%m', datetime(EVENT_DT, 'unixepoch'))) AS DAYS,
  ROUND(1.0*SUM(1)/COUNT(DISTINCT strftime('%d.%m', datetime(EVENT_DT, 'unixepoch'))), 1) AS REQ
FROM CLS
WHERE DOMAIN NOT IN ('in-addr.arpa', 'IN-ADDR.ARPA', 'local', 'dyndns', 'nas', 'ntp.org')
  AND datetime(EVENT_DT, 'unixepoch') > date('now', '-20 days')
  AND strftime('%H', datetime(EVENT_DT, 'unixepoch')) = strftime('%H', '2019-08-01 06:50:00')
GROUP BY REQUEST_NK
 )
WHERE DAYS > 3 -- at least 4 days activity
ORDER BY 5 DESC, 4 DESC

A Firefox ellenőrzi a WLAN-kapcsolatot, hogy van-e bejelentkezési oldal.
A Citrix pingeli a szerverét, bár az alkalmazás nem fut aktívan.
A Symantec ellenőrzi a tanúsítványokat.
A Mozilla ellenőrzi a frissítéseket, bár a beállításokban kértem, hogy ezt ne tegye.

Az mmo.de egy játékszolgáltatás. Valószínűleg a facebook chat kezdeményezi a kérést. blokkoljuk.

Az Apple aktiválni fogja az összes szolgáltatását. api-glb-fra.smoot.apple.com - a leírásból ítélve minden gombkattintás ide kerül keresőoptimalizálás céljából. Nagyon gyanús, de a funkcionalitáshoz kapcsolódik. hagyjuk.

Az alábbiakban a microsoft.com-hoz intézett kérések hosszú listája található. A harmadik szinttől kezdve minden domaint blokkolunk.

A legelső aldomainek száma
Hogyan működik az otthoni internet és a domain névszerver statisztikái?

Tehát a vezeték nélküli internet bekapcsolásának első 10 perce.
Az iOS szavaz a legtöbb aldomainről - 32. Ezt követi az Android - 24, majd a Windows - 15 és végül a Blackberry - 9.
A facebook alkalmazás önmagában 10, a skype 9 domaint szavaz le.

Információforrás

Az elemzés forrása a bind9 helyi szerver naplófájlja volt, amely a következő formátumot tartalmazza:

01-Aug-2019 20:03:30.996 client 192.168.0.2#40693 (api.aps.skype.com): query: api.aps.skype.com IN A + (192.168.0.102)

A fájlt importálták egy sqlite adatbázisba, és SQL lekérdezések segítségével elemezték.
A szerver gyorsítótárként működik, a kérések az útválasztótól érkeznek, így mindig van egy kérés kliens. Elegendő egy egyszerűsített táblázatstruktúra, pl. A jelentéshez szükség van a kérés időpontjára, magára a kérésre és a csoportosításhoz a második szintű tartományra.

DDL táblázatok

CREATE TABLE STG_BIND9_LOG (
  LINE_NK       INTEGER NOT NULL DEFAULT 1,
  DATE_NK       TEXT NOT NULL DEFAULT 'n.a.',
  TIME_NK       TEXT NOT NULL DEFAULT 'n.a.',
  CLI           TEXT, -- client
  IP            TEXT,
  REQUEST_NK    TEXT NOT NULL DEFAULT 'n.a.', -- requested domain
  DOMAIN        TEXT NOT NULL DEFAULT 'n.a.', -- domain second level
  QUERY         TEXT,
  UNIQUE (LINE_NK, DATE_NK, TIME_NK, REQUEST_NK)
);

Teljesítmény

Így a domain névszerver naplójának elemzése eredményeként több mint 50 rekordot cenzúráztak és kerültek a blokklistára.

Egyes lekérdezések szükségességét a szoftvergyártók jól leírták, és bizalomra adnak okot. A tevékenység nagy része azonban megalapozatlan és megkérdőjelezhető.

Forrás: will.com

Hozzászólás