ديف أوبس

إعدادات أوبنتو 14.04 للخوادم

خطوات إضافية لتطبيقها على خواديم أوبنتو 14.04 الجديدة

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

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


1. تحديث النظام الأساسي وترقية الحزم

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

bash
sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade -y sudo reboot

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


2. إعداد جدار الحماية (UFW)

جدار الحماية هو خط الدفاع الأول ضد الهجمات الخارجية، واستخدام أداة UFW (Uncomplicated Firewall) يعد الخيار الأمثل لتسهيل إدارة قواعد الحماية في أوبنتو.

  • تفعيل UFW وتقييد الوصول إلى المنافذ غير الضرورية:

bash
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw allow http sudo ufw allow https sudo ufw enable sudo ufw status verbose
  • في حال كانت هناك خدمات أخرى مثل FTP أو قواعد بيانات تحتاج فتح منافذ معينة، يمكن إضافتها حسب الحاجة.


3. تأمين الدخول عبر SSH

أمان الدخول عبر SSH هو أمر حيوي، نظرًا لأن معظم الخوادم تعتمد على الوصول عن بُعد.

  • تغيير المنفذ الافتراضي (22) لمنفذ آخر يقلل من محاولات الهجوم:

bash
sudo nano /etc/ssh/sshd_config # تغيير Port إلى رقم منفذ جديد، مثلا 2222 Port 2222
  • تعطيل تسجيل الدخول عبر المستخدم الجذر مباشرة:

bash
PermitRootLogin no
  • تمكين المصادقة بواسطة مفاتيح SSH بدلاً من كلمات المرور:

bash
PasswordAuthentication no
  • إعادة تشغيل خدمة SSH لتطبيق التغييرات:

bash
sudo service ssh restart

4. إعداد تحديثات تلقائية للأمن

لضمان تطبيق التحديثات الأمنية بدون الحاجة للتدخل اليدوي، يمكن تفعيل الحزم الخاصة بالتحديث التلقائي:

bash
sudo apt-get install unattended-upgrades sudo dpkg-reconfigure --priority=low unattended-upgrades

هذا يضمن تنزيل وتثبيت التحديثات الأمنية تلقائيًا في الخلفية.


5. ضبط الوقت وتزامنه مع الخادم الزمني (NTP)

تزامن الوقت بدقة مهم لتسجيل الأحداث والعمليات بشكل صحيح، وكذلك لتجنب مشاكل في شهادات الأمان.

  • تثبيت خدمة NTP:

bash
sudo apt-get install ntp
  • التأكد من عمل الخدمة ومزامنة الوقت:

bash
sudo service ntp start ntpq -p

6. تحسين أداء النظام باستخدام إعدادات Kernel وتعديل بعض القيم

  • تعديل إعدادات الشبكة لتحسين الأداء في الخوادم ذات الحمل العالي:

bash
sudo nano /etc/sysctl.conf

إضافة أو تعديل القيم التالية:

ini
net.core.somaxconn = 1024 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200
  • تطبيق التغييرات:

bash
sudo sysctl -p

7. تثبيت وإعداد أدوات المراقبة والإدارة

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

7.1. htop

لرصد العمليات والموارد بطريقة تفاعلية:

bash
sudo apt-get install htop htop

7.2. nload

لمراقبة استهلاك الشبكة:

bash
sudo apt-get install nload nload

7.3. Nagios أو Zabbix

أنظمة مراقبة شاملة إذا كانت الخوادم كثيرة وتحتاج لمراقبة مركزية، يتم تثبيتها حسب الحاجة.


8. إدارة الحزم الغير ضرورية وتحرير المساحة

من المهم تقليل حجم النظام والتخلص من الحزم الغير مستخدمة:

bash
sudo apt-get autoremove sudo apt-get clean

هذا يساعد في تفريغ مساحة القرص وتحسين أداء النظام.


9. ضبط إعدادات Swap وتحسين الذاكرة الافتراضية

إذا كان الخادم يحتوي على ذاكرة RAM محدودة، فتهيئة مساحة swap بشكل مناسب أمر مهم:

  • التحقق من وجود Swap:

bash
swapon -s
  • في حالة عدم وجودها، يمكن إنشاء ملف Swap:

bash
sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile
  • إضافة Swap إلى ملف fstab ليعمل تلقائيًا بعد إعادة التشغيل:

bash
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

10. إعداد النسخ الاحتياطي الدوري

تعتبر النسخ الاحتياطية ركيزة أساسية لحماية البيانات:

  • يمكن استخدام أدوات مثل rsync أو duplicity لإجراء نسخ احتياطي آلي:

مثال على نسخة احتياطية إلى مسار آخر على نفس الخادم أو خادم بعيد:

bash
rsync -avz /var/www/ user@backupserver:/backup/
  • الجدولة باستخدام cron لتشغيل النسخ بشكل منتظم:

bash
crontab -e # مثال لتشغيل النسخ كل يوم في منتصف الليل 0 0 * * * rsync -avz /var/www/ user@backupserver:/backup/

11. إعداد مراقبة الخدمات الأساسية وإعادة تشغيلها تلقائيًا

من الضروري التأكد من أن الخدمات الحيوية مثل خادم الويب وقاعدة البيانات تعمل بشكل دائم.

  • يمكن استخدام أدوات مثل monit لإدارة هذه العملية:

bash
sudo apt-get install monit sudo nano /etc/monit/monitrc
  • مثال لإعداد مراقبة خدمة Apache:

pgsql
check process apache with pidfile /var/run/apache2.pid start program = "/etc/init.d/apache2 start" stop program = "/etc/init.d/apache2 stop" if failed port 80 protocol http then restart if 5 restarts within 5 cycles then timeout
  • تفعيل monit:

bash
sudo service monit start

12. تحسين إعدادات خادم الويب Apache أو Nginx

  • تأكد من تعطيل الوحدات غير الضرورية:

bash
sudo a2dismod status sudo a2dismod autoindex
  • ضبط ملفات التكوين لتحسين الأداء والحد من استهلاك الموارد.

  • في حالة استخدام Nginx، يمكن تحسين إعدادات الـ worker_processes و buffer sizes بما يتناسب مع إمكانيات الخادم.


13. تحسين إعدادات قواعد البيانات

  • في حال استخدام MySQL أو MariaDB، يجب ضبط ملفات الإعدادات (my.cnf) بما يتناسب مع حجم الذاكرة وعدد الاتصالات المتوقعة.

  • استخدام أدوات مثل mysqltuner لتحليل أداء قواعد البيانات واقتراح تحسينات.


14. ضبط سجلات النظام وتقليل حجمها

  • تعديل إعدادات logrotate لضمان تدوير السجلات وتقليل حجم الملفات:

bash
sudo nano /etc/logrotate.conf
  • يمكن تقليل مدة حفظ السجلات أو ضغطها لتوفير المساحة.


15. إعداد مراقبة استخدام القرص وتنبيه في حالة الاقتراب من النفاد

  • يمكن استخدام أوامر مثل df -h لمراقبة المساحات يدوياً.

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


جدول ملخص للإعدادات المقترحة على خواديم أوبنتو 14.04

الإعداد الوصف الأوامر الأساسية
تحديث النظام تثبيت آخر تحديثات الحزم الأمنية sudo apt-get update && upgrade
جدار الحماية (UFW) تفعيل وحصر المنافذ sudo ufw enable + إعدادات المنافذ
تأمين SSH تغيير المنفذ، تعطيل الدخول root، مفاتيح تعديل /etc/ssh/sshd_config
تحديثات تلقائية تثبيت وتفعيل التحديث التلقائي sudo apt-get install unattended-upgrades
مزامنة الوقت (NTP) تثبيت وتشغيل خدمة NTP sudo apt-get install ntp
تحسين إعدادات Kernel ضبط إعدادات الشبكة للاتصال العالي تعديل /etc/sysctl.conf
أدوات المراقبة تثبيت htop، nload، وغيرها sudo apt-get install htop nload
تنظيف النظام إزالة الحزم الغير ضرورية وتنظيف المخازن sudo apt-get autoremove && clean
إعداد Swap إنشاء وتفعيل مساحة Swap إذا لم توجد fallocate, mkswap, swapon
النسخ الاحتياطي إعداد نسخ احتياطي دوري باستخدام rsync إعدادات cron
مراقبة الخدمات تثبيت وتفعيل monit لمراقبة الخدمات sudo apt-get install monit
تحسين Apache/Nginx تعطيل الوحدات غير الضرورية وضبط الأداء a2dismod, تعديل ملفات التكوين
تحسين قواعد البيانات ضبط إعدادات my.cnf وتحليل الأداء استخدام mysqltuner
إدارة السجلات ضبط logrotate لضغط وتدوير السجلات تعديل /etc/logrotate.conf
مراقبة القرص إعداد التنبيهات لمساحات القرص سكربتات أو أدوات مراقبة

خاتمة

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