MÄjas marÅ”rutÄtÄjs (Å”ajÄ gadÄ«jumÄ FritzBox) var ierakstÄ«t daudz: cik daudz trafika notiek, kad, kurÅ” ir savienots ar kÄdu Ätrumu utt. DomÄna vÄrdu serveris (DNS) lokÄlajÄ tÄ«klÄ man palÄ«dzÄja noskaidrot, kas slÄpjas aiz nezinÄmajiem adresÄtiem.
KopumÄ DNS ir pozitÄ«vi ietekmÄjis mÄjas tÄ«klu: tas ir palielinÄjis Ätrumu, stabilitÄti un vadÄmÄ«bu.
ZemÄk ir diagramma, kas radÄ«ja jautÄjumus un nepiecieÅ”amÄ«bu saprast, kas notiek. RezultÄti jau filtrÄ zinÄmos un strÄdÄjoÅ”os pieprasÄ«jumus domÄna nosaukumu serveriem.
KÄpÄc katru dienu tiek aptaujÄti 60 neskaidri domÄni, kamÄr visi vÄl guļ?
Katru dienu aktÄ«vajÄ laikÄ tiek aptaujÄti 440 nezinÄmi domÄni. Kas viÅi ir un ko viÅi dara?
VidÄjais pieprasÄ«jumu skaits dienÄ pa stundÄm
SQL atskaites vaicÄjums
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'))
NaktÄ« bezvadu piekļuve ir atspÄjota un ir gaidÄma ierÄ«ces darbÄ«ba, t.i. nezinÄmiem domÄniem aptauja netiek veikta. Tas nozÄ«mÄ, ka vislielÄko aktivitÄti nodroÅ”ina ierÄ«ces ar tÄdÄm operÄtÄjsistÄmÄm kÄ Android, iOS un Blackberry OS.
UzskaitÄ«sim tos domÄnus, kuri tiek intensÄ«vi aptaujÄti. IntensitÄti noteiks tÄdi parametri kÄ pieprasÄ«jumu skaits dienÄ, aktivitÄÅ”u dienu skaits un cik diennakts stundÄs tie tika pamanÄ«ti.
Visi paredzamie aizdomÄs turamie bija sarakstÄ.
IntensÄ«vi aptaujÄti domÄni
SQL atskaites vaicÄjums
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
MÄs bloÄ·Äjam isŃ.blackberry.com un iceberg.blackberry.com, ko ražotÄjs attaisnos droŔības apsvÄrumu dÄļ. RezultÄts: mÄÄ£inot izveidot savienojumu ar WLAN, tiek parÄdÄ«ta pieteikÅ”anÄs lapa un vairs nekur netiek izveidots savienojums. AtbloÄ·Äsim to.
detectportal.firefox.com ir tas pats mehÄnisms, kas ieviests tikai pÄrlÅ«kprogrammÄ Firefox. Ja jums ir jÄpiesakÄs WLAN tÄ«klÄ, vispirms tiks parÄdÄ«ta pieteikÅ”anÄs lapa. Nav lÄ«dz galam skaidrs, kÄpÄc adrese ir tik bieži jÄpiesaista, taÄu ražotÄjs ir skaidri aprakstÄ«jis mehÄnismu.
skype. Å Ä«s programmas darbÄ«bas ir lÄ«dzÄ«gas tÄrpam: tÄ slÄpjas un vienkÄrÅ”i neļauj sevi nogalinÄt uzdevumjoslÄ, Ä£enerÄ lielu trafiku tÄ«klÄ, ping 10 domÄnus ik pÄc 4 minÅ«tÄm. Veicot videozvanu, interneta savienojums nepÄrtraukti pÄrtrÅ«kst, kad tas nevar bÅ«t labÄks. PagaidÄm vajag, tÄ arÄ« paliek.
upload.fp.measure.office.com ā attiecas uz Office 365, es nevarÄju atrast pienÄcÄ«gu aprakstu.
browser.pipe.aria.microsoft.com ā nevarÄju atrast pienÄcÄ«gu aprakstu.
MÄs bloÄ·Äjam abus.
connect.facebook.net ā Facebook tÄrzÄÅ”anas lietojumprogramma. Paliek.
mediator.mail.ru Visu domÄna mail.ru pieprasÄ«jumu analÄ«ze parÄdÄ«ja milzÄ«gu reklÄmas resursu un statistikas vÄcÄju klÄtbÅ«tni, kas izraisa neuzticÄ«bu. DomÄns mail.ru tiek pilnÄ«bÄ nosÅ«tÄ«ts uz melno sarakstu.
google-analytics.com - neietekmÄ ierÄ«Äu funkcionalitÄti, tÄpÄc mÄs to bloÄ·Äjam.
doubleclick.net - uzskaita reklÄmas klikŔķus. MÄs bloÄ·Äjam.
Daudzi pieprasÄ«jumi tiek nosÅ«tÄ«ti uz googleapis.com. BloÄ·ÄÅ”ana ir novedusi pie priecÄ«gas Ä«sziÅu izslÄgÅ”anas planÅ”etdatorÄ, kas man Ŕķiet stulbi. TaÄu spÄļu veikals pÄrstÄja darboties, tÄpÄc atbloÄ·Äsim to.
cloudflare.com - viÅi raksta, ka mÄ«l atvÄrto avotu un kopumÄ daudz raksta par sevi. DomÄna aptaujas intensitÄte nav lÄ«dz galam skaidra, kas bieži vien ir daudz augstÄka par faktisko aktivitÄti internetÄ. AtstÄsim to pagaidÄm.
TÄdÄjÄdi pieprasÄ«jumu intensitÄte bieži ir saistÄ«ta ar nepiecieÅ”amo ierÄ«Äu funkcionalitÄti. TaÄu tika atklÄti arÄ« tie, kas ar aktivitÄti pÄrcentÄs.
Pats pirmais
Kad ir ieslÄgts bezvadu internets, visi vÄl guļ un ir iespÄja redzÄt, kuri pieprasÄ«jumi tiek nosÅ«tÄ«ti tÄ«klam pirmie. TÄtad, pulksten 6:50 ieslÄdzas internets un pirmajÄs desmit minÅ«tÄs katru dienu tiek aptaujÄti 60 domÄni:
SQL atskaites vaicÄjums
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 pÄrbauda, āāvai WLAN savienojumÄ nav pieteikÅ”anÄs lapas.
Citrix nosūta savu serveri, lai gan lietojumprogramma nedarbojas aktīvi.
Symantec pÄrbauda sertifikÄtus.
Mozilla pÄrbauda atjauninÄjumus, lai gan iestatÄ«jumos es lÅ«dzu to nedarÄ«t.
mmo.de ir spÄļu pakalpojums. VisticamÄk, pieprasÄ«jumu ierosina facebook Äats. MÄs bloÄ·Äjam.
Apple aktivizÄs visus savus pakalpojumus. api-glb-fra.smoot.apple.com - spriežot pÄc apraksta, katrs pogas klikŔķis tiek nosÅ«tÄ«ts Å”eit meklÄtÄjprogrammu optimizÄcijas nolÅ«kos. Ä»oti aizdomÄ«gs, bet saistÄ«ts ar funkcionalitÄti. MÄs to atstÄjam.
TÄlÄk ir sniegts garÅ” Microsoft.com pieprasÄ«jumu saraksts. MÄs bloÄ·Äjam visus domÄnus, sÄkot no treÅ”Ä lÄ«meÅa.
PaÅ”u pirmo apakÅ”domÄnu skaits
TÄtad, pirmÄs 10 minÅ«tes pÄc bezvadu interneta ieslÄgÅ”anas.
iOS aptaujÄ visvairÄk apakÅ”domÄnu - 32. Seko Android - 24, tad Windows - 15 un visbeidzot Blackberry - 9.
facebook aplikÄcija vien aptaujÄ 10 domÄnus, skype ā 9 domÄnus.
InformÄcijas avots
AnalÄ«zes avots bija bind9 lokÄlÄ servera žurnÄlfails, kas satur Å”Ädu formÄtu:
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)
Fails tika importÄts sqlite datu bÄzÄ un analizÄts, izmantojot SQL vaicÄjumus.
Serveris darbojas kÄ keÅ”atmiÅa; pieprasÄ«jumi nÄk no marÅ”rutÄtÄja, tÄpÄc vienmÄr ir viens pieprasÄ«juma klients. Pietiek ar vienkÄrÅ”otu tabulas struktÅ«ru, t.i. PÄrskatam ir nepiecieÅ”ams pieprasÄ«juma laiks, pats pieprasÄ«jums un otrÄ lÄ«meÅa domÄns grupÄÅ”anai.
DDL tabulas
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)
);
secinÄjums
TÄdÄjÄdi domÄna vÄrdu servera žurnÄla analÄ«zes rezultÄtÄ vairÄk nekÄ 50 ieraksti tika cenzÄti un ievietoti bloÄ·ÄÅ”anas sarakstÄ.
ProgrammatÅ«ras ražotÄji ir labi aprakstÄ«juÅ”i dažu vaicÄjumu nepiecieÅ”amÄ«bu, un tas rada pÄrliecÄ«bu. TomÄr liela daļa aktivitÄÅ”u ir nepamatotas un apÅ”aubÄmas.
Avots: www.habr.com