
نص برمجي لـ Zeek يستخدم قائمة النطاقات العلوية (TLD) الرسمية من ICANN مع إطار عمل Input Framework لاستخراج المعلومات ذات الصلة من استعلام DNS وتحديد ما إذا كان موثوقًا أم لا. يمكن العثور على مصدر نطاقات ICANN العلوية هنا: https://publicsuffix.org/list/effective_tld_names.dat. قائمة النطاقات الموثوقة (Trusted Domains) هي قائمة مخصصة أنشأها المستخدم لتصفية النطاقات أثناء عمليات البحث.
سكربت Zeek يستخدم قائمة ICANN الرسمية لنطاقات المستوى الأعلى (TLD) مع إطار الإدخال (Input Framework) لاستخراج المعلومات ذات الصلة من استعلام DNS وتحديد ما إذا كان موثوقًا أم لا. يمكن العثور على مصدر نطاقات TLD الخاصة بـ ICANN هنا: https://publicsuffix.org/list/effective_tld_names.dat. قائمة النطاقات الموثوقة (Trusted Domains) هي قائمة مخصصة، ينشئها المستخدم، لتصفية النطاقات أثناء عمليات البحث.
يقوم icannTLD بتحليل كل استعلام DNS وإضافة الحقول التالية إلى سجل DNS.
| Field | Value | Description |
|---|
| icann_tld | هذا هو نطاق المستوى الأعلى بناءً على القائمة الرسمية لنطاقات TLD من ICANN. | |
| icann_domain | هذا هو النطاق بناءً على القائمة الرسمية لنطاقات TLD من ICANN. | |
| icann_host_subdomain | هذه هي العقد المتبقية من الاستعلام بعد إزالة النطاق. في بعض الحالات يكون هذا هو النطاق الفرعي، وفي حالات أخرى يكون اسم المضيف، وفي حالات أخرى يكون اسم المضيف والنطاق الفرعي. | |
| is_trusted_domain | true/false | يتم وضع علامة صحيح أو خطأ على كل استعلام بناءً على icann_domain وملف trusted_domains.dat المخصص. |
ملاحظة: لا يستخدم هذا السكربت حاليًا أي قائمة لنطاقات المستوى الأول (أي ".com"). إذا كان نطاق المستوى الأعلى (TLD) لا يطابق أنماط التعبير النمطي (regex) المكونة من 2 أو 3 أو 4 أجزاء، فسيتم افتراض أنه نطاق مستوى أول TLD.
يجب تحميل الملفات الموجودة في مجلد input_files إلى المستشعر قبل تحميل حزمة السكربت هذه. ويمكن تحميلها مباشرة إلى المستشعر عبر الواجهة الرسومية GUI أو عبر Corelight Client إذا رغبت في ذلك.
يدعم Corelight-update الآن إنشاء وصيانة ملفات الإدخال المطلوبة.
قد تختلف التعليمات الخاصة بـ Zeek مفتوح المصدر.
corelight-client -b <sensor_address> bro input upload --name 1st_level_public_icann.dat --file ./source_files/1st_level_public_icann.dat
corelight-client -b <sensor_address> bro input upload --name 2nd_level_public_icann.dat --file ./source_files/2nd_level_public_icann.dat
corelight-client -b <sensor_address> bro input upload --name 3rd_level_public_icann.dat --file ./source_files/3rd_level_public_icann.dat
corelight-client -b <sensor_address> bro input upload --name 4th_level_public_icann.dat --file ./source_files/4th_level_public_icann.dat
corelight-client -b <sensor_address> bro input upload --name trusted_domains.dat --file ./source_files/trusted_domains.dat
zkg install https://github.com/corelight/icannTLD.git
اليوم، يمكن لأي شخص شراء نطاق TLD، لذا يمكن أن تتغير هذه القائمة بشكل متكرر. تقوم ICANN بتحديث القائمة عدة مرات في اليوم مع إدخال التغييرات، ويمكن سحبها يوميًا.
تُقسم نطاقات TLD عمومًا إلى فئتين:
لا يمكن سحب القائمة مباشرة من Mozilla.org ووضعها على مستشعر Corelight/Zeek. يجب تصفيتها وتنسيقها بشكل صحيح أولاً. يدعم Corelight-update الآن إنشاء وصيانة ملفات الإدخال المطلوبة.
ملاحظة: يجب إنشاء ملف trusted_domains.dat يدويًا. ويمكن بعد ذلك تحميله يدويًا، أو يمكن استخدام Corelight-update لتحميل ملف الإدخال.