Evdeki internet nasıl yaşıyor ve alan adı sunucusu istatistikleri nasıl?

Bir ev yönlendiricisi (bu durumda FritzBox) çok şey kaydedebilir: ne kadar trafik ne zaman gidiyor, kimin hangi hızda bağlı olduğu vb. Yerel ağdaki bir alan adı sunucusu (DNS), bilinmeyen alıcıların arkasında neyin gizlendiğini bulmama yardımcı oldu.

Genel olarak DNS'nin ev ağı üzerinde olumlu bir etkisi oldu: hızı, kararlılığı ve yönetilebilirliği artırdı.

Aşağıda soruları gündeme getiren ve neler olduğunu anlama ihtiyacını ortaya çıkaran bir diyagram bulunmaktadır. Sonuçlar zaten alan adı sunucularına gönderilen bilinen ve çalışan istekleri filtreliyor.

Herkes hala uyurken neden her gün 60 belirsiz alan sorgulanıyor?

Her gün, aktif saatlerde 440 bilinmeyen alan yoklanıyor. Kim bunlar ve ne yapıyorlar?

Günlük ortalama istek sayısı saat bazında

Evdeki internet nasıl yaşıyor ve alan adı sunucusu istatistikleri nasıl?

SQL rapor sorgusu

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

Geceleri kablosuz erişim devre dışı bırakılır ve cihaz etkinliği beklenir; Bilinmeyen alanlar için yoklama yapılmaz. Bu, en büyük etkinliğin Android, iOS ve Blackberry OS gibi işletim sistemlerine sahip cihazlardan geldiği anlamına gelir.

Yoğun olarak anket yapılan domainleri listeleyelim. Yoğunluk ise günlük talep sayısı, etkinlik yapılan gün sayısı ve günün kaç saatinde fark edildiği gibi parametrelerle belirlenecek.

Beklenen tüm şüpheliler listedeydi.

Yoğun olarak ankete tabi tutulan alanlar

Evdeki internet nasıl yaşıyor ve alan adı sunucusu istatistikleri nasıl?

SQL rapor sorgusu

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

Üreticinin güvenlik nedeniyle haklı çıkaracağı isс.blackberry.com ve iceberg.blackberry.com adreslerini engelliyoruz. Sonuç: WLAN'a bağlanmaya çalışırken oturum açma sayfası gösteriliyor ve bir daha hiçbir yere bağlanılmıyor. Engellemeyi kaldıralım.

Detectportal.firefox.com da aynı mekanizmadır ve yalnızca Firefox tarayıcısında uygulanır. WLAN ağında oturum açmanız gerekiyorsa ilk olarak oturum açma sayfası gösterilir. Adrese neden bu kadar sık ​​ping atıldığı tam olarak belli değil, ancak mekanizma üretici tarafından açıkça açıklanıyor.

Skype. Bu programın eylemleri bir solucana benzer: gizlenir ve görev çubuğunda kendisinin öldürülmesine izin vermez, ağda çok fazla trafik oluşturur, her 10 dakikada bir 4 alana ping atar. Görüntülü görüşme yaparken internet bağlantısı daha iyisi olamayacağı halde sürekli kesiliyor. Şimdilik gerekli, öyle de kalıyor.

upload.fp.measure.office.com - Office 365'i ifade eder, düzgün bir açıklama bulamadım.
tarayıcı.pipe.aria.microsoft.com - Uygun bir açıklama bulamadım.
İkisini de engelliyoruz.

connect.facebook.net - Facebook sohbet uygulaması. Kalıntılar.

mediator.mail.ru Mail.ru alanına yönelik tüm isteklerin analizi, çok sayıda reklam kaynağının ve istatistik toplayıcının varlığını gösterdi ve bu da güvensizliğe neden oluyor. mail.ru alan adı tamamen kara listeye gönderilir.

