الأمان وضبط إعدادات أنظمة Linux
دليل شامل لضبط إعدادات أنظمة Linux وتأمينها بفعالية
InSkillCoach
الأمان وضبط إعدادات أنظمة Linux
يُعدّ الأمان وضبط الإعدادات الصحيح لنظام Linux أمرين أساسيين لضمان استقراره وأدائه ومقاومته للتهديدات. يعرض لك هذا الدليل أفضل الممارسات لضبط أنظمة Linux وتأمينها بفعالية.
ضبط إعدادات النظام
إدارة المستخدمين والمجموعات
إدارة المستخدمين أمر جوهري لأمان نظام Linux وتنظيمه.
إنشاء المستخدمين وإدارتهم
# Créer un nouvel utilisateur
sudo useradd -m username
# Définir un mot de passe
sudo passwd username
# Ajouter un utilisateur à un groupe (ex: sudo)
sudo usermod -aG sudo username
# Supprimer un utilisateur
sudo userdel -r username
إدارة المجموعات
# Créer un nouveau groupe
sudo groupadd groupname
# Ajouter un utilisateur à un groupe
sudo usermod -aG groupname username
# Supprimer un groupe
sudo groupdel groupname
ضبط إعدادات الشبكة
يُعدّ ضبط إعدادات الشبكة بشكل صحيح أمرًا أساسيًا للاتصال والأمان.
ضبط عنوان IP ثابت (Ubuntu/Debian مع Netplan)
# Éditer le fichier de configuration
sudo nano /etc/netplan/01-netcfg.yaml
مثال على الإعدادات:
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
تطبيق التغييرات:
sudo netplan apply
ضبط إعدادات DNS
# Éditer le fichier resolv.conf
sudo nano /etc/resolv.conf
مثال على الإعدادات:
nameserver 8.8.8.8
nameserver 8.8.4.4
خدمات النظام
إدارة الخدمات أمر حاسم للتحكم فيما يعمل على نظامك.
الإدارة باستخدام systemd
# Vérifier le statut d'un service
sudo systemctl status service-name
# Démarrer un service
sudo systemctl start service-name
# Arrêter un service
sudo systemctl stop service-name
# Activer un service au démarrage
sudo systemctl enable service-name
# Désactiver un service au démarrage
sudo systemctl disable service-name
# Redémarrer un service
sudo systemctl restart service-name
التحقق من الخدمات النشطة
# Lister tous les services actifs
systemctl list-units --type=service --state=active
أمان Linux
جدار الحماية باستخدام UFW (Uncomplicated Firewall)
UFW واجهة مبسّطة لـ iptables، تسهّل ضبط جدار الحماية.
# Installer UFW
sudo apt install ufw
# Vérifier le statut
sudo ufw status
# Activer UFW
sudo ufw enable
# Autoriser SSH (port 22)
sudo ufw allow 22/tcp
# Autoriser HTTP et HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Bloquer un port spécifique
sudo ufw deny 3306
# Bloquer une adresse IP
sudo ufw deny from 192.168.1.10
# Supprimer une règle
sudo ufw delete deny 3306
تأمين SSH
غالبًا ما يكون SSH بوابة الدخول الرئيسية إلى خادمك، لذلك من الضروري تأمينه.
# Éditer la configuration SSH
sudo nano /etc/ssh/sshd_config
التعديلات الموصى بها:
# Désactiver la connexion root
PermitRootLogin no
# Désactiver l'authentification par mot de passe
PasswordAuthentication no
# Limiter les utilisateurs autorisés
AllowUsers user1 user2
# Changer le port par défaut (optionnel)
Port 2222
# Limiter les tentatives d'authentification
MaxAuthTries 3
أعد تشغيل SSH لتطبيق التغييرات:
sudo systemctl restart sshd
المصادقة بمفتاح SSH
المصادقة بالمفاتيح أكثر أمانًا من كلمات المرور.
# Sur votre machine locale, générer une paire de clés
ssh-keygen -t ed25519 -C "votre_email@exemple.com"
# Copier la clé publique sur le serveur
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server
تحديثات الأمان
يُعدّ الحفاظ على تحديث نظامك من أهم الإجراءات الأمنية.
# Mettre à jour la liste des paquets
sudo apt update
# Installer les mises à jour
sudo apt upgrade
# Mettre à jour le système complet
sudo apt dist-upgrade
# Supprimer les paquets obsolètes
sudo apt autoremove
للتحديثات التلقائية (Ubuntu/Debian):
# Installer unattended-upgrades
sudo apt install unattended-upgrades
# Configurer les mises à jour automatiques
sudo dpkg-reconfigure unattended-upgrades
Fail2ban - الحماية من هجمات القوة الغاشمة
يراقب Fail2ban السجلات ويحظر مؤقتًا عناوين IP التي تظهر عليها علامات هجوم.
# Installer Fail2ban
sudo apt install fail2ban
# Créer un fichier de configuration local
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
الإعدادات الموصى بها لـ SSH:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
أعد تشغيل Fail2ban:
sudo systemctl restart fail2ban
تحقق من الحالة:
sudo fail2ban-client status sshd
المراقبة وتسجيل الأحداث
سجلات النظام
السجلات ضرورية لتشخيص المشكلات ومراقبة الأمان.
# Afficher les journaux système récents
journalctl -xe
# Suivre les journaux en temps réel
tail -f /var/log/syslog
# Rechercher des tentatives de connexion échouées
grep "Failed password" /var/log/auth.log
# Rotation des journaux
sudo logrotate -f /etc/logrotate.conf
أدوات المراقبة
# Surveillance des processus et ressources
htop
# Surveillance des E/S disque
iotop
# Surveillance du réseau
nethogs
# Surveillance complète du système
glances
عمليات تدقيق الأمان باستخدام Lynis
Lynis أداة لتدقيق الأمان في أنظمة Unix/Linux.
# Installer Lynis
sudo apt install lynis
# Exécuter un audit complet
sudo lynis audit system
النسخ الاحتياطي والاستعادة
النسخ الاحتياطي باستخدام rsync
# Sauvegarder un répertoire localement
rsync -av --delete /source/directory/ /destination/directory/
# Sauvegarder vers un serveur distant
rsync -avz -e ssh /source/directory/ user@remote:/destination/directory/
النسخ الاحتياطي باستخدام Duplicity
# Installer Duplicity
sudo apt install duplicity
# Sauvegarder vers un serveur FTP
duplicity /home/user ftp://user:password@ftp.example.com/backup
الخلاصة
إن تأمين نظام Linux وضبط إعداداته بشكل صحيح عمليتان مستمرتان تتطلبان يقظة دائمة. باتباع أفضل الممارسات الموضحة في هذا الدليل، يمكنك تحسين أمان أنظمة Linux وأدائها بشكل كبير.
لا تنسَ أن الأمان توازن بين الوظائف والحماية. لذا كيّف هذه التوصيات دائمًا مع احتياجاتك الخاصة وبيئتك.
ابقَ على اطلاع بآخر الثغرات الأمنية والتحديثات الأمنية للحفاظ على حماية نظامك من التهديدات الجديدة.
نبذة عن InSkillCoach
خبير في التدريب والتقنيات
مدرّب متخصص في التقنيات المتقدمة والذكاء الاصطناعي، تدعمه شركة GNeurone Inc.
الشهادات:
- AWS Certified Solutions Architect – Professional
- شهادات Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش