إعداد أمان الشبكة في أوبونتو. الأمان في Linux مفهوم نسبي

بيت / الفرامل

لا أحد منا يريد أن تقع المعلومات الشخصية في الأيدي الخطأ. ولكن كيف تحمي نظامك من الهجمات وسرقة البيانات؟ هل يتعين عليك حقًا قراءة أدلة يبلغ طولها كيلومترًا واحدًا حول خوارزميات الإعداد والتشفير؟ ليس ضروريا على الإطلاق. في هذه المقالة، سأخبرك بكيفية جعل نظام Linux آمنًا في 30 دقيقة حرفيًا.

مقدمة

نحن نعيش في عصر الأجهزة المحمولةودائمة على الانترنت. نذهب إلى مقهى مع جهاز كمبيوتر محمول ونقوم بتشغيل خوادم الويب المعرضة للإنترنت على أجهزتنا المنزلية. نقوم بالتسجيل في مئات المواقع ونستخدم نفس كلمات المرور لخدمات الويب. لدينا دائمًا هاتف ذكي في جيوبنا، به العشرات من كلمات المرور، ومفاتيح للعديد من خوادم SSH. لقد اعتدنا على خدمات الطرف الثالث التي تهتم بخصوصيتنا لدرجة أننا توقفنا عن الاهتمام بها.

عندما فقدت هاتفي الذكي، كنت محظوظًا جدًا لأن برنامج مكافحة السرقة المثبت عليه أصبح فعالاً وسمح لي بمسح جميع البيانات من ذاكرة الجهاز عن بعد. عندما قمت عن غير قصد بفتح منفذ SSH على جهاز منزلي مع مستخدم بدون كلمة مرور (!) فيه العالم الخارجي(!!) ، كنت محظوظًا جدًا لأن أطفال السيناريو وصلوا إلى الجهاز، وبصرف النظر عن التاريخ المضحك للقذيفة، لم يتركوا أي آثار خطيرة لوجودهم في النظام. عندما نشرت عن طريق الخطأ قائمة على الإنترنت باستخدام كلمة مرور Gmail الخاصة بي، كنت محظوظًا جدًا بوجود شخص طيب حذرني بشأن ذلك.

ربما أكون أبلهًا، لكني على قناعة راسخة أن حوادث مماثلة حدثت للعديد من الذين قرأوا هذه السطور. ومن الجيد أن يهتم هؤلاء الأشخاص، على عكسي، بجدية بحماية سيارتهم. بعد كل شيء، ربما لم تنجح برامج مكافحة السرقة، وبدلاً من النص البرمجي، ربما دخل أشخاص جادون إلى السيارة، وربما لم أفقد هاتفًا ذكيًا، بل فقدت جهاز كمبيوتر محمولًا، والذي لم يكن لديه أي حماية أخرى إلى جانب كلمة مرور المستخدم . لا، لا ينبغي عليك بالتأكيد الاعتماد على المصادقة الثنائية من Google وكلمات المرور الغبية في هذا اليوم وهذا العصر، فأنت بحاجة إلى شيء أكثر جدية.

هذه المقالة عبارة عن دليل لنظام Unixoid المصاب بجنون العظمة، وهو مخصص للحماية الكاملة لجهاز Linux من أي شيء وكل شيء. أتردد في القول إن كل ما هو موصوف هنا إلزامي للاستخدام. على العكس تمامًا، فهذه مجموعة من الوصفات والمعلومات التي يمكنك استخدامها لحماية نفسك وبياناتك على تلك المستويات التي تكون هناك حاجة إليها في موقفك المحدد.

كلمة المرور!

كل شيء يبدأ بكلمات المرور. وهي موجودة في كل مكان: في نافذة تسجيل الدخول في توزيعة Linux، وفي نماذج التسجيل على مواقع الإنترنت، وعلى خوادم FTP وSSH، وعلى شاشة قفل الهاتف الذكي. معيار كلمات المرور اليوم هو 8-12 حرفًا في حالة مختلطة وتتضمن أرقامًا. يعد إنشاء كلمات المرور هذه بعقلك أمرًا مملًا للغاية، ولكن هناك طريقة سهلة للقيام بذلك تلقائيًا:

$ opensl راند -base64 6

لا توجد تطبيقات خارجية، ولا ملحقات لمتصفح الويب، OpenSSL متاح على أي جهاز. على الرغم من أنه إذا كان الأمر أكثر ملاءمة لشخص ما، فيمكنه تثبيت pwgen واستخدامه لهذه الأغراض (يقولون أن كلمة المرور ستكون أكثر قوة):

$ pwgen -Bs 8 1

أين يتم تخزين كلمات المرور؟ اليوم، كل مستخدم لديه الكثير منهم أنه من المستحيل ببساطة تخزين كل شيء في رأسه. هل تثق بنظام الحفظ التلقائي في متصفحك؟ هذا ممكن، ولكن من يدري كيف ستتعامل معهم جوجل أو موزيلا. قال سنودن إن الأمر لم يكن جيدًا جدًا. ولذلك، يجب تخزين كلمات المرور على الجهاز نفسه في حاوية مشفرة. يوصي الآباء المؤسسون باستخدام KeePassX لهذا الغرض. الأمر رسومي، وهو ما لا يحبه الآباء المؤسسون أنفسهم حقًا، ولكنه يعمل في كل مكان، بما في ذلك مسبار Android الشهير Google (KeePassDroid). كل ما تبقى هو نقل قاعدة البيانات بكلمات المرور إلى المكان المطلوب.

دعونا تشفير

التشفير - هناك الكثير في هذه الكلمة... التشفير اليوم موجود في كل مكان وليس في أي مكان في نفس الوقت. نحن مجبرون على استخدام إصدارات HTTPS من مواقع الويب، لكننا لا نهتم. يقولون لنا: "قم بتشفير الدليل الرئيسي الخاص بك"، فنقول: "ثم سأقوم بإعداده". يقولون لنا: "إن هواية موظفي Dropbox المفضلة هي الضحك على الصور الشخصية للمستخدمين"، ونحن: "دعهم يضحكون". وفي الوقت نفسه، التشفير هو الوسيلة المطلقة الوحيدة للحماية اليوم. كما أنه ميسور التكلفة للغاية ويخفف التجاعيد.

يحتوي Linux على الكثير من خيارات التشفير لكل شيء بدءًا من أقسام القرص الصلب وحتى الملفات الفردية. الأدوات الثلاث الأكثر شهرة والتي تم اختبارها عبر الزمن هي dm-crypt/LUKS وecryptfs وencfs. الأول يقوم بتشفير الأقراص والأقسام بأكملها، والثاني والثالث يقوم بتشفير الدلائل بمعلومات مهمة، كل ملف على حدة، وهو أمر مناسب للغاية إذا كنت بحاجة إلى عمل نسخ احتياطية تزايدية أو استخدامه مع Dropbox. هناك أيضًا العديد من الأدوات الأقل شهرة، بما في ذلك TrueCrypt على سبيل المثال.

اسمحوا لي أن أحجز على الفور أن تشفير القرص بأكمله مهمة صعبة، والأهم من ذلك، عديمة الفائدة. لا يوجد شيء سري بشكل خاص في الدليل الجذر ولا يمكن أن يكون موجودًا، ولكن الدليل الرئيسي والمبادلة هما مجرد كنز من المعلومات. علاوة على ذلك، فإن الثاني أكبر من الأول، حيث أن البيانات وكلمات المرور يمكن أن تصل إلى هناك بالفعل في شكل مفكك التشفير (يمنع المبرمجون العاديون النظام من إلقاء مثل هذه البيانات في المبادلة، لكنهم أقلية). يعد إعداد التشفير لكليهما أمرًا بسيطًا للغاية، فقط قم بتثبيت أدوات التشفير:

$ sudo apt-get install ecryptfs-utils

وفي الواقع، قم بتمكين التشفير:

$ sudo ecryptfs-setup-swap $ ecryptfs-setup-private

بعد ذلك، ما عليك سوى إدخال كلمة المرور المستخدمة لتسجيل الدخول وإعادة تسجيل الدخول إلى النظام. نعم، الأمر بهذه البساطة حقًا. سيقوم الأمر الأول بتشفير وإعادة تحميل المبادلة عن طريق تغيير الأسطر المناسبة في /etc/fstab. سيقوم الخيار الثاني بإنشاء المجلدين ~/.Private و~/Private، حيث سيتم تخزين الملفات المشفرة والمفككة، على التوالي. عند تسجيل الدخول، سيتم تشغيل وحدة PAM pam_ecryptfs.so، والتي ستقوم بربط الدليل الأول بالثاني مع تشفير البيانات الشفاف. بعد إلغاء التثبيت، سيكون ~/Private فارغًا، وسيحتوي ~/.Private على جميع الملفات في شكل مشفر.

لا يُمنع تشفير الدليل الرئيسي بأكمله. في هذه الحالة، لن ينخفض ​​الأداء كثيرًا، ولكن سيتم حماية كافة الملفات، بما في ذلك نفس دليل الشبكة ~/Dropbox. يتم ذلك على النحو التالي:

# ecryptfs-migrate-home -u vasya

بالمناسبة، يجب أن تكون مساحة القرص أكبر بمقدار 2.5 مرة من بيانات vasya، لذلك أوصي بتنظيفها مسبقًا. بعد الانتهاء من العملية، يجب عليك تسجيل الدخول على الفور باسم المستخدم vasya والتحقق من الوظيفة:

جبل $ | grep خاص /home/vasya/.Private على /home/vasya نوع ecryptfs ...

إذا كان كل شيء على ما يرام، فيمكن استبدال النسخة غير المشفرة من البيانات:

$ sudo rm -r /home/vasya.*

تغطية مساراتنا

حسنًا، كلمات المرور في مكان آمن، والملفات الشخصية أيضًا، ماذا الآن؟ والآن يجب علينا أن نحرص على عدم وقوع بعض بياناتنا الشخصية في الأيدي الخطأ. ليس سراً أنه عند حذف ملف، يظل محتواه الحالي موجودًا على الوسائط حتى لو تمت عملية التنسيق بعد ذلك. ستكون بياناتنا المشفرة آمنة حتى بعد محوها، ولكن ماذا عن محركات الأقراص المحمولة وبطاقات الذاكرة الأخرى؟ نحتاج هنا إلى الأداة المساعدة srm، التي لا تقوم بحذف الملف فحسب، بل تملأ أيضًا كتل البيانات المتبقية بالقمامة:

$ sudo apt-get install Secure-delete $ srm Secret-file.txt home-video.mpg

# dd if=/dev/zero of=/dev/sdb

سيؤدي هذا الأمر إلى مسح جميع البيانات الموجودة على محرك أقراص فلاش sdb. بعد ذلك، كل ما تبقى هو إنشاء جدول أقسام (بقسم واحد) وتهيئته في نظام الملفات المطلوب. يوصى باستخدام fdisk وmkfs.vfat لهذا الغرض، ولكن يمكنك أيضًا استخدام gparted الرسومي.

منع هجمات BruteForce

Fail2ban هو برنامج خفي يقوم بمسح السجلات بحثًا عن محاولات تخمين كلمات المرور لخدمات الشبكة. إذا تم العثور على مثل هذه المحاولات، فسيتم حظر عنوان IP المشبوه باستخدام iptables أو TCP Wrappers. الخدمة قادرة على إخطار مالك المضيف بالحادث عبر البريد الإلكتروني وإعادة ضبط الحظر عبر الوقت المحدد. تم تطوير Fail2ban في الأصل لحماية SSH؛ واليوم يتم تقديم أمثلة جاهزة لـ Apache، وlighttpd، وPostfix، وExim، وCyrus IMAP، وما إلى ذلك. علاوة على ذلك، يمكن لعملية Fail2ban واحدة حماية العديد من الخدمات في وقت واحد.

في Ubuntu/Debian، للتثبيت نكتب:

# الرابطة بين الحصول على تثبيت Fail2ban

توجد التكوينات في الدليل /etc/fail2ban. بعد تغيير التكوين، يجب عليك إعادة تشغيل Fail2ban باستخدام الأمر:

# /etc/init.d/fail2ban إعادة التشغيل

التهديد من الخارج

الآن دعونا نتعامل مع التهديدات الصادرة من الأعماق شبكة الانترنت. هذا هو المكان الذي يجب أن أبدأ فيه بالحديث عن تشغيل iptables وpf على جهاز مخصص يعمل بنظام OpenBSD، لكن كل هذا يصبح زائدًا عن الحاجة عندما يكون هناك ipkungfu. ما هذا؟ هذا هو البرنامج النصي الذي سيقوم بكل الأعمال القذرة لتكوين جدار الحماية لنا، دون الحاجة إلى كتابة قوائم قواعد بطول كيلومتر واحد. ثَبَّتَ:

$ sudo apt-get install ipkungfu

تحرير التكوين:

$ Sudo vi /etc/ipkungfu/ipkungfu.conf # الشبكة المحلية، إذا كانت موجودة، اكتب عنوان الشبكة مع القناع، وإذا لم يكن الأمر كذلك، فاكتب عنوان الاسترجاع LOCAL_NET="127.0.0.1" # أجهزتنا ليست بوابة GATEWAY=0 # أغلق المنافذ الضرورية FORBIDDEN_PORTS="135 137 139" # حظر الأصوات، سيسقط 90% من الأطفال في هذه المرحلة BLOCK_PINGS=1 # إسقاط الحزم المشبوهة (أنواع مختلفة من الفيضان) SUSPECT="DROP" # Drop الحزم "الخاطئة" (بعض أنواع DoS) KNOWN_BAD=" DROP" # هل تبحث عن المنافذ؟ ثراش! بورت_سكان = "DROP"

لتمكين ipkungfu، افتح الملف /etc/default/ipkungfu وقم بتغيير السطر IPKFSTART = 0 إلى IPKFSTART = 1. تشغيل:

$سودو إيبكونغفو

بالإضافة إلى ذلك، فلنجري تغييرات على /etc/sysctl.conf:

$ Sudo vi /etc/systcl.conf # إسقاط عمليات إعادة توجيه ICMP (ضد هجمات MITM) net.ipv4.conf.all.accept_redirects=0 net.ipv6.conf.all.accept_redirects=0 # تمكين آلية مزامنة TCP net.ipv4 . tcp_syncookies=1 # تعديلات مختلفة (مكافحة الانتحال، وزيادة قائمة انتظار اتصالات TCP "نصف المفتوحة"، وما إلى ذلك) net.ipv4.tcp_timestamps=0 net.ipv4.conf.all.rp_filter=1 net.ipv4.tcp_max_syn_backlog =1280 نواة .core_uses_pid=1

تفعيل التغييرات:

$ سودو sysctl -p

كشف الاختراقات

Snort هي إحدى الأدوات المفضلة للمسؤولين وشخصية رئيسية في جميع أدلة الأمان. شيء له تاريخ طويل وإمكانيات هائلة، خصصت له كتب كاملة. ماذا يفعل في دليلنا ل الإعداد السريعنظام آمن؟ وهذا هو المكان الذي تنتمي إليه؛ Snort لا يحتاج إلى التهيئة:

$ sudo apt-get install snort $ snort -D

الجميع! أنا لا أمزح الإعدادات القياسيةيعد Snort أكثر من كافٍ لحماية خدمات الشبكة النموذجية، إذا كانت متوفرة لديك بالطبع. كل ما عليك فعله هو إلقاء نظرة على السجل من وقت لآخر. وفيه يمكنك أن تجد أسطرًا مثل هذه:

[**] محاولة تجاوز سعة استجابة مسبار MS-SQL [**] http://www.securityfocus.com/bid/9407]

أُووبس. حاول شخص ما التسبب في تجاوز سعة المخزن المؤقت في MySQL. يوجد أيضًا رابط للصفحة مع وصف تفصيليمشاكل. جمال.

شخص ما ورث...

تمكن شخص ذكي بشكل خاص من تجاوز جدار الحماية الخاص بنا، وتجاوز Snort، والحصول على حق الوصول إلى النظام، والآن قم بتسجيل الدخول إلى النظام بانتظام باستخدام الباب الخلفي المثبت. ليس جيدًا، يجب العثور على الباب الخلفي وإزالته وتحديث النظام. للبحث عن الجذور الخفية والأبواب الخلفية نستخدم rkhunter:

$ sudo apt-get install rkhunter

هيا نطلق:

$ sudo rkhunter -c --sk

سيقوم البرنامج بفحص النظام بأكمله للتأكد من وجود الجذور الخفية ويعرض النتائج على الشاشة. إذا تم العثور على البرامج الضارة، فسيشير rkhunter إلى الموقع ويمكن مسحه. يوجد سجل أكثر تفصيلاً هنا: /var/log/rkhunter.log. من الأفضل تشغيل rkhunter كوظيفة كرون يوميًا:

$ Sudo vi /etc/cron.daily/rkhunter.sh #!/bin/bash /usr/bin/rkhunter -c --cronjob 2>&1 | mail -s "نتائج فحص RKhunter" [البريد الإلكتروني محمي]

نستبدل عنوان البريد الإلكتروني الخاص بـ Vasya بعنواننا ونجعل البرنامج النصي قابلاً للتنفيذ:

$ Sudo chmod +x /etc/cron.daily/rkhunter.sh

$ sudo rkhunter --update

بالمناسبة، يمكنك إضافته قبل أمر التحقق في البرنامج النصي cron. أداتان إضافيتان للبحث عن الجذور الخفية:

$ سودو الرابطة بين الحصول على تثبيت النمر $ سودو النمر $ سودو الرابطة بين الحصول على تثبيت لينيس $ سودو لينيس -c

في الأساس، هم نفس بيض فابرجيه من وجهة نظر عين الطير، لكن لديهم قواعد مختلفة. ربما بمساعدتهم سيكون من الممكن تحديد ما فاته rkhunter. وبالنسبة للمبتدئين، فإن debsums هي أداة مصالحة. المجاميع الاختباريةملفات, الحزم المثبتةمع المعيار. نضع:

$ sudo apt-get install debsums

لنجري الفحص:

$ sudo debsums -ac

كما هو الحال دائما؟ يمكن إضافة الإطلاق إلى وظائف كرون.



الخارج

الآن دعنا نتحدث عن كيفية الحفاظ على سرية هويتك على الإنترنت والوصول إلى المواقع والصفحات المحظورة بناءً على طلب مختلف المنظمات صاحبة حقوق الطبع والنشر وغيرها من Mizulins. أسهل طريقة للقيام بذلك هي استخدام واحد من آلاف الخوادم الوكيلة حول العالم. الكثير منها مجاني، ولكنها غالبًا ما تقطع القناة إلى سرعة المودم التناظري القديم.

لتصفح مواقع الويب بسهولة وتشغيل الوكيل عند الضرورة فقط، يمكنك استخدام أحد الامتدادات العديدة لمتصفح Chrome وFirefox، والتي يمكن العثور عليها بسهولة في الدليل بناءً على طلب مبدل الوكيل. نقوم بتثبيت وإدخال قائمة الوكلاء المطلوبين والتبديل إلى الوكيل المطلوب، ونرى بدلاً من الصفحة علامة "الوصول إلى الصفحة محدود بناءً على طلب السيد سكومبريفيتش".

في الحالات التي يكون فيها الموقع بأكمله تحت الفلتر ويتم إدراج عنوانه في القائمة السوداء بجانب خوادم DNS الخاصة بموفري الخدمة، يمكنك استخدام خوادم DNS المجانية التي يتم نشر عناوينها. ما عليك سوى أخذ أي عنوانين تريدهما وإضافتهما إلى /etc/resolv.conf:

خادم الأسماء 156.154.70.22 خادم الأسماء 156.154.71.22

لمنع عملاء DHCP ومديري الشبكات المختلفين من الكتابة فوق الملف بالعناوين المستلمة من الموفر أو جهاز التوجيه، نجعل الملف غير قابل لإعادة الكتابة باستخدام السمات الموسعة:

$ sudo chattr +i /etc/resolv.conf

بعد ذلك، سيصبح الملف محميًا ضد الكتابة للجميع، بما في ذلك الجذر.

لمزيد من إخفاء هوية تجربة التصفح الخاصة بك، يمكنك أيضًا استخدام البرنامج الخفي dnscrypt، الذي سيقوم بتشفير جميع الطلبات إلى خادم DNS بالإضافة إلى الخادم الوكيل المستخدم للاتصال بالموقع نفسه. ثَبَّتَ:

$ wget http://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-proxy-1.3.2.tar.bz2 $ Bunzip2 -cd dnscrypt-proxy-*.tar.bz2 | tar xvf - $ cd dnscrypt-proxy-* $ sudo apt-get install build-essential $ ./configure && make -j2 $ sudo make install

حدد عنوان الاسترجاع في /etc/resolv.conf:

$ vi /etc/resolv.conf خادم الأسماء 127.0.0.1

لنبدأ البرنامج الخفي:

$ sudo dnscrypt-proxy --daemonize

بالمناسبة، هناك إصدارات من dnscrypt لأنظمة التشغيل Windows وiOS وAndroid.

توجيه البصل

ما هو توجيه البصل؟ هذا هو تور. وTor، بدوره، هو نظام يسمح لك بإنشاء شبكة مجهولة تمامًا مع إمكانية الوصول إلى الإنترنت. يُستخدم مصطلح "البصل" هنا فيما يتعلق بنموذج التشغيل الذي يتم فيه "تغليف" أي حزمة شبكة في ثلاث طبقات من التشفير وستمر عبر ثلاث عقد في طريقها إلى المستلم، حيث ستقوم كل منها بإزالة الطبقة الخاصة بها ونقل النتيجة أبعد من ذلك. كل شيء، بالطبع، أكثر تعقيدا، ولكن الشيء الوحيد المهم بالنسبة لنا هو أن هذا هو أحد الأنواع القليلة من تنظيم الشبكة التي تسمح لك بالحفاظ على عدم الكشف عن هويتك الكاملة.

ومع ذلك، عندما يكون هناك عدم الكشف عن هويته، توجد أيضًا مشاكل في الاتصال. ويحتوي Tor على ثلاثة منها على الأقل: فهو بطيء للغاية (بفضل التشفير والنقل عبر سلسلة من العقد)، وسيخلق حملاً على شبكتك (لأنك أنت نفسك ستكون إحدى العقد)، كما أنه عرضة للخطر لاعتراض حركة المرور. هذا الأخير هو نتيجة طبيعية للقدرة على الوصول إلى الإنترنت من شبكة Tor: العقدة الأخيرة (الإخراج) ستزيل الطبقة الأخيرة من التشفير ويمكنها الوصول إلى البيانات.

ومع ذلك، فإن Tor سهل التثبيت والاستخدام للغاية:

$ sudo apt-get install tor

هذا كل شيء، الآن سيكون للجهاز المحلي خادم وكيل يؤدي إلى شبكة Tor. العنوان: 127.0.0.1:9050، يمكنك إدخاله إلى المتصفح باستخدام نفس الامتداد، أو إضافته من خلال الإعدادات. ضع في اعتبارك أن هذا هو SOCKS، وليس وكيل HTTP.


معلومات

يُطلق على إصدار Android من Tor اسم Orbot.

لدخول فيها سطر الأوامرلم يتم حفظ كلمة المرور في السجل، يمكنك استخدام خدعة ذكية تسمى "إضافة مسافة في بداية الأمر".

إنه ecryptfs الذي يتم استخدامه لتشفير الدليل الرئيسي في Ubuntu.

مكافحة الفيضانات

سأقدم بعض الأوامر التي يمكن أن تساعد في إغراق مضيفك.

حساب عدد الاتصالات على منفذ معين:

$ نتستت -نا | grep ":port\" | مرحاض -ل

حساب عدد اتصالات TCP "نصف المفتوحة":

$ نتستت -نا | grep ":port\" | grep SYN_RCVD | مرحاض -ل

عرض قائمة عناوين IP التي تأتي منها طلبات الاتصال:

$ نتستت -نا | grep ":port\" | فرز | يونيك -ج | فرز -رقم | أقل

تحليل الحزم المشبوهة باستخدام tcpdump:

# tcpdump -n -i eth0 -s 0 -w مخرج منفذ txt dst ومضيف خادم IP

نقوم بإسقاط اتصالات المهاجم:

# iptables -A INPUT -s IP للمهاجم -p tcp --destination-port port -j DROP

نحن نحدد الحد الأقصى لعدد الاتصالات "نصف المفتوحة" من IP واحد إلى منفذ معين:

# iptables -I INPUT -p tcp --syn --dport port -m iplimit --iplimit-above 10 -j DROP

تعطيل الاستجابات لطلبات ICMP ECHO:

# iptables -A INPUT -p icmp -j DROP --icmp-type 8

الاستنتاجات

هذا كل شيء. دون الخوض في التفاصيل ودون الحاجة إلى دراسة الأدلة، أنشأنا صندوق Linux محميًا من التطفل الخارجي، ومن الجذور الخفية وغيرها من الإصابات، ومن التدخل البشري المباشر، ومن اعتراض حركة المرور والمراقبة. كل ما تبقى هو تحديث النظام بانتظام وحظر تسجيل الدخول بكلمة مرور عبر SSH وإزالة الخدمات غير الضرورية وتجنب أخطاء التكوين.

هناك فكرة خاطئة مفادها أن الخوادم التي تعمل بنظام التشغيل Linux هي الأكثر أمانًا وحمايتها من التدخلات الخارجية. لسوء الحظ، ليس هذا هو الحال؛ يعتمد أمان أي خادم على عدد من العوامل والإجراءات لضمان ذلك، وهو مستقل عمليًا عن نظام التشغيل المستخدم.

قررنا أن نبدأ سلسلة من المقالات حول أمان الشبكات باستخدام خادم أوبونتونظرًا لأن الحلول الموجودة على هذا النظام الأساسي تحظى باهتمام كبير لقرائنا ولأن الكثيرين يعتقدون أن حلول Linux آمنة في حد ذاتها.

في الوقت نفسه، يعد جهاز التوجيه الذي يحتوي على عنوان IP مخصص بمثابة "بوابة" للشبكة المحلية، وسيعتمد فقط على المسؤول ما إذا كانت هذه البوابة ستكون حاجزًا موثوقًا به أو ستصبح بوابة بلد مغلقة بـ مسمار.

هناك مفهوم خاطئ شائع آخر وهو التفكير بأسلوب: "من يحتاج إليه، خادمنا، ليس لدينا أي شيء مثير للاهتمام". في الواقع، قد لا تكون شبكتك المحلية ذات أهمية للمهاجمين، لكن يمكنهم استخدام خادم مخترق لإرسال رسائل غير مرغوب فيها، أو هجمات على خوادم أخرى، أو وكيل مجهول، باختصار، كنقطة انطلاق لتعاملاتهم المشبوهة.

وهذا أمر غير سار بالفعل ويمكن أن يكون بمثابة مصدر لمشاكل مختلفة: من المزود إلى وكالات إنفاذ القانون. وعن انتشار الفيروسات والسرقة والتدمير معلومات مهمةيجب ألا تنسى أيضًا حقيقة أن توقف المشروع يؤدي إلى خسائر ملموسة تمامًا.

على الرغم من أن هذه المقالة تتحدث عن خادم Ubuntu، إلا أننا سننظر أولاً أسئلة عامةالأمان، والذي ينطبق بالتساوي على أي منصة وهو الأساسيات، دون إتقانها لا فائدة من مناقشة المشكلة بمزيد من التفصيل.

أين تبدأ السلامة؟

لا، الأمان لا يبدأ بجدار الحماية، ولا يبدأ بجدار الحماية على الإطلاق. الوسائل التقنيةفالأمن يبدأ مع المستخدم. ففي نهاية المطاف، ما الفائدة من أروع باب معدني تم تركيبه على يد أفضل المتخصصين إذا ترك المالك المفتاح تحت السجادة؟

لذلك، أول شيء يجب عليك فعله هو إجراء تدقيق أمني. لا تخف من هذه الكلمة، فكل شيء ليس معقدًا للغاية: ارسم خطة شبكة تخطيطية تحدد عليها منطقة آمنة ومنطقة خطر محتملة ومنطقة خطر عالية، وقم أيضًا بإعداد قائمة بالمستخدمين الذين لديهم (يجب أن يكون لديهم) الوصول) إلى هذه المناطق.

يجب أن تتضمن المنطقة الآمنة موارد الشبكة الداخلية التي لا يمكن الوصول إليها من الخارج والتي يكون فيها مستوى الأمان المنخفض مقبولاً. يمكن أن تكون هذه محطات عمل، خوادم الملفاتإلخ. الأجهزة التي يقتصر الوصول إليها على الشبكة المحلية للمؤسسة.

تتضمن منطقة الخطر المحتملة الخوادم والأجهزة التي ليس لديها إمكانية الوصول المباشر إلى الشبكة الخارجية، ولكن يمكن الوصول إلى خدماتها الفردية من الخارج، على سبيل المثال، خوادم الويب والبريد الموجودة خلف جدار الحماية، ولكنها لا تزال تخدم الطلبات من الشبكة الخارجية.

يجب أن تشتمل المنطقة الخطرة على أجهزة يمكن الوصول إليها مباشرة من الخارج، ومن الأفضل أن تكون هذه الأجهزة عبارة عن جهاز توجيه واحد.

إذا أمكن، يجب وضع منطقة يحتمل أن تكون خطرة على شبكة فرعية منفصلة - منطقة منزوعة السلاح (DMZ)، مفصولة عن الشبكة الرئيسية بجدار حماية إضافي.

يجب أن تتمتع أجهزة LAN بإمكانية الوصول فقط إلى تلك الخدمات التي تحتاجها في المنطقة المجردة من السلاح، مثل SMTP وPOP3 وHTTP، ويجب حظر الاتصالات الأخرى. سيسمح لك هذا بعزل المهاجم أو البرامج الضارة التي استغلت ثغرة أمنية في خدمة منفصلة في منطقة منزوعة السلاح بشكل موثوق، مما يمنعهم من الوصول إلى الشبكة الرئيسية.

ماديًا، يمكن تنظيم المنطقة المجردة من السلاح (DMZ) عن طريق تثبيت جدار حماية منفصل للخادم / الجهاز أو عن طريق إضافة بطاقة شبكة إضافية إلى جهاز التوجيه، ولكن في الحالة الأخيرة، سيتعين عليك الاهتمام جيدًا بأمان جهاز التوجيه. ولكن على أية حال، فإن ضمان أمان خادم واحد أسهل بكثير من ضمان أمان مجموعة من الخوادم.

يجب أن تكون الخطوة التالية هي تحليل قائمة المستخدمين، وما إذا كانوا جميعًا بحاجة إلى الوصول إلى المنطقة المجردة من السلاح وإلى جهاز التوجيه (باستثناء الخدمات العامة)، وينبغي إيلاء اهتمام خاص للمستخدمين المتصلين من الخارج.

عادةً ما يتطلب هذا الخطوة التي لا تحظى بشعبية كبيرة وهي فرض سياسة كلمة المرور. يجب أن تحتوي جميع كلمات المرور الخاصة بالمستخدمين الذين لديهم إمكانية الوصول إلى الخدمات الحيوية ولديهم القدرة على الاتصال من الخارج على 6 أحرف على الأقل وتحتوي، بالإضافة إلى الأحرف الصغيرة، على أحرف من فئتين من ثلاث: أحرف كبيرة وأرقام وأحرف غير أبجدية .

بالإضافة إلى ذلك، يجب ألا تتضمن كلمة المرور معلومات تسجيل دخول المستخدم أو جزءًا منها، ويجب ألا تحتوي على تواريخ أو أسماء يمكن ربطها بالمستخدم، ويفضل ألا تكون كلمة قاموس.

إنها فكرة جيدة أن تبدأ في ممارسة تغيير كلمات المرور كل 30 إلى 40 يومًا. من الواضح أن مثل هذه السياسة يمكن أن تسبب الرفض من جانب المستخدمين، ولكن يجب أن تتذكر دائمًا ما تفضله كلمات المرور 123 أو com.qwertyيعادل ترك المفتاح تحت السجادة.

أمان الخادم - لا شيء إضافي.

الآن، بعد أن أصبح لدينا فكرة عما نريد حمايته ومن ماذا، دعنا ننتقل إلى الخادم نفسه. قم بعمل قائمة بجميع الخدمات والخدمات، ثم فكر فيما إذا كانت جميعها مطلوبة على هذا الخادم المحدد، أو ما إذا كان من الممكن نقلها إلى مكان آخر.

كلما قل عدد الخدمات، أصبح ضمان الأمان أسهل، وقلت فرصة تعرض الخادم للخطر من خلال ثغرة أمنية خطيرة في إحداها.

قم بتكوين الخدمات التي تخدم الشبكة المحلية (على سبيل المثال، Squid) بحيث تقبل الطلبات حصريًا من الواجهة المحلية. وكلما قل عدد الخدمات المتاحة خارجيا، كلما كان ذلك أفضل.

سيكون ماسح الثغرات الأمنية مساعدًا جيدًا في ضمان الأمان؛ ويجب أن يقوم بفحص الواجهة الخارجية للخادم. استخدمنا نسخة تجريبية لأحد أشهر المنتجات - XSpider 7.7.

يظهر الماسح الضوئي المنافذ المفتوحة، يحاول تحديد نوع الخدمة قيد التشغيل، ونقاط الضعف الخاصة بها، في حالة نجاحها. كما ترون، فإن النظام الذي تم تكوينه بشكل صحيح آمن تمامًا، ولكن لا يجب أن تترك المفتاح تحت السجادة؛ فوجود المنافذ المفتوحة 1723 (VPN) و3389 (RDP، التي يتم توجيهها إلى الخادم الطرفي) على جهاز التوجيه يعد أمرًا خطيرًا. سبب وجيه للتفكير في سياسة كلمة المرور.

يجب أن نتحدث أيضًا عن أمان SSH؛ وعادةً ما يستخدم المسؤولون هذه الخدمة التحكم عن بعدالخادم ويثير اهتمامًا متزايدًا للمهاجمين. يتم تخزين إعدادات SSH في ملف /etc/ssh/sshd_config، تم إجراء كافة التغييرات الموضحة أدناه عليه. أولاً، يجب عليك تعطيل التفويض ضمن المستخدم الجذر للقيام بذلك، أضف الخيار:

رقم السماح لجذر الدخول

الآن سيتعين على المهاجم تخمين ليس فقط كلمة المرور، ولكن أيضًا تسجيل الدخول، وسيظل لا يعرف كلمة مرور المستخدم المتميز (نأمل ألا تتطابق مع كلمة المرور الخاصة بك). يجب تنفيذ جميع المهام الإدارية عند الاتصال من الخارج من الأسفل sudoتسجيل الدخول كمستخدم لا يتمتع بالامتيازات.

يجدر تحديد قائمة المستخدمين المسموح بهم بشكل صريح، ويمكنك استخدام الإدخالات مثل مستخدم @ المضيف، والذي يسمح للمستخدم المحدد بالاتصال فقط من المضيف المحدد. على سبيل المثال، للسماح للمستخدم ivanov بالاتصال من المنزل (IP 1.2.3.4)، يجب عليك إضافة الإدخال التالي:

السماح للمستخدم [البريد الإلكتروني محمي]

قم أيضًا بتعطيل استخدام بروتوكول SSH1 القديم والأقل أمانًا، مع السماح فقط للإصدار الثاني من البروتوكول، للقيام بذلك، قم بتغيير السطر التالي إلى النموذج:

البروتوكول 2

على الرغم من جميع التدابير المتخذة، ستظل هناك محاولات للاتصال بـ SSH والخدمات العامة الأخرى لمنع تخمين كلمة المرور، استخدم الأداة المساعدة Fail2ban، والذي يسمح لك بحظر مستخدم تلقائيًا بعد عدة محاولات تسجيل دخول غير ناجحة. يمكنك تثبيته باستخدام الأمر:

سودو الرابطة بين الحصول على تثبيت Fail2ban

هذه الأداة جاهزة للعمل مباشرة بعد التثبيت، ومع ذلك، ننصحك بتغيير بعض المعلمات على الفور للقيام بذلك، وإجراء تغييرات على الملف /etc/fail2ban/jail.conf. افتراضيًا، يتم التحكم فقط في الوصول إلى SSH وتكون مدة الحظر 10 دقائق (600 ثانية)، وفي رأينا أنه من المفيد زيادتها عن طريق تغيير الخيار التالي:

بانتايم = 6000

ثم قم بالتمرير عبر الملف وتمكين الأقسام للخدمات التي تعمل على نظامك عن طريق تعيين المعلمة بعد اسم القسم المقابل ممكّنفي دولة حقيقي، على سبيل المثال لخدمة com.proftpdسوف تبدو مثل هذا:


ممكن = صحيح

معلمة أخرى مهمة com.maxretryوهو المسؤول عن الحد الأقصى لعدد محاولات الاتصال. بعد تغيير الإعدادات، لا تنس إعادة تشغيل الخدمة:

إعادة تشغيل Sudo /etc/init.d/fail2ban

يمكنك رؤية سجل المرافق على /var/log/fail2ban.log.

بدون أدنى شك، تم تثبيته للتو نظام لينكسأكثر مقاومة لمختلف البرمجيات الخبيثةوبرامج التجسس وأنشطة القراصنة من نفس الشيء نسخة ويندوز. ومع ذلك، تستخدم معظم أنظمة Linux إعدادات افتراضية ليست آمنة تمامًا بطبيعتها.

تم تصميم بعض توزيعات Linux لتكون آمنة للغاية خارج الصندوق، ولكنها تميل إلى أن تكون مربكة للغاية للمبتدئين، وخاصة الخبراء غير الأمنيين.

Ubuntu هو توزيعة Linux الأكثر شعبية المستخدمة اليوم. ويرجع ذلك إلى العديد من العوامل، أحدها هو أنه الأسهل للمستخدمين المبتدئين. وهذا له جوانبه الإيجابية، ولكن لهذا السبب أيضًا يحتوي النظام على العديد من نقاط الضعف التي تركها المطورون وراءهم باختيار راحة المستخدم. سنلقي نظرة في هذه المقالة على كيفية تكوين الأمان في Ubuntu 16.04. هذه الإعدادات ليست معقدة إلى هذا الحد، ولكنها ستساعدك على جعل نظامك أكثر مقاومة لأساليب الهجوم الأكثر شيوعًا.

أول شيء يجب أن تعرفه هو الحفاظ على تحديث نظامك وتحديثه باستمرار. يتم باستمرار اكتشاف ثغرات أمنية جديدة في النواة و برمجة، مثال على ذلك هو نفس Drity COW. يقوم المطورون بإصلاح هذه الأخطاء بسرعة كبيرة، ولكن لتطبيق هذه الإصلاحات على نظامك، يجب عليك تحديثه على الفور.

آخر ملاحظة مهمةهي كلمة مرور المستخدم. لا تستخدم مستخدمًا بدون كلمة مرور. إذا كنت بحاجة إلى منح أشخاص آخرين حق الوصول إلى جهاز الكمبيوتر الخاص بك، فقم بإنشاء حساب جديد، مثل حساب الضيف. لكن استخدم دائمًا كلمات المرور. تم إنشاء نظام التشغيل Linux من الألف إلى الياء كنظام متعدد المستخدمين مع وضع الأمان في الاعتبار لجميع المستخدمين، لذا لا تفوت هذه الفرصة. لكن هذه كلها نصائح ربما تعرفها بالفعل، فلنلقِ نظرة على طرق مفيدة حقًا لزيادة أمان أوبونتو.

1. إعداد الذاكرة المشتركة

بشكل افتراضي، يكون كامل حجم الذاكرة المشتركة في /run/shm قابلاً للقراءة والكتابة، مما يسمح بتنفيذ البرامج. يعتبر هذا ثغرة أمنية والعديد من عمليات الاستغلال تستخدم /run/shm لمهاجمة الخدمات قيد التشغيل. بالنسبة لمعظم أجهزة سطح المكتب، وخاصة أجهزة الخادم، يوصى بتحميل هذا الملف في وضع القراءة فقط. للقيام بذلك، أضف السطر التالي إلى /etc/fstab:

سودو السادس /etc/fstab

لا شيء /run/shm tmpfs الإعدادات الافتراضية، ro 0 0

ولكن مع ذلك، لن تعمل بعض البرامج إذا كان /run/shm للقراءة فقط، وأحدها كذلك جوجل كروم. إذا كنت تستخدم Google Chrome، فيجب علينا الاحتفاظ بالقدرة على التسجيل، ولكن يمكننا حظر تنفيذ البرامج للقيام بذلك، أضف السطر التالي بدلاً من السطر المقترح أعلاه:

لا شيء /run/shm tmpfs rw,noexec,nosuid,nodev 0 0

2. حظر استخدام su لغير المسؤولين

بالإضافة إلى حسابك، لدى Ubuntu أيضًا حساب ضيف، والذي يمكنك استخدامه لمشاركة الكمبيوتر المحمول الخاص بك مع صديق. تتيح لك الأداة المساعدة su تشغيل البرامج كمستخدم آخر. وهذا مفيد جدًا في إدارة النظام وحيوي عند استخدامه بشكل صحيح. ولكن، مع ذلك، يمكن للجميع الوصول إلى هذه الأداة المساعدة مستخدمي لينكس، وهذا بالفعل إساءة. لمنع وصول حساب ضيف إلى الأمر su، قم بتشغيل:

sudo dpkg-statoverride --update--add root Sudo 4750 /bin/su

3. حماية الدليل الرئيسي الخاص بك

سيكون الدليل الرئيسي الافتراضي الخاص بك متاحًا لكل مستخدم على النظام. لذا، إذا كان لديك حساب ضيف، فسيتمكن الضيف من الوصول الكامل إلى جميع حساباتك الملفات الشخصيةوالوثائق. ولكن يمكنك جعلها متاحة لك فقط. افتح المحطة وقم بتشغيل الأمر التالي:

شمود 0700 /الصفحة الرئيسية/اسم المستخدم

فهو يقوم بتعيين الحقوق بحيث يتمكن مالك المجلد، أي أنت، من الوصول إلى كل شيء، ولا يستطيع المستخدمون الآخرون حتى عرض المحتويات. كبديل، يمكنك تعيين الأذونات على 750، مما سيمنح حق الوصول للقراءة إلى المجلد الخاص بك للمستخدمين في نفس المجموعة مثلك:

شمود 0750 /الصفحة الرئيسية/اسم المستخدم

الآن سيكون أمان Ubuntu 16.04، وخاصة بياناتك الشخصية، أعلى قليلاً.

4. قم بتعطيل تسجيل الدخول إلى SSH كجذر

افتراضيًا، في Ubuntu، يمكنك تسجيل الدخول عبر SSH كمستخدم متميز. على الرغم من أنك قمت بتعيين كلمة مرور للمستخدم الجذر، فقد يكون هذا خطيرًا لأنه إذا كانت كلمة المرور بسيطة جدًا، فيمكن للمهاجم فرضها والسيطرة الكاملة عليها. الكمبيوتر. ربما لم يتم تثبيت خدمة sshd على نظامك. للتحقق، قم بتشغيل:

إذا تلقيت رسالة تم رفض الاتصال، فهذا يعني أن خادم SSH غير مثبت ويمكنك تخطي هذه الخطوة. ولكن إذا تم تثبيته، فيجب تكوينه باستخدام ملف التكوين /etc/ssh/sshd_config. افتح هذا الملف واستبدل السطر:

PermitRootLogin نعم

رقم السماح لجذر الدخول

لقد انتهيت، الآن سيكون اختراق نظامك عبر ssh أكثر صعوبة، لكن إعداد الأمان في ubuntu 16.04 لم يكتمل بعد.

5. قم بتثبيت جدار الحماية

من الممكن ألا يكون خادم ssh مثبتًا على جهاز الكمبيوتر الخاص بك فحسب، بل أيضًا خدمة قاعدة بيانات و خادم الويب أباتشيأو نجينكس. إذا كان هذا جهاز كمبيوتر منزلي، فمن المرجح أنك لا تريد أن يتمكن أي شخص آخر من الاتصال بموقعك المحلي أو قاعدة بياناتك. لمنع هذا تحتاج إلى تثبيت جدار الحماية. في Ubuntu، يوصى باستخدام gufw لأنه مصمم خصيصًا لهذا النظام.

للتثبيت:

سودو ملائمة تثبيت gufw

فأنت بحاجة إلى فتح البرنامج وتمكين الحماية وحظر جميع الاتصالات الواردة. السماح فقط بالمنافذ الضرورية للمتصفح والبرامج الأخرى المعروفة. اقرأ المزيد في التعليمات.

6. الحماية ضد هجمات MITM

الجوهر هجمات MITMأو هجمات "Man in the Middle" حيث يعترض شخص آخر جميع الحزم التي ترسلها إلى الخادم، وبالتالي يتمكن من الحصول على جميع كلمات المرور والبيانات الشخصية الخاصة بك. لا يمكننا حماية أنفسنا من كل الهجمات من هذا النوع، لكنها تحظى بشعبية كبيرة في الأماكن العامة الشبكات المحليةأحد أنواع هجمات MITM هو هجوم ARP. باستخدام ميزات بروتوكول ARP، يتظاهر المهاجم بأنه جهاز توجيه أمام جهاز الكمبيوتر الخاص بك وتقوم أنت بإرسال كافة حزم البيانات الخاصة بك إليه. يمكنك بسهولة حماية نفسك من هذا باستخدام الأداة المساعدة TuxCut.

البرنامج غير متوفر في المستودعات الرسمية، لذا لتثبيته تحتاج إلى تنزيل الحزمة من GitHub:

wget https://github.com/a-atalla/tuxcut/releases/download/6.1/tuxcut_6.1_amd64.deb

ثم قم بتثبيت الحزمة الناتجة:

Sudo apt install tuxcut_6.1_amd64.deb

قبل تشغيل البرنامج، ابدأ خدمته:

سودو Systemctl بدء Tuxcutd

تبدو النافذة الرئيسية للأداة المساعدة كما يلي:

يعرض هذا عناوين IP لجميع المستخدمين المتصلين بالشبكة، بالإضافة إلى عنوان MAC المقابل لكل منهم. إذا قمت بتحديد مربع وضع الحماية، فسيقوم البرنامج بالحماية من هجمات ARP. يمكنك استخدامه على الشبكات العامة، مثل شبكة wifi العامة، حيث تشعر بالقلق بشأن سلامتك.

الاستنتاجات

حسنًا، هذا كل شيء، لقد اكتمل الآن إعداد الأمان لـ Ubuntu 16.04 وأصبح نظامك أكثر أمانًا. لقد قمنا بحظر نواقل الهجوم وطرق اختراق النظام الأكثر شيوعًا التي يستخدمها المتسللون. إذا كنت تعرف طرقًا أخرى مفيدة لتحسين الأمان في Ubuntu، فاكتب في التعليقات!

وفقًا لموقع cvedetails.com، منذ عام 1999 نواة لينكستم العثور على 1305 نقطة ضعف، منها 68 تم العثور عليها في عام 2015. معظمها لا يشكل أي مشاكل خاصة، ويتم وضع علامة عليها على أنها محلية ومنخفضة، ولا يمكن استدعاء بعضها إلا عند ربطها بتطبيقات معينة أو إعدادات نظام التشغيل. من حيث المبدأ، تكون الأرقام صغيرة، لكن النواة ليست نظام التشغيل بأكمله. تم العثور على نقاط الضعف أيضًا في GNU Coreutils وBinutils وglibs وبالطبع في تطبيقات المستخدم. دعونا ننظر إلى الأكثر إثارة للاهتمام.

نقاط الضعف في نواة لينكس

نظام التشغيل:لينكس
مستوى:متوسطة ومنخفضة
المتجهات:بعيد
مكافحة التطرف العنيف: CVE-2015-3331، CVE-2015-4001، CVE-2015-4002، CVE-2015-4003
يستغل:المفهوم، https://lkml.org/lkml/2015/5/13/740، https://lkml.org/lkml/2015/5/13/744

تم العثور على ثغرة أمنية في يونيو في Linux kernel قبل 3.19.3 في وظيفة __driver_rfc4106_decrypt في Arch/x86/crypto/aesni-intel_glue.c بسبب تطبيق RFC4106 لمعالجات x86 التي تدعم ملحق مجموعة تعليمات AES AES-NI (مقترح Intel، تعليمات Intel Advanced Encryption القياسية) لا تحسب عناوين المخزن المؤقت بشكل صحيح في بعض الحالات. إذا تم تكوين نفق IPsec لاستخدام هذا الوضع (خوارزمية AES - CONFIG_CRYPTO_AES_NI_INTEL)، فقد تؤدي الثغرة الأمنية إلى تلف الذاكرة، وتعطلها، وربما تنفيذ تعليمات برمجية CryptoAPI عن بُعد. علاوة على ذلك، فإن الشيء الأكثر إثارة للاهتمام هو أن المشكلة يمكن أن تنشأ من تلقاء نفسها، من خلال حركة مرور قانونية تمامًا، دون تدخل خارجي. وفي وقت النشر، تم حل المشكلة.

تم التعرف على خمس نقاط ضعف في برنامج تشغيل Linux 4.0.5 ozwpan، الذي يتمتع بحالة تجريبية، أربع منها تسمح لك بتنظيم هجوم DoS عن طريق تعطل النواة عن طريق إرسال حزم مصممة خصيصًا. تتعلق المشكلة بتجاوز سعة المخزن المؤقت بسبب المعالجة غير الصحيحة للأعداد الصحيحة الموقعة، حيث أعاد الحساب في memcpy بين الحجم المطلوب والإزاحة رقمًا سالبًا، مما أدى إلى نسخ البيانات إلى الكومة.

تم العثور عليه في وظيفة oz_hcd_get_desc_cnf في برامج التشغيل/التدريج/ozwpan/ozhcd.c وفي وظائف oz_usb_rx وoz_usb_handle_ep_data في برامج التشغيل/التدريج/ozwpan/ozusbsvc1.c. تتضمن نقاط الضعف الأخرى إمكانية القسمة على 0، أو تكرار النظام، أو القدرة على القراءة من مناطق خارج حدود المخزن المؤقت المخصص.

يمكن ربط برنامج التشغيل ozwpan، أحد منتجات Linux الجديدة، مع البرامج الموجودة الأجهزة اللاسلكيةمتوافق مع تقنية أجهزة Ozmo (Wi-Fi Direct). يوفر تنفيذًا لوحدة تحكم مضيف USB، ولكن الحيلة هي أنه بدلاً من الاتصال الفعلي، يتصل الجهاز الطرفي عبر Wi-Fi. يقبل السائق حزم الشبكة c اكتب (ethertype) 0x892e، ثم يقوم بتحليلها وترجمتها إلى وظائف USB المختلفة. يتم استخدامه حاليًا في حالات نادرة، لذا يمكن تعطيله عن طريق إلغاء تحميل وحدة ozwpan.ko.

لينكس أوبونتو

نظام التشغيل: لينكس أوبونتو 12/04–15/04 (الأساسي حتى 15 يونيو 2015)
مستوى:شديد الأهمية
المتجهات:محلي
مكافحة التطرف العنيف: CVE-2015-1328
يستغل: https://www.exploit-db.com/exploits/37292/

تسمح ثغرة أمنية خطيرة في نظام ملفات OverlayFS بالوصول إلى الجذر على أنظمة Ubuntu التي تسمح بتركيب أقسام OverlayFS بواسطة مستخدم لا يتمتع بأي امتيازات. يتم استخدام الإعدادات الافتراضية المطلوبة لاستغلال الثغرة الأمنية في جميع فروع Ubuntu 12.04–15.04. ظهر OverlayFS نفسه في Linux kernel مؤخرًا نسبيًا - بدءًا من 3.18-rc2 (2014)، وهو عبارة عن تطوير SUSE ليحل محل UnionFS وAUFS. يتيح لك OverlayFS إنشاء نظام ملفات افتراضي متعدد الطبقات يجمع بين عدة أجزاء من أنظمة الملفات الأخرى.

يتم إنشاء نظام الملفات من طبقتين سفلية وعليا، كل منها مرتبطة بأدلة منفصلة. يتم استخدام الطبقة السفلية للقراءة فقط في أدلة أي أنظمة ملفات مدعومة في Linux، بما في ذلك أنظمة الشبكة. عادةً ما تكون الطبقة العليا قابلة للكتابة وستتجاوز البيانات الموجودة في الطبقة السفلية في حالة تكرار الملفات. إنه مطلوب في التوزيعات المباشرة وأنظمة المحاكاة الافتراضية للحاويات ولتنظيم تشغيل الحاويات لبعض تطبيقات سطح المكتب. تسمح لك مساحات أسماء المستخدمين بإنشاء مجموعاتك الخاصة من معرفات المستخدمين والمجموعة في الحاويات. سبب الثغرة الأمنية هو التحقق غير الصحيح من حقوق الوصول عند إنشاء ملفات جديدة في دليل نظام الملفات الأساسي.

إذا تم إنشاء النواة باستخدام CONFIG_USER_NS=y (تمكين مساحة اسم المستخدم) وتم تحديد علامة FS_USERNS_MOUNT عند التثبيت، فيمكن تركيب OverlayFS مستخدم عاديفي مساحة اسم أخرى، بما في ذلك حيث يتم إجراء العمليات مع حقوق الجذر. في هذه الحالة، تحصل العمليات التي تتم على الملفات ذات حقوق الجذر في مساحات الأسماء هذه على نفس الامتيازات عند تنفيذ الإجراءات باستخدام نظام الملفات الأساسي. ولذلك، يمكنك تحميل أي قسم FS وعرض أو تعديل أي ملف أو دليل.

في وقت النشر، كان تحديث النواة بوحدة OverlayFS الثابتة من Ubuntu متاحًا بالفعل. وإذا تم تحديث النظام، فلا ينبغي أن تكون هناك مشاكل. في نفس الحالة، عندما لا يكون التحديث ممكنًا، كإجراء مؤقت، يجب عليك التوقف عن استخدام OverlayFS عن طريق إزالة الوحدة overlayfs.ko.

نقاط الضعف في التطبيقات الرئيسية

نظام التشغيل:لينكس
مستوى:شديد الأهمية
المتجهات:المحلية والبعيدة
مكافحة التطرف العنيف: CVE-2015-0235
يستغل: https://www.qualys.com/research/security-advisories/exim_ghost_bof.rb

ثغرة أمنية خطيرة في مكتبة GNU glibc القياسية، والتي تعد جزءًا أساسيًا من نظام التشغيل Linux، وفي بعض إصدارات تطبيقات Oracle Communications وOracle Pillar Axiom، تم اكتشافها أثناء تدقيق التعليمات البرمجية بواسطة قراصنة من Qualys. حصل على الاسم الرمزي GHOST. هذا عبارة عن تجاوز سعة المخزن المؤقت داخل الدالة __nss_hostname_digits_dots()، والتي تستخدمها وظائف glibc مثل gethostbyname() وgethostbyname2() للحصول على اسم المضيف (ومن هنا جاء اسم GetHOST). لاستغلال الثغرة الأمنية، يجب أن تتسبب في تجاوز سعة المخزن المؤقت باستخدام وسيطة اسم مضيف غير صالحة لتطبيق يقوم بتحليل الاسم من خلال DNS. أي أنه من الناحية النظرية يمكن تطبيق هذه الثغرة الأمنية على أي تطبيق يستخدم الشبكة بدرجة أو بأخرى. يمكن استدعاؤها محليًا وعن بعد، مما يسمح بتنفيذ تعليمات برمجية عشوائية.

