تأمين وتصلب نواة CentOS 7 مع Sysctl

المقدمة

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

أوامر

لبدء استخدام sysctl ، راجع المعلمات والأمثلة المدرجة أدناه.

المعلمات

: سيعرض هذا كافة القيم المتوفرة حاليًا في تكوين sysctl.

: سيعرض هذا كافة القيم المتوفرة حاليًا في تكوين sysctl في شكل جدول.

-e : سيتجاهل هذا الخيار أخطاء حول مفاتيح غير معروفة.

-p : يُستخدم هذا لتحميل تكوين sysctl محدد ، بشكل افتراضي/etc/sysctl.conf

-n : سيعطل هذا الخيار إظهار أسماء المفاتيح عند طباعة القيم.

-w : هذا الخيار لتغيير (أو إضافة) القيم إلى sysctl عند الطلب.

أمثلة

$ sysctl -a
$ sysctl -n fs.file-max
$ sysctl -w fs.file-max=2097152
$ sysctl -p

لذا نتحقق أولاً من القيم الافتراضية. إذا كان الخاص بك /etc/sysctl.confفارغًا ، فسيعرض جميع المفاتيح والقيم الافتراضية. ثانيًا ، نتحقق من القيمة fs.file-maxومن ثم نعين القيمة الجديدة 2097152. أخيرًا ، نقوم بتحميل /etc/sysctl.confملف التكوين الجديد .

إذا كنت تبحث عن مساعدة إضافية ، يمكنك استخدامها man sysctl.

تأمين وتصلب النواة

لجعل التغييرات دائمة ، سيتعين علينا إضافة هذه القيم إلى ملف التكوين. استخدم ملف التكوين الذي يوفره CentOS بشكل افتراضي ، /etc/sysctl.conf.

افتح الملف باستخدام محررك المفضل.

بشكل افتراضي ، يجب أن تشاهد شيئًا مشابهًا لهذا.

# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).

دعونا تحسين إدارة ذاكرة النظام أولاً.

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

# Minimizing the amount of swapping
vm.swappiness = 20
vm.dirty_ratio = 80
vm.dirty_background_ratio = 5

# Increases the size of file handles and inode cache & restricts core dumps
fs.file-max = 2097152
fs.suid_dumpable = 0

بعد ذلك ، دعنا نضبط أداء الشبكة المحسن.

سنقوم بتغيير مقدار الاتصالات الواردة وتراكم الاتصالات الواردة ، وزيادة الحد الأقصى لحجم المخازن المؤقتة للذاكرة ، وزيادة المخازن المؤقتة الافتراضية للإرسال / التلقي.

# Change the amount of incoming connections and incoming connections backlog
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 262144

# Increase the maximum amount of memory buffers
net.core.optmem_max = 25165824

# Increase the default and maximum send/receive buffers
net.core.rmem_default = 31457280
net.core.rmem_max = 67108864
net.core.wmem_default = 31457280
net.core.wmem_max = 67108864

أخيرًا ، سنقوم بتحسين أمان الشبكة العام.

سنقوم بتمكين حماية ملفات تعريف الارتباط TCP SYN ، وحماية انتحال IP ، وتجاهل طلبات ICMP ، وتجاهل طلبات البث ، وتسجيل الحزم المخادعة ، والحزم الموجهة المصدر وحزم إعادة التوجيه. إلى جانب ذلك ، سنقوم بتعطيل توجيه مصدر IP وقبول إعادة توجيه ICMP.

# Enable TCP SYN cookie protection
net.ipv4.tcp_syncookies = 1

# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter = 1

# Enable ignoring to ICMP requests and broadcasts request
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Enable logging of spoofed packets, source routed packets and redirect packets
net.ipv4.conf.all.log_martians = 1

# Disable IP source routing
net.ipv4.conf.all.accept_source_route = 0

# Disable ICMP redirect acceptance
net.ipv4.conf.all.accept_redirects = 0

احفظ وأغلق الملف ، ثم قم بتحميل الملف باستخدام sysctl -pالأمر.

استنتاج

في النهاية ، يجب أن يبدو ملفك مشابهًا لهذا.

# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).

# Minimizing the amount of swapping
vm.swappiness = 20
vm.dirty_ratio = 80
vm.dirty_background_ratio = 5

# Increases the size of file handles and inode cache & restricts core dumps
fs.file-max = 2097152
fs.suid_dumpable = 0

# Change the amount of incoming connections and incoming connections backlog
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 262144

# Increase the maximum amount of memory buffers
net.core.optmem_max = 25165824

# Increase the default and maximum send/receive buffers
net.core.rmem_default = 31457280
net.core.rmem_max = 67108864
net.core.wmem_default = 31457280
net.core.wmem_max = 67108864

# Enable TCP SYN cookie protection
net.ipv4.tcp_syncookies = 1

# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter = 1

# Enable ignoring to ICMP requests and broadcasts request
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Enable logging of spoofed packets, source routed packets and redirect packets
net.ipv4.conf.all.log_martians = 1

# Disable IP source routing
net.ipv4.conf.all.accept_source_route = 0

# Disable ICMP redirect acceptance
net.ipv4.conf.all.accept_redirects = 0

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

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

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد