خطوات إضافية لإعداد خواديم CentOS 7 الجديدة


عبد اللطيف ايمش

بعد إعداد أقل قدر ممكن من الضبط للخادوم الجديد الضبط المبدئي لخادوم CentOS 7، هنالك بعض الخطوات الإضافية التي يُنصَح إجراؤها في أغلبية الحالات، وسنكمل ذلك في هذا الدرس بضبط بعض الأمور الاختيارية.

المتطلبات المسبقة وأهداف هذا الدرس

قبل أن تبدأ بهذا الدرس، عليك أن تتبع الخطوات المذكورة في درسنا السابق الضبط المبدئي لخادوم CentOS 7، من المهم أن تعد حسابات المستخدمين، وتمنحهم امتيازات الجذر باستخدام الأمر sudo، وتحاول تأمين خدمة SSH.
يمكنك المتابعة مع هذا الدرس بعد إكمال الدرس السابق، الذي سنُركِّز فيه على ضبط بعض المكونات الاختيارية والمهمة؛ مثل ضبط الجدار الناري وملف التبديل (swap file) وضبط مزامنة الوقت والتاريخ عبر بروتوكول NTP.

ضبط جدار ناري بسيط

توفر الجدران النارية حمايةً أساسيةً للخواديم، وهذه التطبيقات مسؤولة عن منع الوصول إلى جميع المنافذ الشبكية على خادومك باستثناء المنافذ (أو الخدمات) التي سمحتَ لها.
تأتي توزيعة CentOS مع جدارٍ ناريٍ باسم firewalld، وتستعمل أداةٌ باسم firewall-cmd لضبط سياسات الجدار الناري. سنتبع منهجية لسياسات الجدار الناري ألا وهي إغلاق جميع المنافذ إلا التي نملك سببًا وجيهًا لإبقائها مفتوحةً.
لخدمة firewalld القدرة على إجراء تعديلات دون قطع الاتصالات الحالية، لذا يمكننا تشغيلها قبل أن نضيف الاستثناءات التي نريدها:

sudo systemctl start firewalld

لاحظ أنَّ الخدمة أصبحت تعمل الآن في الخلفية، ويمكننا استعمال الأداة firewall-cmd للحصول على معلوماتٍ عن سياسات الجدار الناري أو ضبطها.
لدى برمجية firewalld مفهوم هو «المناطق» (zones) لتسمية مدى ثقتك بالأجهزة الأخرى الموجودة على شبكة ما، وهذه التسمية ستمنحنا القدرة على إسناد قواعد مختلفة بناءً على مدى «ثقتنا» بالشبكة.
سنُعدِّل في درسنا هذا السياسات التابعة للمنطقة الافتراضية، وعندما نُعيد تحميل خدمة الجدار الناري، فستُطبَّق سياسات هذه المنطقة على جميع البطاقات الشبكية.
يمكننا البدء بإضافة استثناءات للخدمات المسموح لها بإجراء اتصالات خارجية؛ وأهمها خدمة SSH، لأننا نريد أن نبقى قادرين على الاتصال البعيد إلى الخادوم.
إذا لم تُعدِّل المنفذ الذي تستمع عليه خدمة SSH، فيمكنك السماح لاتصالات SSH بكتابة الأمر الآتي:

sudo firewall-cmd --permanent --add-service=ssh

أما إذا غيّرتَ منفذ SSH على خادومك، فعليك التصريح عن المنفذ الجديد يدويًا، وعليك أن تُحدِّد ما هو البروتوكول الذي تستعمله تلك الخدمة. نفِّذ الأمر الآتي إذا غيرتَ المنفذ الذي تستمع عليه خدمة SSH:

sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --permanent --add-port=4444/tcp

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

sudo firewall-cmd --permanent --add-service=http

إذا كنتَ تخطط لتشغيل خادوم ويب مع تشفير الاتصال عبر SSL/TLS، فعليك السماح لخدمة https أيضًا:

sudo firewall-cmd --permanent --add-service=https

وإذا احتجتَ إلى خدمة SMTP للبريد الإلكتروني، فنفِّذ الأمر:

sudo firewall-cmd --permanent --add-service=smtp

لرؤية الخدمات الأخرى التي يمكن السماح لها بتحديد اسمها، فنفِّذ:

sudo firewall-cmd --get-services

بعد أن تنتهي من ضبط الجدار الناري، يمكنك عرض قائمة بجميع الاستثناء الموجودة في سياسة الجدار الناري عبر الأمر الآتي:

sudo firewall-cmd --permanent --list-all

وعندما تكون جاهزًا لتطبيق هذه التعديلات، فأعد تحميل الجدار الناري:

sudo firewall-cmd --reload

وبعد أن تجرب وتتأكد من عمل كل الخدمات، فيجدر بك تفعيل الجدار الناري عند الإقلاع:

sudo systemctl enable firewalld

تذكر أنَّ عليك فتح منفذ في الجدار الناري عند تثبيت وضبط أيّة خدمات جديدة لاحقًا.