الشيء الأكثر إثارة للاهتمام هو أنه تم إصلاح الخطأ في مايو 2013، حيث تم تقديم تصحيح بين إصدارات glibc 2.17 و 2.18، ولكن لم يتم تصنيف المشكلة على أنها تصحيح أمني، لذلك لم يتم الاهتمام بها. ونتيجة لذلك، تبين أن العديد من التوزيعات معرضة للخطر. تم الإبلاغ في البداية أن الإصدار الأول الضعيف كان 2.2 بتاريخ 10 نوفمبر 2000، ولكن هناك احتمال أن يظهر حتى 2.0. ومن بين الإصدارات الأخرى، تأثرت التوزيعات RHEL/CentOS 5.x–7.x وDebian 7 وUbuntu 12.04 LTS. الإصلاحات العاجلة متوفرة حاليا. اقترح المتسللون أنفسهم أداة مساعدة تشرح جوهر الثغرة الأمنية وتسمح لك بفحص نظامك. كل شيء على ما يرام في Ubuntu 12.04.4 LTS:

$ wget https://goo.gl/RuunlE

$gcc gistfile1. ج - س CVE - 2015 - 0235

$. / CVE - 2015 - 0235

ليست ضعيفة

التحقق من النظام على GHOST

على الفور تقريبًا، تم إصدار وحدة للسماح بالتنفيذ عن بعد للتعليمات البرمجية على نظامي التشغيل x86 وx86_64 Linux مع عملية تشغيل. خادم البريد Exim (مع تمكين helo_try_verify_hosts أو helo_verify_hosts). في وقت لاحق، ظهرت تطبيقات أخرى، على سبيل المثال، وحدة Metasploit للتحقق من مدونة على WordPress.

وبعد ذلك بقليل، في عام 2015، تم اكتشاف ثلاث ثغرات أمنية أخرى في GNU glibc والتي سمحت لمستخدم بعيد بتنفيذ هجوم DoS أو الكتابة فوق خلايا الذاكرة خارج حدود المكدس: CVE-2015-1472، CVE-2015-1473، CVE-2015- 1781.

نظام التشغيل:لينكس (جنو كوريوتيلز)
مستوى:قليل
المتجهات:محلي، بعيد
مكافحة التطرف العنيف: CVE-2014-9471
يستغل:لا

GNU Coreutils هي إحدى حزم *nix الرئيسية، بما في ذلك جميع الأدوات المساعدة الأساسية تقريبًا (cat، ls، rm، date...). تم العثور على المشكلة في التاريخ. خطأ في وظيفة parse_datetime يسمح للمهاجم البعيد بعدم استخدام حسابعلى النظام، مما يؤدي إلى رفض الخدمة، وربما تنفيذ تعليمات برمجية عشوائية عبر سلسلة زمنية معدة خصيصًا باستخدام المنطقة الزمنية. تبدو الثغرة الأمنية كما يلي:

$ المس '-- التاريخ = TZ = "123"345"@1"

خطأ التجزئة

تاريخ $ - d 'TZ = "أوروبا / موسكو" "00 : 00 + 1 ساعة"'

خطأ التجزئة

التاريخ $ '-- التاريخ = TZ = "123"345"@1"

* * * خطأ في "التاريخ": مجاني (): المؤشر غير صالح: 0xbfc11414 * * *

ثغرة أمنية في GNU Coreutils

إذا لم تكن هناك ثغرة أمنية، فسنتلقى رسالة حول تنسيق التاريخ غير الصحيح. أبلغ جميع مطوري توزيع Linux تقريبًا عن وجود الثغرة الأمنية. تحديث متاح حاليا.


الإخراج العادي من GNU Coreutils المصححة

نظام التشغيل:لينكس (grep 2.19–2.21)
مستوى:قليل
المتجهات:محلي
مكافحة التطرف العنيف: CVE-2015-1345
يستغل:لا

نادرًا ما يتم العثور على ثغرات أمنية في الأداة المساعدة grep، والتي تُستخدم للبحث عن النص باستخدام النمط. ولكن غالبا ما يتم استدعاء هذه الأداة المساعدة من قبل برامج أخرى، بما في ذلك النظام، وبالتالي فإن وجود نقاط الضعف أكثر إشكالية مما يبدو للوهلة الأولى. قد يؤدي وجود خطأ في وظيفة bmexec_trans في kwset.c إلى قراءة بيانات غير مهيأة من منطقة خارج المخزن المؤقت المخصص أو التسبب في تعطل التطبيق. يمكن للمتسلل الاستفادة من ذلك عن طريق إنشاء مجموعة خاصة من البيانات المقدمة لإدخال التطبيق باستخدام grep -F. التحديثات متاحة حاليا. لا توجد عمليات استغلال تستخدم الثغرة الأمنية أو وحدة نمطية لـ Metasploit.

الضعف في FreeBSD

نظام التشغيل:فري بي إس دي
مستوى:قليل
المتجهات:محلي، بعيد
مكافحة التطرف العنيف: CVE-2014-0998، CVE-2014-8612، CVE-2014-8613
يستغل: https://www.exploit-db.com/exploits/35938/

لا توجد العديد من نقاط الضعف في قاعدة بيانات مكافحة التطرف العنيف لعام 2015، أو على وجه التحديد، ستة فقط. تم العثور على ثلاث نقاط ضعف في FreeBSD 8.4–10.x في نهاية يناير 2015 من قبل باحثين من فريق Core Exploit Writers Team. يرتبط CVE-2014-0998 بتنفيذ برنامج تشغيل وحدة التحكم VT (Newcons)، الذي يوفر محطات طرفية افتراضية متعددة، يتم تمكينها بواسطة المعلمة kern.vty=vt في /boot/loader.conf.
يحدث CVE-2014-8612 عند استخدام بروتوكول SCTP وينتج عن خطأ في رمز التحقق من معرف دفق SCTP الذي يقوم بتنفيذ مآخذ توصيل SCTP (المنفذ المحلي 4444). الجوهر هو خطأ نفاد الذاكرة في الدالة sctp_setopt() (sys/netinet/sctp_userreq.c). وهذا يمنح المستخدم المحلي الذي لا يتمتع بالامتيازات القدرة على كتابة أو قراءة 16 بت من بيانات ذاكرة kernel وتصعيد امتيازاته على النظام، أو الكشف عن البيانات الحساسة، أو تعطل النظام.

يسمح CVE-2014-8613 بتشغيل إلغاء مرجعية المؤشر NULL عند معالجة حزمة SCTP المستلمة خارجيًا عند تعيين خيار مأخذ التوصيل SCTP_SS_VALUE SCTP. على عكس الحالات السابقة، يمكن استخدام CVE-2014-8613 للتسبب عن بعد في تعطل kernel عن طريق إرسال حزم مصممة خصيصًا. في FreeBSD 10.1، يمكنك حماية نفسك عن طريق ضبط المتغير net.inet.sctp.reconfig_enable على 0، وبالتالي تعطيل معالجة كتل RE_CONFIG. أو ببساطة قم بحظر التطبيقات (المتصفحات، عملاء البريدوهكذا). على الرغم من أنه في وقت النشر كان المطورون قد أصدروا بالفعل تحديثًا.


إحصائيات الضعف في FreeBSD

الضعف في OpenSL

نظام التشغيل: OpenSSL
مستوى:بعيد
المتجهات:محلي
مكافحة التطرف العنيف: CVE-2015-1793
يستغل:لا

في عام 2014، تم اكتشاف ثغرة خطيرة في Heartbleed في OpenSSL، وهي حزمة تشفير مستخدمة على نطاق واسع للعمل مع SSL/TLS. تسبب الحادث في وقت واحد في انتقادات هائلة لجودة الكود، ومن ناحية، أدى ذلك إلى ظهور بدائل مثل LibreSSL، من ناحية أخرى، بدأ المطورون أنفسهم أخيرًا في العمل.

كبار البائعين حسب نقاط الضعف

تم اكتشاف الثغرة الأمنية الخطيرة بواسطة آدم لانجلي من Google وديفيد بنجامين من BoringSSL. تسببت التغييرات التي تم إجراؤها في إصدارات OpenSSL 1.0.1n و1.0.2b في محاولة OpenSSL العثور على سلسلة بديلة للتحقق من الشهادة إذا كانت المحاولة الأولى لبناء سلسلة ثقة غير ناجحة. يتيح لك ذلك تجاوز إجراء التحقق من الشهادة وتنظيم اتصال مؤكد باستخدام شهادة مزيفة، وبعبارة أخرى - لجذب المستخدم بهدوء إلى مواقع أو خوادم مزيفة بريد إلكترونيأو تنفيذ أي هجوم MITM حيث يتم استخدام الشهادة.

بعد اكتشاف الثغرة الأمنية، أصدر المطورون الإصدارين 1.0.1p و1.0.2d في 9 يوليو، مما أدى إلى إصلاح هذه المشكلة. الإصدارات 0.9.8 أو 1.0.0 لا تحتوي على هذه الثغرة الأمنية.

Linux.Encoder