google-analytics.com - cihazların işlevselliğini etkilemediğinden onu engelliyoruz.
doubleclick.net - reklam tıklamalarını sayar. Engelliyoruz.

İsteklerin çoğu googleapis.com'a gidiyor. Engelleme, bana aptalca görünen tabletteki kısa mesajların neşeli bir şekilde kapatılmasına yol açtı. Ancak Play Store çalışmayı durdurdu, o yüzden engellemeyi kaldıralım.

cloudflare.com - açık kaynağı sevdiklerini ve genel olarak kendileri hakkında çok şey yazdıklarını yazıyorlar. Alan araştırmasının yoğunluğu tamamen açık değildir ve bu yoğunluk genellikle İnternet'teki gerçek aktiviteden çok daha yüksektir. Şimdilik bunu bırakalım.

Bu nedenle isteklerin yoğunluğu çoğu zaman cihazların gerekli işlevselliğiyle ilgilidir. Ancak aktiviteyle bunu abartanlar da keşfedildi.

Çok önce

Kablosuz İnternet açıldığında herkes hala uykudadır ve ağa ilk önce hangi isteklerin gönderildiğini görmek mümkündür. Böylece, saat 6:50'de İnternet açılıyor ve ilk on dakikalık süre içinde günde 60 alan adı yoklanıyor:

Evdeki internet nasıl yaşıyor ve alan adı sunucusu istatistikleri nasıl?

SQL rapor sorgusu

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, WLAN bağlantısını bir oturum açma sayfasının olup olmadığını kontrol eder.
Citrix, uygulama aktif olarak çalışmadığı halde sunucusuna ping atıyor.
Symantec sertifikaları doğrular.
Ayarlarda bunu yapmamayı istememe rağmen Mozilla güncellemeleri kontrol ediyor.

mmo.de bir oyun hizmetidir. Büyük olasılıkla istek Facebook sohbeti tarafından başlatılmıştır. Engelliyoruz.

Apple tüm hizmetlerini etkinleştirecek. api-glb-fra.smoot.apple.com - Açıklamaya bakılırsa, her düğmeye tıklama, arama motoru optimizasyonu amacıyla buraya gönderilir. Son derece şüpheli, ancak işlevsellikle ilgili. Bırakıyoruz.

Aşağıda microsoft.com'a yapılan isteklerin uzun bir listesi bulunmaktadır. Üçüncü seviyeden itibaren tüm alan adlarını engelliyoruz.

İlk alt alan adlarının sayısı
Evdeki internet nasıl yaşıyor ve alan adı sunucusu istatistikleri nasıl?

Yani, kablosuz interneti açmanın ilk 10 dakikası.
iOS en çok alt alanı yokluyor - 32. Bunu Android - 24, ardından Windows - 15 ve son olarak Blackberry - 9 takip ediyor.
Facebook uygulaması tek başına 10 alanı, Skype ise 9 alanı yokluyor.

Bilgi kaynağı

Analizin kaynağı, aşağıdaki formatı içeren bind9 yerel sunucu günlük dosyasıydı:

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)

Dosya bir sqlite veritabanına aktarıldı ve SQL sorguları kullanılarak analiz edildi.
Sunucu önbellek görevi görür; istekler yönlendiriciden gelir, dolayısıyla her zaman bir istek istemcisi vardır. Basitleştirilmiş bir tablo yapısı yeterlidir; Rapor, isteğin zamanını, isteğin kendisini ve gruplandırma için ikinci düzey etki alanını gerektirir.

DDL tabloları

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

Aviator apk

Böylece alan adı sunucusu logunun analiz edilmesi sonucunda 50'den fazla kayıt sansürlenerek blok listesine alındı.

Bazı sorguların gerekliliği yazılım üreticileri tarafından çok iyi tanımlanmış ve güven telkin etmiştir. Ancak faaliyetlerin çoğu asılsız ve şüphelidir.

Kaynak: habr.com

Yorum ekle