Hoe werkt het thuisinternet en de statistieken van de domeinnaamserver?

Een thuisrouter (in dit geval FritzBox) kan veel registreren: hoeveel verkeer wanneer gaat er, wie is er met welke snelheid verbonden, etc. Een domeinnaamserver (DNS) op het lokale netwerk hielp me erachter te komen wat er achter de onbekende ontvangers verborgen zat.

Over het geheel genomen heeft DNS een positieve invloed gehad op het thuisnetwerk: het heeft de snelheid, stabiliteit en beheerbaarheid vergroot.

Hieronder ziet u een diagram dat vragen opriep en de noodzaak om te begrijpen wat er gebeurde. De resultaten filteren al bekende en werkende verzoeken naar domeinnaamservers.

Waarom worden er elke dag zestig obscure domeinen ondervraagd terwijl iedereen nog slaapt?

Elke dag worden tijdens actieve uren 440 onbekende domeinen ondervraagd. Wie zijn ze en wat doen ze?

Gemiddeld aantal verzoeken per dag per uur

Hoe werkt het thuisinternet en de statistieken van de domeinnaamserver?

SQL-rapportquery

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'))

's Nachts is de draadloze toegang uitgeschakeld en wordt er apparaatactiviteit verwacht, d.w.z. er is geen polling voor onbekende domeinen. Dit betekent dat de grootste activiteit afkomstig is van apparaten met besturingssystemen zoals Android, iOS en Blackberry OS.

Laten we de domeinen opsommen die intensief worden ondervraagd. De intensiteit zal worden bepaald door parameters zoals het aantal verzoeken per dag, het aantal dagen van activiteit en in hoeveel uren van de dag ze werden opgemerkt.

Alle verwachte verdachten stonden op de lijst.

Intensief ondervraagde domeinen

Hoe werkt het thuisinternet en de statistieken van de domeinnaamserver?

SQL-rapportquery

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

We blokkeren isс.blackberry.com en iceberg.blackberry.com, wat de fabrikant om veiligheidsredenen zal rechtvaardigen. Resultaat: wanneer u probeert verbinding te maken met het WLAN, wordt de inlogpagina weergegeven en wordt er nooit meer verbinding gemaakt. Laten we het deblokkeren.

detectportal.firefox.com is hetzelfde mechanisme, alleen geïmplementeerd in de Firefox-browser. Als u zich moet aanmelden bij het WLAN-netwerk, wordt eerst de inlogpagina weergegeven. Het is niet helemaal duidelijk waarom het adres zo vaak moet worden gepingd, maar het mechanisme wordt duidelijk beschreven door de fabrikant.

skypen. De acties van dit programma zijn vergelijkbaar met die van een worm: het verbergt zich en laat zich niet zomaar doden in de taakbalk, genereert veel verkeer op het netwerk, pingt elke 10 minuten 4 domeinen. Bij het voeren van een videogesprek valt de internetverbinding voortdurend weg, terwijl het niet beter kan. Voor nu is het nodig, dus het blijft zo.

upload.fp.measure.office.com - verwijst naar Office 365, ik kon geen fatsoenlijke beschrijving vinden.
browser.pipe.aria.microsoft.com - Ik kon geen fatsoenlijke beschrijving vinden.
Wij blokkeren beide.

connect.facebook.net - Facebook-chatapplicatie. Stoffelijk overschot.

mediator.mail.ru Een analyse van alle verzoeken voor het mail.ru-domein toonde de aanwezigheid aan van een groot aantal advertentiebronnen en statistiekenverzamelaars, wat wantrouwen veroorzaakt. Het mail.ru-domein wordt volledig naar de zwarte lijst gestuurd.

google-analytics.com - heeft geen invloed op de functionaliteit van apparaten, daarom blokkeren we dit.
doubleclick.net - telt advertentieklikken. Wij blokkeren.

Veel verzoeken gaan naar googleapis.com. De blokkering heeft geleid tot het vreugdevol afsluiten van korte berichten op de tablet, wat mij stom lijkt. Maar de Playstore werkt niet meer, dus laten we deze deblokkeren.

cloudflare.com - ze schrijven dat ze van open source houden en over het algemeen veel over zichzelf schrijven. De intensiteit van het domeinonderzoek is niet geheel duidelijk; deze is vaak veel hoger dan de daadwerkelijke activiteit op internet. Laten we het voorlopig zo laten.

De intensiteit van verzoeken houdt dus vaak verband met de vereiste functionaliteit van de apparaten. Maar degenen die het overdreven met activiteit werden ook ontdekt.

De allereerste

Als het draadloze internet aanstaat, slaapt iedereen nog en is te zien welke verzoeken als eerste naar het netwerk worden gestuurd. Dus om 6:50 uur gaat het internet aan en in de eerste tien minuten worden dagelijks 60 domeinen ondervraagd:

Hoe werkt het thuisinternet en de statistieken van de domeinnaamserver?

SQL-rapportquery

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

Firefox controleert de WLAN-verbinding op de aanwezigheid van een inlogpagina.
Citrix pingt zijn server, ook al is de applicatie niet actief actief.
Symantec verifieert certificaten.
Mozilla controleert op updates, hoewel ik in de instellingen heb gevraagd dit niet te doen.

mmo.de is een gamingservice. Hoogstwaarschijnlijk wordt het verzoek geïnitieerd door Facebook-chat. Wij blokkeren.

Apple zal al zijn diensten activeren. api-glb-fra.smoot.apple.com - afgaande op de beschrijving wordt elke klik op de knop hierheen verzonden voor doeleinden van zoekmachineoptimalisatie. Zeer verdacht, maar gerelateerd aan functionaliteit. Wij laten het achter.

Het volgende is een lange lijst met verzoeken aan microsoft.com. We blokkeren alle domeinen vanaf het derde niveau.

Aantal allereerste subdomeinen
Hoe werkt het thuisinternet en de statistieken van de domeinnaamserver?

Dus de eerste 10 minuten nadat u het draadloze internet hebt ingeschakeld.
iOS peilt de meeste subdomeinen - 32. Gevolgd door Android - 24, vervolgens Windows - 15 en ten slotte Blackberry - 9.
Alleen al de Facebook-applicatie peilt 10 domeinen, Skype peilt 9 domeinen.

Bron van informatie

De bron voor de analyse was het bind9 lokale serverlogbestand, dat het volgende formaat bevat:

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)

Het bestand werd geïmporteerd in een sqlite-database en geanalyseerd met behulp van SQL-query's.
De server fungeert als cache; verzoeken komen van de router, dus er is altijd één verzoekclient. Een vereenvoudigde tabelstructuur is voldoende, d.w.z. Het rapport vereist het tijdstip van de aanvraag, de aanvraag zelf en het domein op het tweede niveau voor groepering.

DDL-tabellen

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)
);

Uitgang

Als resultaat van de analyse van het logbestand van de domeinnaamserver werden dus meer dan 50 records gecensureerd en op de blokkeerlijst geplaatst.

De noodzaak van sommige vragen wordt goed beschreven door softwarefabrikanten en wekt vertrouwen. Een groot deel van de activiteiten is echter ongegrond en twijfelachtig.

Bron: www.habr.com

Voeg een reactie