وتميزت نهاية الخريف بظهور عدد من فيروسات التشفير، أولها Linux.Encoder.0، ثم تبعتها التعديلات Linux.Encoder.1 وLinux.Encoder.2، والتي أصابت أكثر من 2500 موقع. وفقًا لشركات مكافحة الفيروسات، فإن خوادم Linux وFreeBSD مع مواقع الويب التي تعمل باستخدام أنظمة إدارة المحتوى المختلفة - WordPress وMagento CMS وJoomla وغيرها - تتعرض للهجوم. يستغل المتسللون ثغرة أمنية غير معروفة. بعد ذلك، تم وضع برنامج نصي Shell (ملف error.php)، والذي تم من خلاله تنفيذ أي إجراءات أخرى (عبر المتصفح). على وجه الخصوص، تم إطلاق حصان طروادة لتشفير Linux.

التشفير، الذي حدد بنية نظام التشغيل وأطلق برنامج الفدية. تم إطلاق برنامج التشفير باستخدام حقوق خادم الويب (Ubuntu - www-data)، وهو ما يكفي لتشفير الملفات في الدليل الذي يتم تخزين ملفات ومكونات CMS فيه. تتلقى الملفات المشفرة امتدادًا جديدًا.مشفرًا.

تحاول برامج الفدية أيضًا تجاوز أدلة نظام التشغيل الأخرى، إذا تم تكوين الحقوق بشكل غير صحيح، فيمكن أن تتجاوز حدود موقع الويب بسهولة. بعد ذلك، تم حفظ الملف README_FOR_DECRYPT.txt في الدليل، والذي يحتوي على تعليمات فك تشفير الملفات ومتطلبات المتسلل. على في اللحظةقدمت شركات مكافحة الفيروسات أدوات مساعدة تسمح لك بفك تشفير الأدلة. على سبيل المثال، مجموعة من Bitdefender. ولكن عليك أن تتذكر أن جميع الأدوات المساعدة المصممة لفك تشفير الملفات لا تقوم بإزالة كود القشرة ويمكن أن يحدث كل شيء مرة أخرى.

مع الأخذ في الاعتبار أن العديد من المستخدمين الذين يقومون بتطوير أو تجربة إدارة موقع الويب غالبًا ما يقومون بتثبيت خادم ويب عليه الكمبيوتر المنزلي، يجب أن تقلق بشأن الأمان: حظر الوصول من الخارج، وتحديث البرنامج، وإجراء التجارب على الجهاز الافتراضي. ويمكن استخدام الفكرة نفسها في المستقبل لمهاجمة الأنظمة المنزلية.

خاتمة

لا يوجد برنامج معقد بدون أخطاء فعليًا، لذلك عليك أن تتصالح مع حقيقة أنه سيتم اكتشاف نقاط الضعف باستمرار. ولكن ليس كل منهم يمكن أن يكون مشكلة حقا. ويمكنك حماية نفسك من خلال اتخاذ خطوات بسيطة: إزالة البرامج غير المستخدمة ومراقبة نقاط الضعف الجديدة والتأكد من تثبيت التحديثات الأمنية وتكوين جدار الحماية وتثبيت برنامج مكافحة الفيروسات. ولا تنس التقنيات الخاصة مثل SELinux، القادرة تمامًا على اختراق البرنامج الخفي أو تطبيق المستخدم.

تثبيت وتكوين أدوات الإدارة وتكوين الشبكة

بعد أن قمنا بتثبيت الأساسية نظام التشغيل ubuntu14.04 من الحد الأدنى من التوزيع، أول شيء يجب أن تقلق بشأنه هو كيفية إدارته بشكل مريح. بشكل أساسي، يتم استخدام ssh/telnet لتكوين وإدارة الخوادم المستندة إلى *nix، ولكن في مؤخرالهذا الغرض، ظهرت أيضًا أدوات مناسبة تمامًا تعتمد على واجهات الويب. أنا استخدم حلول مجانية ويبمينو اجينتي. كلتا اللوحتين تستحقان الاهتمام وعلى الرغم من أنهما تستطيعان القيام بكل شيء على حدة، إلا أن كل منهما أكثر ملاءمة لبعض الأشياء، لذلك من الأفضل أن يكون لديكما كليهما. يجب أن أشير إلى أنه لا يتم تثبيت مثل هذه الحلول على خوادم الإنتاج القتالي بناءً على الأمان. ومع ذلك، كلما زادت أنظمة التحكم، أصبح على الأرجحتجد الضعف فيهم. لذلك، إذا كانت متطلبات الأمان الخاصة بك على المستوى "بجنون العظمة"، فما عليك سوى قبول حقيقة أنه سيتعين عليك العمل مع الخادم فقط عبر SSH (عبر وحدة التحكم).

إعداد شبكة في أوبونتو 14.04

للتواصل مع خادمنا عبر الشبكة، عليك أولاً تكوينه. بشكل افتراضي، أثناء التثبيت، يتم تكوين الشبكة تلقائيًا وإذا اكتشف المثبت خادم DHCP على الشبكة، فمن المرجح أنه قد قام بالفعل بتكوين كل شيء حسب الحاجة. إذا لم يكن هناك خادم DHCP على الشبكة، فلا يزال المثبت يقوم بتكوين كل شيء بناءً على استطلاع جهاز التوجيه الذي تتصل به بطاقة الشبكة. لمعرفة كيفية تكوين الشبكة حاليًا، فقط اكتب في الوحدة الطرفية:

ماذا نرى هنا:

لدينا واجهتان للشبكة eth0 وlo حيث lo هي "واجهة الاسترجاع" وeth0 هو اسم بطاقة الشبكة الخاصة بنا، وإذا كانت lo هي واجهة شبكة لم تتغير، فقد تختلف جميع الواجهات الأخرى في الاسم. إذا كان في وحدة النظامتم تثبيت بطاقتي شبكة، ومن المرجح أن تبدو واجهاتهما مثل eth0 وeth1 وما إلى ذلك. يعتمد مظهر اسم الواجهة على النوع بطاقة الشبكةعلى سبيل المثال، إذا كانت بطاقة الشبكة تعمل باستخدام بروتوكول WiFi، فمن المرجح أن يكون اسمها wlan0.

لتكوين الشبكة، دعونا نعدل الملف التالي:

سودو نانو /etc/network/interfaces

لنضعها في هذا النموذج:

iface eth0 inet ثابت
العنوان 192.168.0.184
قناع الشبكة 255.255.255.0
البوابة 192.168.0.1
أخلاقيات السيارات0
خوادم أسماء DNS 8.8.8.8 8.8.4.4

أين: iface eth0 inet ثابت- يشير إلى أن الواجهة (iface eth0) تقع في نطاق عناوين IPv4 (inet) باستخدام IP ثابت (static)؛
العنوان 192.168.0.184- يشير إلى أن عنوان IP الخاص ببطاقة الشبكة لدينا هو 192.168.0.184؛
قناع الشبكة 255.255.255.0- يشير إلى أن قناع الشبكة الفرعية (قناع الشبكة) لدينا هو 255.255.255.0؛
البوابة 192.168.0.1- عنوان البوابة الافتراضية 192.168.0.254؛
أخلاقيات السيارات0- يشير للنظام إلى أنه يجب تمكين واجهة eth0 تلقائيًا عند تشغيل النظام باستخدام المعلمات المذكورة أعلاه.
إيث0- اسم الواجهة المراد الاتصال بها. يمكن عرض قائمة الواجهات عن طريق كتابة ifconfig
خوادم أسماء DNS— تتم كتابة خوادم DNS مفصولة بمسافة.

كما ترون في حالتي، قررت تعيين IP ثابت 192.168.0.184

أعد تشغيل الخادم باستخدام الأمر

نقوم باختبار اتصال خادمنا من الشبكة والتأكد من أنه مرئي. والآن حان الوقت لإنشاء اتصال به عبر SSH؛ وللقيام بذلك، سنقوم فعليًا بتثبيت خادم ssh:

Sudo apt-get install ssh

الآن يمكنك الاتصال بخادمنا عبر ssh من خلال برنامج المعجون، على سبيل المثال، الآن يمكنك إدخال الأوامر ليس يدويا، ولكن عن طريق نسخ ولصق الأسطر التي نحتاجها فيها عميل سش، لأن هذا سيجعل الإعداد أسهل بشكل مدهش في المستقبل، كما ستشاهد قريبًا بنفسك:

يتم إدخال جميع الأوامر الموجودة أسفل هذا السطر كمستخدم متميزوللدخول إلى وضع المستخدم المتميز، عليك كتابة:

تثبيت webmin

صدى "deb https://download.webmin.com/download/repository sarge contrib" >> /etc/apt/sources.list echo "deb https://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib" >> /etc/apt/sources.list wget https://www.webmin.com/jcameron-key.asc apt-key add jcameron-key.asc apt-get update apt-get install -y webmin

صدى "deb https://download.webmin.com/download/repository sarge contrib">>

صدى "deb https://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib">> /etc/apt/sources.list. قائمة

وجت https : //www.webmin.com/jcameron-key.asc

apt - مفتاح إضافة jcameron - مفتاح . تصاعدي

ملائمة - احصل على التحديث

apt - احصل على التثبيت - y webmin

الجميع! تم إدخال 6 أوامر بشكل تسلسلي وتم تثبيت وتكوين webmin. الآن يمكنك تسجيل الدخول إلى المتصفح الخاص بك على:

https://192.168.0.184:10000

افتراضيًا، يبدو webmin بسيطًا، ويتم عرض الواجهة الافتراضية عليه إنجليزيولكن كل شيء قابل للتخصيص!

نحن نفعل ذلك مثل هذا:

اتضح مثل هذا:

© 2024 ermake.ru - حول إصلاح أجهزة الكمبيوتر - بوابة المعلومات