ضبط المنطقة الزمنية ومزامنة الوقت والتاريخ

الخطوة التالية هي تعديل المنطقة الزمنية وضبط مزامنة الوقت عبر بروتوكول NTP (اختصار للعبارة Network Time Protocol).
أوّل خطوة هي التأكد من صحة المنطقة الزمنية المضبوطة في خادومك، والخطوة الثانية هي ضبط النظام ليزامن ساعته مع شبكة من خواديم NTP للحصول على الوقت والتاريخ بدقة، وهذا سيساعد في منع بعض المشاكل التي تحدث بسبب عدم تزامن الساعة.

ضبط المنطقة الزمنية

أوّل خطوة هي ضبط المنطقة الزمنية للخادوم، وهذه الخطوة سهلة جدًا ويمكن إجراؤها باستعمال الأمر timedatectl.
علينا أولًا أن نعرض قائمة بالمناطق الزمنية المتوافرة بتنفيذ الأمر:

sudo timedatectl list-timezones

سيُنتِج الأمر السابق قائمةً بالمناطق الزمنية المتوافرة لخادومك، وعندما تجد المنطقة الزمنية الصحيحة فيمكنك ضبطها بتنفيذ الأمر:

sudo timedatectl set-timezone region/timezone

فمثلًا لو كان خادومك موجودًا في الساحل الشرقي للولايات المتحدة الأميركية، فيمكنك تنفيذ:

sudo timedatectl set-timezone America/New_York

يمكنك التأكد أنَّ نظامك قد حُدِّث ليستعمل المنطقة الزمنية التي ضبطتَها بالأمر:

sudo timedatectl

ضبط مزامنة الوقت عبر بروتوكول NTP

علينا الآن ضبط المزامنة بعد أن ضبطنا المنطقة الزمنية، وهذا يسمح للحاسوب بمزامنة الوقت والتاريخ، مما يمنع حدوث بعض المشاكل التي يتسبب بها الاختلاف في الوقت بين الخواديم.
سنستخدم خدمة باسم ntp لمزامنة الوقت، والتي يمكن تثبيتها من مستودعات CentOS:

sudo yum install ntp

ثم عليك بدء الخدمة لهذه الجلسة، ثم تفعيل تشغيل الخدمة عند الإقلاع:

sudo systemctl start ntpd
sudo systemctl enable ntpd

سيُصحِّح خادومك ساعته تلقائيًا لتتوافق مع الخواديم العالمية.

إنشاء ملف تبديل

إضافة مساحة للتبديل (swap) إلى خادوم لينكس ستُمكِّن النظام من نقل المعلومات التي لا يتم الوصول إليها كثيرًا من ذاكرة الوصول العشوائي (RAM) إلى مكانٍ ما على القرص الصلب؛ وصحيحٌ أنَّ الوصول إلى البيانات المخزنة على القرص أبطأ بكثير بقارنة بالوصول إليها من ذاكرة الوصول العشوائي مباشرةً، لكن قد تستفيد من ذاكرة التبديل في حال نفدت المساحة المتاحة في ذاكرة RAM مما يمنع انهيار الخدمات التي يشغلها خادومك، يجدر بالذكر أنَّ استعمال مساحة التبديل مفيدٌ جدًا خصوصًا إذا كان خادومك يستضيف قواعد بيانات.
لا توجد قواعد لتحديد المساحة التخزينية المثلى لذاكرة التبديل، لكنها عمومًا تساوي مقدار ذاكرة RAM في نظامك أو ضعفيها…
احجز المساحة التي ترغب في استخدامها لذاكرة التبديل باستخدام الأداة fallocate، فلو أردنا إنشاء ملف للتبديل بمساحة 4 غيغابايت في مجلد ‎/swapfile سنُنفِّذ الأمر:

sudo fallocate -l 4G /swapfile

علينا بعد إنشاء الملف أن نمنع المستخدمين أو العمليات في النظام من الوصول إلى تلك الذاكرة وقراءة محتوياتها:

sudo chmod 600 /swapfile

بعد ضبط الأذونات السليمة للملف، فيمكننا أن نطلب من النظام أن يُهّيئ الملف ليعمل كذاكرة تبديل بالأمر:

sudo mkswap /swapfile

ثم سنطلب من النظام استخدام ملف التبديل الذي أنشأناه آنفًا:

sudo swapon /swapfile

أصبح نظامنا يستعمل ملف التبديل لحين إعادة إقلاعه، لذا سنحتاج إلى تعديل نظام الملفات لكي يفعل النظام ذلك تلقائيًا عند الإقلاع، وذلك بإضافة سطر جديد إلى ملف ‎/etc/fstab:

sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'

يجب أن يستعمل نظامك هذا الملف كذاكرة تبديل عند كل إقلاع.

الخلاصة

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


ترجمة –وبتصرّف– للمقال Additional Recommended Steps for New CentOS 7 Serversلصاحبه Justin Ellingwood





تفاعل الأعضاء


لا توجد أيّة تعليقات بعد



يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن