
تتكون الشبكة الحديثة من العديد من التقنيات المختلفة التي توفر مجموعة متنوعة من الفرص ... ولكنها تخلق أيضًا عددًا كبيرًا من التهديدات. لطالما كانت المتصفحات الحديثة أكثر التطبيقات تعقيدًا على جهاز الكمبيوتر ، متقدماً على تعقيد حتى جوهر نظام التشغيل (في Firefox عدة أسطر من التعليمات البرمجية أكثر من مجموعات Linux kernel أو مجموعات المكاتب). إننا نقضي معظم وقتنا في المتصفح ، لذلك ليس من المستغرب أن يكون المتصفح تحت السلاح: فهم يحاولون باستمرار اختراقه واستخدامه في الروبوتات ومحاولة سرقة بياناتنا منه والاستماع إلى زياراته وتتبع المواقع التي نزورها وإجراءاتنا على هذه المواقع .
لقد حان الوقت لنقول أن كل شيء ليس سيئًا للغاية ، ويمكن معالجة كل هذه المشاكل ... لكن هذا ليس كذلك. من خارج الصندوق ، تعمل المتصفحات بالفعل كثيرًا: فهي تقوم بتحديثها بانتظام ، وتحاول سد ثغرات الأمان ، وإدخال تقنيات جديدة للحماية ، وتوفر القدرة على توسيع وظائفها مع ملحقات الطرف الثالث. ولكن لا توجد حماية جادة خارج الصندوق ، ومن غير المرجح أن تظهر أبدًا: تأتي مكتملة مع تعقيد واجهة المتصفح وتعطيل جزئي لوظائفه ، مما "يكسر" المواقع ومن غير المرجح أن يروق للمستخدمين العاديين. لكن الشيء الأكثر حزناً هو أنه حتى عند هذا السعر ، فإنه من المستحيل حماية المستعرض بالكامل - فقد أصبح معقدًا للغاية.
ومع ذلك ، يمكنك القيام بالكثير لتحسين أمان المستعرض. هناك بعض المشاريع الجيدة (الإنجليزية) التي تقدم مقاربات شاملة لحماية إضافية من Firefox: دليل تكوين Firefox لنصائح خصوصية وهواة الأداء (أو نسخته للمستخدمين العاديين من دليل خصوصية Firefox For Dummies! ) من 12bytes.org و ghacks-user .js من Thorin-Oakenpants ، earthlng و claustromaniac. إنها تركز على أقصى درجات الحماية ، لكن استخدام مثل هذا المتصفح للمهام اليومية العادية يصبح مشكلة للغاية وغير مريح. في رأيي ، يجب أن تقتصر على حماية فايرفوكس المعتدلة من أجل تحقيق التوازن بين تعزيز الأمن ، والحفاظ على وظائف المواقع التي نحتاج إليها ، والجهد المبذول في كل هذا .
المحتويات:
نموذج التهديد
السلامة (الأمن)
الخصوصية (الخصوصية)
المطبوعات (البصمات)
تتبع (تتبع)
عدم الكشف عن هويته (عدم الكشف عن اسمه)
الطرق المتاحة لتعزيز الحماية
توسع
CanvasBlocker
CSS Exfil Protection
Decentraleyes
ETag Stoppa
رئيس التحرير
HTTPS في كل مكان
أنيق URL
uBlock الأصل
uMatrix
ghacks user.js
لدي القليل من تصلب معتدل ، أريد كل شيء إلى أقصى حد!
الموقع لا يعمل - على من يقع اللوم ، حيث لإصلاح؟
حقائق مضحكة
نموذج التهديد
بادئ ذي بدء ، دعنا نحلل نموذج التهديد ، ما الذي نحميه بالضبط ومن ماذا.
السلامة (الأمن)
هذا مفهوم عام إلى حد ما ، ولكن في حالتنا ، يتعلق الأمر بمنع أو تعقيد استخدام المتصفح من قبل الآخرين بطريقة غير طبيعية: ويشمل ذلك مجموعة واسعة من التهديدات من اختراق المتصفح عن طريق استغلاله إلى الحماية ضد التصيّد.
من الواضح ، سيكون هناك دائمًا ثقوب ، لذلك لا يمكن أن تكون هناك حماية بنسبة 100٪ هنا من حيث المبدأ. بالنسبة للجزء الأكبر ، يتعلق الأمر بتعطيل بعض ميزات المتصفح أو تكنولوجيا الويب من أجل تقليل سطح الهجوم.
الخصوصية (الخصوصية)
يجب ألا يكون أي شخص باستثناء المرسل والمستلم قادرين على قراءة المعلومات المرسلة.
نحن هنا نتحدث بشكل رئيسي عن تعزيز حماية اتصالات https. تركز إعدادات المتصفح الافتراضية بشكل أكبر على ضمان إمكانية إنشاء الاتصال ، حتى على حساب فقدان القدرة على ضمان سريته.
المطبوعات (البصمات)
يجب أن يكون المستخدم قادرًا على منع موقع الويب من تحديد أن مشاهدات الموقع السابقة والحالية تم إجراؤها بواسطة نفس المستخدم.
هذا هو المكان الذي يبدأ الجحيم. ننسى تلك الأوقات المباركة عندما كان يكفي لمسح ملفات تعريف الارتباط والوصول إلى الموقع من عنوان IP مختلف ، بحيث لم يتمكن من حيث المبدأ من توصيل هاتين الزيارتين. أصبح بإمكان المواقع الآن الوصول إلى العديد من البيانات المتنوعة والفريدة حول المستعرض ونظام التشغيل وأجهزة المستخدم بحيث أصبح من المستحيل إيقافها. بصراحة ، أثناء عملية إعداد هذه المقالة ، تعلمت الكثير من الأشياء التي أود الآن أن "أراها" - على الرغم من أنني كنت أعرف الكثير عما يحدث في هذا المجال ، حتى أنني لم أتخيل حجم الكارثة.
قائمة جزئية بمواقع الويب التي يمكنها معرفة نظامك:- على الخادم:
- تفاصيل اتصال الشبكة (IP ، MTU).
- معرّف جلسة SSL. عادة ما تتغير مرة واحدة في اليوم. وهذا يعني أنه ، على سبيل المثال ، إذا ذهبت بالفعل إلى https://gmail.com اليوم تحت حساب واحد ، ثم قمت بمسح ملفات تعريف الارتباط وما إلى ذلك. وتغيير VPN للانتقال إلى https://gmail.com من عنوان IP آخر - لا يزال بإمكان Google تحديد هاتين الزيارتين اللتين تمتا بهما من نفس المتصفح.
- كل ما تكشفه رؤوس HTTP: إصدار المستعرض ونظام التشغيل واللغة.
- عبر CSS:
- حجم نافذة المتصفح. علاوة على ذلك ، هذه واحدة من أكثر خصائص المتصفح الفريدة.
- DPI / مقياس.
- الخطوط المثبتة. من خلال CSS ، يمكنك التحقق من وجود الخطوط المعروفة سابقًا فقط (JS تسمح لك بالحصول على جميع الخطوط) ، لكن هذا أكثر من كافٍ - في النهاية ، قائمة جميع الخطوط الموجودة محدودة ومعروفة.
- نظام التشغيل (في الخطوط النموذجية).
- عبر JS:
- الحديد:
- عدد عمليات المتصفح المتوازية (التزامن).
- الشركة المصنعة وطراز بطاقة الفيديو (عبر WebGL).
- المتصفح:
- الاسم والنسخة.
- OS.
- اللغة.
- اللغة.
- التوقيت.
- إعدادات حقوق الوصول (الوصول إلى الموقع ، والميكروفون ، وما إلى ذلك) - المسموح بها والمحظورة ، والتي سيطلبها المستخدم (والتي تشكل أيضًا مجموعة فريدة إلى حد ما وفقًا لإعدادات المستخدم).
- هل يستخدم وضع التصفح الخاص؟
- الشاشة:
- أبعاد (القرار) من الشاشة ، المتاحة ، نافذة خارجية ، نافذة داخلية ، viewport.
- هل تم تمكين ملء الشاشة؟
- اتجاه الشاشة.
- عمق اللون.
- DPI.
- يستخدم HiDPI.
- مستوى التكبير الحالي للصفحة.
- devicePixelRatio.
- مستودعات البيانات (طرق لتذكر معرف المستخدم):
- ملفات تعريف الارتباط.
- التخزين المحلي.
- sessionStorage.
- المفهرسة.
- appCache.
- عامل الويب.
- عامل مشترك.
- عامل الخدمة.
- خدمة عامل ذاكرة التخزين المؤقت.
- لاحظ (الإخطارات).
- ذاكرة التخزين المؤقت العادية (بما في ذلك الحيل مع ETag ، وما إلى ذلك).
- الخطوط (آخر واحد من أكثر العوامل الفريدة).
- قماش (يمكنك الحصول على بصمة فريدة من نوعها من خلال قراءة نتيجة العرض من قبل المتصفح).
- DOMRect.
- تقاطع المراقب API.
- WebGL (من بين أشياء أخرى ، يمكنك معرفة اسم بطاقة الفيديو).
- واجهة برمجة تطبيقات الصوت
- قائمة خوارزميات التشفير المسموح بها وإصدارات TLS.
بعد النظر في هذه القائمة ، يبدو الإشعار القانوني من مواقع الويب بشأن استخدام المستخدمين لملفات تعريف الارتباط بمثابة سخرية.
هناك طريقتان للحماية: الحد من إنترانت بصمات الأصابع (بحيث تطابق بصمات الأصابع للعديد من المستخدمين) وزيادة إنتروبري (بحيث تختلف بصمة مستخدم واحد عن البصمة السابقة في كل مرة). عادةً ما يكون الحد من الانتروبيا يعمل بشكل أفضل ، ولكن بشكل كامل أو أقل لا يمكن تنفيذه إلا في متصفح Tor ، لأنه من الضروري لذلك الحد بشدة من قدرة المستخدمين على تخصيص المتصفح ، ولا يمكن للمتصفحات للأغراض العامة تحمل تكاليفها. بالنسبة للزيادة في الانتروبيا ، فإن المشكلة الرئيسية هي أنه يمكن تحديد حقيقة العشوائية لبصمات الأصابع (من خلال وضع بصمتين على التوالي) ، وبعد ذلك بدلاً من القيمة المحددة لبصمة الأصابع ، تبدأ علامة "بصمة وهمية" ، والتي تضعك في حد ذاتها في فئة ضيقة جدًا من المستخدمين و يجعل من السهل الحصول على طباعة فريدة من نوعها بالنسبة لك.
بالنسبة لنا ، كل هذا يعني أنه حتى محاولة عرقلة جمع بصماتنا لا معنى لها ، إلا إذا كان يمكن الحصول عليها "مجانًا" - دون التضحية بأداء المواقع وسهولة استخدام المتصفح.
تتبع (تتبع)
يجب ألا يكون من الممكن ربط تصفح مواقع مختلفة من قبل مستخدم واحد ، ما لم يكن هو نفسه قد أبلغ أحد المواقع بمعلومات حسابه على موقع آخر.
عادةً ما يتم التتبع عن طريق ربط الموارد (JS / CSS / image) الخاصة بموقع الطرف الثالث بالعديد من المواقع الأخرى. يبدو أن استخدام الإضافات لمنع أجهزة التتبع والإعلانات يجب أن يحل هذه المشكلة ... لكن ، للأسف ، هذا ليس كذلك. نعم ، إنها مفيدة ، ولكن الحقيقة القاسية هي أن المواقع تبيع هذه البيانات ، لذلك حتى إذا قمت بزيارة موقعين حيث تم حظر جميع موارد الطرف الثالث ، فلا يزال بإمكان هذه المواقع بيع بيانات حول زياراتك إلى نفس شبكة الإعلان ، مما سيسمح لها بالربط بين هذه الزيارات مع بعضها البعض (مع مراعاة الإمكانيات المذكورة أعلاه للحصول على بصمة مستخدم فريدة - لن تكون هذه مشكلة).
ومع ذلك ، لا يزال حظر موارد الجهات الخارجية يستحق كل هذا العناء - حيث يعمل ذلك على تسريع عملية تحميل المواقع ، وإلغاء الإعلانات ، وتعقيد تكلفة التتبع ، كما يقلل مصادر الهجمات على المتصفح.
عدم الكشف عن هويته (عدم الكشف عن اسمه)
لا ينبغي أن يكون من الممكن ربط عرض موقع ويب بهوية المستخدم الحقيقية إذا لم يسجل على هذا الموقع تحت اسمه الحقيقي ولم يتمكن من الوصول إليه من عنوان IP المسجل من قبل المزود عليه.
بالنظر إلى إمكانية الحصول على بصمات الأصابع والتعقب - فإن إخفاء هوية المستخدم ، الذي سمح له على الأقل بزيارة أحد المواقع التي زارها ، يتحول إلى خيال.
تعزيز إخفاء الهوية هو خارج نطاقنا. باختصار ، ضع في اعتبارك: لا يوجد عدم الكشف عن هويتك عند استخدام المستعرض الرئيسي الخاص بك ، ولن يكون كذلك. هناك حاجة إلى عدم الكشف عن الهوية - ابحث عن virtualoks المتخصصة (مع الإعدادات الافتراضية وبدون حفظ النتائج على القرص بعد إيقاف تشغيل virtualka) ، و VPN + Tor و Tor-browser بدلاً من Firefox العادي.
الطرق المتاحة لتعزيز الحماية
إذن ماذا يمكننا أن نفعل؟ في ترتيب متزايد من الصعوبة:
- يمكنك استخدام إمكانيات المتصفح المضمنة للتحكم وعزل مواقع الويب على أساس فردي:
- الحاويات.
- نافذة خاصة.
- الوصول إلى إدارة الحقوق للمواقع.
- حظر ملفات تعريف الارتباط للجهات الخارجية وأجهزة التتبع الشهيرة.
- حذف البيانات / ذاكرة التخزين المؤقت المخزنة بواسطة المواقع.
- يمكنك تثبيت مجموعة متنوعة من الملحقات.
- يمكنك تحمّل بين عدة آلاف من إعدادات المتصفح المتوفرة
about:config
وتغيير بعضها.
مع الفقرة الأولى ، كل شيء تافه ، ولكن أود أن أشير خاصة الحاويات. هذه ميزة جديدة نسبياً في Firefox تتيح لك عزل مجموعة من المواقع في حاوية واحدة عن مجموعة من المواقع في أخرى. في الواقع ، يجب أن يعمل استخدام حاويات مختلفة في متصفح واحد بنفس طريقة استخدام عدة متصفحات مختلفة في نفس الوقت - ولكن يجعلها أكثر ملاءمة للمستخدم. لا يزال عزل الحاويات أضعف قليلاً من عند استخدام متصفحات مختلفة ، لكنه جيد جدًا ويمكن استخدام الحاويات. ومع ذلك ، فإن الحاويات نفسها لا تعزز حماية أي من النقاط التي تم بحثها في نموذج التهديد - الحد الأقصى ، فهي تمنع قليلاً بصمة المستخدم من تخزين البيانات ( ملفات تعريف الارتباط ، ذاكرة التخزين المؤقت ، وما إلى ذلك ).
تأتي الإضافات عبر الأكثر تنوعًا - بعضها يكفي للتثبيت وستعمل دون الحاجة إلى الاهتمام والضبط الدقيق ، يجب تكوين الآخرين باستمرار لاستعادة وظائف المواقع الجديدة ، ولا يزال البعض الآخر يمثل تهديدًا للأمن والخصوصية والتتبع. لذلك ، يجب أن تفكر بعناية في اختيار الإضافات المثبتة وسياسات الخصوصية وتحديثاتها.
بالنسبة للتغيير about:config
إعدادات about:config
، فهذه هي أصعب طريقة لتحسين الأمان. الكثير من هذه الإعدادات ، القليل جدًا من المعلومات حول ما يمكن كسره عند تغيير كل إعداد ، فإن التأثير ليس واضحًا بالنسبة لمعظمها ، بالإضافة إلى أن كل إصدار جديد من Firefox يجلب معه مجموعة من الإعدادات الجديدة ويزيل بعض الإعدادات القديمة.
توسع
فكر فيما إذا كنت تريد استخدام تحديثات الإضافات التلقائية (يمكنك إيقاف تشغيلها about:addons
). هناك العديد من الأسباب التي تجعلك يجب تعطيله (ولكن لا تزال بحاجة إلى تحديثها ، فقط مراقبة التغييرات بعناية وبشكل يدوي ، بما في ذلك سياسات الخصوصية):
- يقرر المطورون بانتظام البدء في تسييل الامتداد بطرق لا ترغب فيها بالتأكيد في سياق هذه المقالة.
- يبيع مطورو البرامج أحيانًا إضافات ، وعادةً ما يقوم مالكوها الجديدون بإجراء تغييرات عليها ، وهو الأمر الذي من غير المرجح أن يعجبك.
- التمديدات في بعض الأحيان "اختطاف" المطور.
- قد تقطع الإصدارات الأحدث التوافق مع التكوين الحالي و / أو العربات التي تجرها الدواب.
تستخدم بعض الإضافات CSP لتنفيذ الميزات الفردية. لسوء الحظ ، في الوقت الحالي ، فإن بنية فايرفوكس كبيرة بحيث يكون أحد الملحقات فقط قادرًا على تعديل CSP عند تحميل موقع ويب - ولا يمكنك التأكد من أي منها مقدمًا. نظرًا لأنه من الأهمية بمكان ضمان التشغيل الصحيح لـ uMatrix ، فمن الضروري التحقق بعناية من إعدادات الملحقات الأخرى للتأكد من تعطيل جميع الميزات التي تستخدم CSP فيها:
- uBlock Origin : قم بإيقاف تشغيل
→ → → [ ]
(لست متأكدًا بالتأكيد ، ولكن من المنطقي افتراض أنه من الأفضل عدم تمكين هذا الخيار للمواقع الفردية). - HTTPS Everywhere : تعطيل
→ [ ] (EASE)
. - CanvasBlocker : تعطيل
→ → [ ] Block data URL pages
(لمشاهدة هذا العنصر ، يلزمك تمكين → [✓]
).
إذا قررت عدم user.js
نفسك على تثبيت الإضافات ، ووضع user.js
الموضح أدناه ، ففكر في الفروق الدقيقة الإضافية:
- يتطلب
user.js
التكوين user.js
الموصى به استخدام ملحق uMatrix . - هناك حاجة إلى بعض الإعدادات في
user-overrides.js
حتى لا يتم عمل بعض الملحقات - قم بضبطها وفقًا للإضافات التي قمت بتثبيتها.
CanvasBlocker
CSS Exfil Protection
- صلة
- يحمي: السرية.
- الوصف: حظر الهجمات مثل تسرب بيانات CSS (سرقة البيانات من الصفحة من خلال استخدام محددات CSS محددة).
- الاستخدام: يعمل تلقائيا ، لا يتطلب الاهتمام.
- أيقونة: يمكن أن تكون مخفية في القائمة المتقدمة.
- الإعداد: غير مطلوب.
Decentraleyes
- صلة
- يحمي: تتبع.
- الوصف: يحمي من تتبع CDN "المجاني". يحتوي على ملفات شائعة يتم طلبها عادةً عبر CDN ، ويعطيها للمتصفح دون إجراء طلب شبكة حقيقي لـ CDN. الآثار الجانبية - يسرع قليلا تحميل المواقع.
- الاستخدام: يعمل تلقائيا ، لا يتطلب الاهتمام.
- أيقونة: يمكن أن تكون مخفية في القائمة المتقدمة.
- الإعداد: غير مطلوب.
لسوء الحظ ، بالنسبة لي ، يتم تعليق واجهة Firefox أثناء تحميل بعض المواقع في الخلفية ، لذلك اضطررت لإيقافها في الوقت الحالي.
ETag Stoppa
- صلة
- يحمي: بصمات الأصابع.
- الوصف ؛: يزيل رأس
ETag:
من استجابة الخادم. - الاستخدام: يعمل تلقائيا ، لا يتطلب الاهتمام.
- أيقونة: لا شيء.
- الإعداد: غير مطلوب.
بدلاً من استخدام هذا الملحق ، يمكنك إضافة قاعدة إلى محرر الرأس (يكون من المنطقي إذا تم استخدامه لقواعد أخرى أيضًا):
- صلة
- يحمي: يعتمد على كيفية استخدامه.
- الوصف: يسمح لك بتعيين القواعد الخاصة بك لحظر أو إعادة توجيه الطلبات ، وكذلك تغيير رؤوس الطلب أو الاستجابة.
- الاستخدام: يعمل تلقائيا ، لا يتطلب الاهتمام.
- أيقونة: يمكن أن تكون مخفية في القائمة المتقدمة.
- إعداد: في حد ذاته ، لا يفعل أي شيء على الإطلاق - يجب عليك تحديد القواعد له.
تم ذكر مثال واحد للقواعد أعلاه في وصف ETag Stoppa . ولكن إذا لم تكن هناك قواعد أخرى ، فمن الأسهل استخدام ETag Stoppa بدلاً من هذا الملحق.
مثال آخر: لقد وجدت أن امتداد ImTranslator لسبب ما يرسل BL_D_PROV=undefined; BL_T_PROV=undefined
تعريف ارتباط إلى جميع المواقع: BL_D_PROV=undefined; BL_T_PROV=undefined
BL_D_PROV=undefined; BL_T_PROV=undefined
. ربما يكون هذا مجرد خطأ ، لكن لا يعجبني أنه يخبر جميع المواقع التي أستخدمها هذا الامتداد. تم حل المشكلة بواسطة هذه القاعدة:
HTTPS في كل مكان
- صلة
- يحمي: السرية.
- الوصف ؛: التبديل تلقائيا إلى https حيثما كان ذلك ممكنا.
- الاستخدام: إنه يعمل تلقائيًا ، ولا يحتاج إلى اهتمام تقريبًا (المرة الأخيرة التي كسرت فيها أحد المواقع بسبب هذا التوسيع منذ عام ونصف العام).
- أيقونة: تستخدم لتخصيص المواقع.
- الإعداد: غير مطلوب.
أنيق URL
- صلة
- يحمي: تتبع.
- الوصف ؛: يزيل المعلمات غير المرغوب فيه من عناوين المواقع.
- الاستخدام: يعمل تلقائيا ، لا يتطلب الاهتمام.
- أيقونة: يمكن أن تكون مخفية في القائمة المتقدمة.
- الإعداد: غير مطلوب.
uBlock الأصل
- صلة
- يحمي: الأمن ، وبصمات الأصابع ، تتبع.
- الوصف: مانع تلقائي (استنادًا إلى قوائم الجهات الخارجية) لأي من البيانات المهملة حسب النوع و / أو عنوان url ، بالإضافة إلى عناصر الصفحة الفردية: بدءًا من الإعلان والإشعارات حول استخدام ملفات تعريف الارتباط من قِبل الموقع إلى المتعقبات والبرامج الضارة.
- الاستخدام: في بعض الأحيان ، تحتاج إلى إنشاء موقع جديد.
- الرمز: مطلوب لتكوين الموقع الحالي ، بما في ذلك حظر عناصر الصفحة الفردية يدويًا.
- الإعداد: (قوائم التصفية - مسألة تفضيل شخصي)
[✓] → [✓] IP- WebRTC [✓] CSP- → [✓] uBlock filters – Annoyances → [✓] Adblock Warning Removal List → [✓] Fanboy's Enhanced Tracking List → [✓] Malvertising filter list by Disconnect [✓] Spam404 → [✓] AdGuard Annoyances filter [✓] Fanboy's Cookie List [✓] Fanboy's Annoyance List → [✓] Dan Pollock's hosts file [✓] hpHosts' Ad and tracking servers → , [✓] RUS: RU AdList
uMatrix
يوفر هذا الامتداد أخطر حماية ، لكن له سعرًا: سيتم تعطيل العديد من المواقع وسيحتاج الأمر إلى إصلاحه يدويًا. على سبيل المثال ، أدت القاعدة "* * script block"
المضافة للتو إلى إيقاف تنفيذ JS على جميع المواقع - والتي ، بالطبع ، حطمت الكثير منها. لكن لا تتعجل في إزالة هذه القاعدة: أولاً ، لن يساعد ذلك كثيرًا ، لأنه لا يزال تعطيل تحميل العديد من أنواع الموارد بما في ذلك JS من مواقع الجهات الخارجية (والذي يكسر أيضًا العديد من المواقع) ؛ وثانيا ، " القائمة البيضاء: ممنوع كل شيء لم يكن مسموحا به صراحة " النهج على شبكة الإنترنت الحديثة هو الوحيد المقبول منذ كنت ترغب في تعزيز حماية فايرفوكس.
والخبر السار هو أنه ليس من الصعب إصلاح المواقع - عادةً ما يكون هناك نقرتان أو ثلاث نقرات في المصفوفة ، والتي تعرض أيقونة الامتداد ، ثم تعيد قراءة الصفحة الحالية. الشيء الرئيسي هو عدم نسيان حفظ التغييرات في المصفوفة نفسها بعد إصلاح الموقع.
كن مستعدًا عقلياً أنه في المرة الأولى التي ستضطر فيها إلى إصلاح كل موقع تقريبًا تزوره كثيرًا - وهذا يرجع إلى حقيقة أنه في المواقع المستخدمة بنشاط ، ستحتاج بالتأكيد إلى تضمين JS للموقع على الأقل ، بالإضافة إلى بعض الموارد مع مواقع الطرف الثالث. التحلي بالصبر في الأيام الأولى ، ثم سوف تصبح أسهل بكثير وبصراحة! :)
تجدر الإشارة إلى أن واجهة uMatrix واضحة ومريحة للغاية - بعد التعامل معها. وبعبارة أخرى ، لا يمكن أن يسمى بديهية. لذلك ، من المستحسن بشدة قراءة الوثائق! كحد أدنى ، قسم الاستخدام الأساسي لـ uMatrix (مع صور) من دليل تهيئة Firefox أعلاه لمقالب النزوات الخصوصية والأداء . بشكل عام ، أوصي بشدة بقراءة الويكي uMatrix - هناك الكثير من الأشياء ، لكن المعلومات ضرورية ومفيدة للغاية.
هناك مجموعة إضافية من القواعد التي قد يكون من المنطقي إضافتها إلى " →
- " →
- ستساعد على منع مواقع الإنترنت من الوصول إلى الموارد على الشبكة المحلية (هذه ليست حماية من هجوم إعادة ربط DNS). إذا قمت بتثبيت uMatrix منذ وقت طويل ، فأنت بحاجة أولاً إلى إزالة قاعدة "matrix-off: localhost true"
(الإصدارات الجديدة من uMatrix لا تثبيته).
أضف هذه القواعد: * localhost * block * 127 * block * 10 * block * 192.168 * block * 169.254 * block * 172.16 * block * 172.17 * block * 172.18 * block * 172.19 * block * 172.20 * block * 172.21 * block * 172.22 * block * 172.23 * block * 172.24 * block * 172.25 * block * 172.26 * block * 172.27 * block * 172.28 * block * 172.29 * block * 172.30 * block * 172.31 * block * [::1] * block * [fc00::] * block * [fd00::] * block * [fe80::] * block * [fe80::1%lo0] * block * [ff02::1] * block * [ff02::2] * block localhost localhost * allow 127 127 * allow 10 10 * allow 192.168 192.168 * allow 169.254 169.254 * allow 172.16 172.16 * allow 172.17 172.17 * allow 172.18 172.18 * allow 172.19 172.19 * allow 172.20 172.20 * allow 172.21 172.21 * allow 172.22 172.22 * allow 172.23 172.23 * allow 172.24 172.24 * allow 172.25 172.25 * allow 172.26 172.26 * allow 172.27 172.27 * allow 172.28 172.28 * allow 172.29 172.29 * allow 172.30 172.30 * allow 172.31 172.31 * allow [::1] [::1] * allow [fc00::] [fc00::] * allow [fd00::] [fd00::] * allow [fe80::] [fe80::] * allow [fe80::1%lo0] [fe80::1%lo0] * allow [ff02::1] [ff02::1] * allow [ff02::2] [ff02::2] * allow
ghacks user.js
كان كل شيء بسيطًا مع الامتدادات (نعم ، وحتى مع uMatrix - على الرغم من أنه يعقد استخدام المتصفح ، إلا أنه يوفر أيضًا الحماية الرئيسية) ، والآن وصلنا إلى الجزء الصعب.
يزودنا مشروع user.js
بملف user.js
الأساسي ، بالإضافة إلى البرامج النصية user.js
وإعادة ضبط الإعدادات عن بُعد. يحتوي هذا الملف (في الوقت الحالي) على تغيير 488 إعدادات في about:config
! وهي تعتبر أساسية لسبب ما: استخدامها كما هي ، دون إجراء التغييرات التي تحتاج إليها ، سيؤدي بالتأكيد إلى كارثة (على سبيل المثال ، إعداداتها الافتراضية تحذف بانتظام محفوظات المستعرض بالكامل ، وحظر Firefox Russification ، وكسر العديد من المواقع والإضافات).
يبذل هذا المشروع مجهودًا كبيرًا لحماية بصمات الأصابع والتعقب ... خطير لدرجة أن استخدام المتصفح يصبح غير مريح لدرجة أنه من الصدق القول "مستحيل". وفي الوقت نفسه ، فإنه يفقد بشكل ملحوظ في الحماية لمتصفح Tor في الجهاز الظاهري. لا يعني هذا بأي حال من الأحوال أن المشروع عديم الفائدة للمستخدمين - فقط لاستخدامه ، تحتاج إلى قضاء الكثير من الوقت في إنشاء your user-overrides.js
الخاص بك.
لهذا السبب ، قبل استخدامه ، يجب عليك:
- اقرأ بعناية user.js نفسها (حوالي 2300 خطوط).
- اقرأ بعناية جميع صفحات الويكي للمشروع .
- قم
user.js
ملف user-overrides.js
الخاص بك مع جميع التغييرات المتعلقة user.js
التي تحتاج إليها شخصيًا. - عمل نسخة احتياطية من ملف تعريف Firefox الخاص بك !!!
- وعندها فقط قم بتنشيط
user.js
يستغرق وقتا طويلا ، والكثير. هل يستحق كل هذا العناء؟ هذا سؤال صعب.
للإجابة عليه ، قمت بعمل قائمة (غير مكتملة) بما يحسنه بالإضافة إلى بصمات الأصابع والتتبع - ابحث وقرر بنفسك:
- الأمن:
- لتعطيل HTTP Auth الأصل (تصيّد الحساب).
- يعزز الحماية عند استخدام كلمات المرور المخزنة .
- يعزز الأمن عند استخدام TLS والشهادات .
- حدود دعم الخط (احتمالية عالية من الثغرات الأمنية).
- تعطيل الإضافات DRM .
- تعطيل WebGL (احتمالية عالية من الثغرات الأمنية).
- يحد من ميزات WebGL في حالة التمكين (احتمالية عالية من الثغرات الأمنية).
- تعطيل جميع أنواع خيارات العمال (عمال المناجم ، الانهيار / الشبح).
- تعطيل asm.js (احتمالية عالية من الثغرات الأمنية).
- تعطيل WebAssembly .
- تعطيل الذاكرة المشتركة (شبح).
- يضيف
rel=noopener
للصلات مع target=_blank
(الأمان). - يعزز الحماية عند التفاعل مع التطبيقات المحلية لجهة خارجية .
- تعطيل MathML (تقليل الهجوم على السطح).
- القوات Punycode ل IDN (مكافحة الغش).
- ينشط الدعم التجريبي لـ CSP 1.1 .
- يشمل عزل الطرف الأول .
- التسريبات ، المناولة:
- لتعطيل القياس عن بعد لمتصفح فايرفوكس والميزات المرتبطة به (توصيات ، إلخ).
- تعطيل خدمات الجهات الخارجية مثل Pocket.
- إنه يمنع ضخ الروابط التي لم يتم النقر فوقها (ping ، pre-fetch ، إلخ).
- تعطيل ميزات الشبكة التي يمكنك من خلالها تجاوز الخادم الوكيل / VPN ومعرفة IP (بما في ذلك IPv6 و WebRTC).
- يحد من تسرب سجل الصفحات السابقة في علامة التبويب الحالية.
- تعطيل : زار (تسرب التاريخ).
- إنه يمنع حدوث تسرب أثناء الكتابة في سطر بحث العنوان / النص من خلال تلميحات محرك البحث .
- تعطيل مشاركة الشاشة .
- يرفض الوصول إلى الحافظة .
- لتعطيل واجهة برمجة تطبيقات Intersection Observer (الاستقرار ، تعريف مانع الإعلانات).
لتبسيط إعداد user-overrides.js
مؤلف المقالات أعلاه على 12bytes.org الخاصة به user-overrides.js . لم يناسبني بشكل قاطع ، لأنني بحاجة إلى حماية معتدلة ، والتي تحافظ على راحة استخدام المتصفح ، حتى على حساب إضعاف الحماية من بصمات الأصابع والتتبع.
لقد نشرت أيضًا user-overrides.js ، ربما يسهل عليك استخدام ghacks user.js
لذلك ، لبدء استخدام ghacks user.js
يجب عليك القيام بما يلي:
- ALWAYS! عمل نسخة احتياطية من ملف تعريف Firefox الحالي.
- قم بتنزيل الملفات التالية من مشروع ghacks user.js في دليل ملف التعريف الحالي الخاص بك:
user.js
updater.sh
(وجعلها قابلة للتنفيذ) أو updater.bat
prefsCleaner.sh
(وجعله قابلاً للتنفيذ) أو prefsCleaner.bat
- قم بإنشاء ملف
user-overrides.js
في دليل ملف التعريف الحالي.
- يمكنك فقط تنزيل user-overrides.js ، ثم إدخال قيمة
dom.push.userAgentID
الحالية الخاصة بك وإجراء التغييرات التي تحتاجها.
- تشغيل.
updater.bat
أو updater.bat
. سيقوم بتحديث user.js
وإلحاق محتويات user-overrides.js
به في النهاية. - قم بإنهاء Firefox وتشغيله
./prefsCleaner.sh
أو prefsCleaner.bat
. ستقوم بإزالة جميع الإعدادات المذكورة في user.js
(بما في ذلك التعليقات التي تم التعليق عليها) من ملف prefs.js
(الذي يحتوي على معلوماتك الحالية about:config
إعدادات about:config
). - قم بتشغيل Firefox. اضغط على
Ctrl-Shift-Del
وحذف (طوال الوقت):
- ملفات تعريف الارتباط.
- ذاكرة التخزين المؤقت.
- بيانات الموقع حاليا.
_user.js.parrot
نظرة على about:config
، يجب تعيين المعلمة _user.js.parrot
على "SUCCESS" - وإلا user.js
خطأ في بناء الجملة في مكان ما في user.js
ضع في اعتبارك أن جميع الإعدادات المحددة في user.js
سيتم تطبيقها في كل مرة يبدأ فيها Firefox. لذلك إذا قمت بتغيير بعضها من خلال about:config
، وتريد حفظ هذه التغييرات عند إعادة تشغيل Firefox ، فأنت بحاجة إلى تكرارها في user-overrides.js
، ثم قم بتشغيل ./updater.sh
أو updater.bat
.
تذكر أن تقوم بتشغيل ./updater.sh
أو updater.bat
بشكل دوري لتحديث user.js
(على الأقل بعد إصدار الإصدار الجديد من Firefox). يتم وصف عملية التحديث بمزيد من التفاصيل في ويكي المشروع .
لدي القليل من تصلب معتدل ، أريد كل شيء إلى أقصى حد!
حسنًا ، في هذه الحالة ، إليك ما يجب القيام به بعد ذلك:
- تجاهل التغييرات التي تضعف الحماية في
user-overrides.js
.
- بدلاً من إلغاء الحظر ، يقوم العمال بإغلاقهم على مستوى عالمي في uMatrix.
- إخفاء IP عبر Tor و / أو خدمة VPN العامة.
- قم بتثبيت ملحق "سياسة الخصوصية في المنشأ" .
- تثبيت ملحق تخطي إعادة التوجيه .
- تثبيت التمديد الحاويات المؤقتة .
- قراءة Firefox Search Engine يحذر والتوصيات وتنظيف إعدادات محرك البحث في Firefox.
- أزل الامتدادات المدمجة من / usr / lib / firefox / browser / features /.
- تمكين خداع الإحالة الشامل لمواقع الطرف الثالث في uMatrix.
الموقع لا يعمل - على من يقع اللوم ، أين يجب إصلاحه؟
لقد أجريت قائمة بالتغييرات التي يمكن أن تؤدي إلى تعطيل الموقع بحيث يمكنك العثور بسرعة على الشخص الذي يجب إلقاء اللوم عليه. "()" , user.js
, user-overrides.js
.
- : CanvasBlocker
- Canvas 2D .
- WebGL .
- Audio API .
- history.length .
- window.name window.opener .
- DOMRect API .
- data:// .
- : CSS Exfil Protection
- : ETag Stoppa
- : Firefox Multi-Account Containers
- ( , localStorage , etc.) .
- : HTTPS Everywhere
- : Neat URL
- : uBlock Origin
- DOM .
- / url .
- popup .
- .
- pre-fetching .
- <a ping> sendBeacon .
- CSP .
- : uMatrix
- .
- mixed content .
- workers .
- Referer: .
- <noscript> .
- <a ping> sendBeacon .
- ghacks user.js
- () en-US.
- pre-fetching (, DNS, onMouseOver, etc.).
- <a ping> .
- IPv6 ( MAC, .. VPN).
- () HTTP/2 Alt-Svc: (fingerprinting).
- () /etc/hosts DNS SOCKS.
- () :visited ( ).
- () date/time picker ( ).
- cross-origin HTTP Auth ( ).
- () https- OCSP .
- SHA1 https- ( /MITM).
- Public Key Pinning ( /MITM).
- () mixed content .
- mixed content Flash.
- () (fingerprinting).
- ( ).
- cross-origin Referer: .
- DRM- .
- () OpenH264 Video Codec - WebRTC.
- () WebRTC ( IP, .. VPN).
- WebGL ( ).
- () WebGL ( ).
- screen sharing .
- canvas (fingerprinting).
- () - HTML5 media .
- window.open .
- .
- popup click dblclick.
- () workers (, Meltdown/Spectre).
- clipboard .
- beforeunload .
- asm.js ( ).
- WebAssembly .
- Intersection Observer API (, ).
- Shared Memory (Spectre).
rel=noopener
target=_blank
().- hardware acceleration (fingerprinting).
- Web Audio API (fingerprinting).
- sendBeacon .
- - file:// .
- MathML ( ).
- () .
- offline cache .
- () first party isolation ( - ).
- () resist fingerprinting ( / , , , , ; ; , ; Shift Alt; etc.).
- user-overrides.js
Firefox, , , : Mozilla. , ALSA PulseAudio , PulseAudio. " , PulseAudio, " , , (, , — PulseAudio, ).
Firefox , : , FPI (first party isolation) RFP (resist fingerprinting). - Temporary Containers ( , " Hardening") — , . , . , , .
https://html5test.com HTML5 508 555 ( , user.js
) 493 ( user.js
user-overrides.js
).