الاتصال بخادم VDS عبر SSH: PuTTY والطرفية والمفاتيح
دليل شامل للاتصال بخادم Linux VDS عبر SSH: PuTTY، الطرفية، المصادقة بالمفتاح، إنشاء قاعدة تصفية Path Panel، تغيير المنفذ ونصائح الأمان الأساسية.
دليل تصليب أمان خادم Linux: تقوية SSH، تعطيل تسجيل دخول root، Fail2Ban، التحديثات التلقائية، قواعد جدار الحماية والخدمات غير الضرورية.
عند إعداد خادم Linux جديد، لا يكون الإعداد الافتراضي مُحسَّناً من الناحية الأمنية. يشمل تصليب الخادم تغييرات منهجية في الإعداد لتقليل سطح الهجوم وإغلاق الثغرات الأمنية. يوفر هذا الدليل قائمة تحقق أمنية شاملة لخوادم REXE.
قد تحتوي تثبيتات Linux الافتراضية على:
لا تغلق اتصال SSH الحالي أثناء التصليب. بعد كل خطوة، اختبر الاتصال من طرفية جديدة.
# تحديث النظام
sudo apt update && sudo apt upgrade -y
# تثبيت التحديثات الأمنية التلقائية
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades
# /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::AutoFixInterruptedDpkg "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "false";
sudo nano /etc/ssh/sshd_config
# إعدادات أمان SSH
# تعطيل تسجيل دخول root
PermitRootLogin no
# تعطيل المصادقة بكلمة المرور (بعد إعداد مفتاح SSH)
PasswordAuthentication no
# عدم السماح بكلمات المرور الفارغة
PermitEmptyPasswords no
# تعطيل توجيه X11
X11Forwarding no
# الحد الأقصى لمحاولات تسجيل الدخول
MaxAuthTries 3
# الحد الأقصى للجلسات المتزامنة
MaxSessions 5
# مهلة تسجيل الدخول (ثانية)
LoginGraceTime 30
# إصدار البروتوكول
Protocol 2
# السماح لمستخدمين محددين فقط
AllowUsers admin deploy
# تغيير منفذ SSH (اختياري)
# Port 2222
# خوارزميات تشفير قوية
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
KexAlgorithms curve25519-sha256,diffie-hellman-group14-sha256
# اختبار إعداد SSH
sudo sshd -t
# إعادة تشغيل SSH
sudo systemctl restart sshd
# تثبيت وإعداد UFW
sudo apt install ufw -y
# السياسات الافتراضية
sudo ufw default deny incoming
sudo ufw default allow outgoing
# السماح بـ SSH أولاً!
sudo ufw allow ssh
# خدمات الويب
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# السماح بالوصول من IP محدد
sudo ufw allow from 192.168.1.0/24 to any port 3306
# تفعيل UFW
sudo ufw enable
# التحقق من الحالة
sudo ufw status verbose
# تحديد المعدل للحماية من القوة الغاشمة
sudo ufw limit ssh
# حجب IP محدد
sudo ufw deny from 1.2.3.4
# حذف قاعدة
sudo ufw delete allow 80/tcp
# تثبيت Fail2Ban
sudo apt install fail2ban -y
# إنشاء إعداد محلي
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 86400
[nginx-http-auth]
enabled = true
port = http,https
logpath = /var/log/nginx/error.log
# تشغيل Fail2Ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
# التحقق من الحالة
sudo fail2ban-client status
sudo fail2ban-client status sshd
# عرض عناوين IP المحجوبة
sudo fail2ban-client status sshd | grep "Banned IP"
# رفع الحجب عن IP
sudo fail2ban-client set sshd unbanip 1.2.3.4
# سرد الخدمات قيد التشغيل
sudo systemctl list-units --type=service --state=running
# تعطيل الخدمات غير الضرورية
sudo systemctl disable --now avahi-daemon
sudo systemctl disable --now cups
sudo systemctl disable --now bluetooth
sudo systemctl disable --now rpcbind
# التحقق من المنافذ المفتوحة
sudo ss -tlnp
# البحث عن ملفات SUID/SGID
find / -perm /4000 -type f 2>/dev/null
find / -perm /2000 -type f 2>/dev/null
# البحث عن الملفات القابلة للكتابة من الجميع
find / -perm -0002 -type f 2>/dev/null
# جعل الملفات الحيوية غير قابلة للتغيير
sudo chattr +i /etc/passwd
sudo chattr +i /etc/shadow
sudo nano /etc/sysctl.d/99-security.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.log_martians = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.tcp_syncookies = 1
kernel.randomize_va_space = 2
kernel.dmesg_restrict = 1
kernel.kptr_restrict = 2
fs.suid_dumpable = 0
sudo sysctl -p /etc/sysctl.d/99-security.conf
tail -f /var/log/auth.log
tail -f /var/log/fail2ban.log
tail -f /var/log/ufw.log
# عدّ محاولات SSH الفاشلة
grep "Failed password" /var/log/auth.log | wc -l
# تثبيت Logwatch
sudo apt install logwatch -y
sudo logwatch --output stdout --format text --range today
# تدقيق أمني مع Lynis
sudo apt install lynis -y
sudo lynis audit system
# فحص rootkit مع rkhunter
sudo apt install rkhunter -y
sudo rkhunter --update
sudo rkhunter --check
يجب أن تكون درجة أمان Lynis 70+. شغّله بانتظام (شهرياً).
تصليب الخادم ليس مهمة تُنجز مرة واحدة بل عملية مستمرة. طبّق قائمة التحقق هذه عند إعداد خوادم جديدة وأجرِ عمليات تدقيق أمني منتظمة. ستُحسّن هذه الخطوات أمان خوادم REXE بشكل ملحوظ.
تغيير المنفذ الافتراضي 22 يقلل هجمات المسح الآلي (الأمان عبر الغموض). لكن للأمان الحقيقي، المصادقة بمفتاح SSH وFail2Ban أكثر فعالية. يمكن استخدام تغيير المنفذ كطبقة إضافية.
نعم، يستخدم Fail2Ban iptables افتراضياً لكنه يمكن أن يعمل مع UFW. اضبط 'banaction = ufw' في /etc/fail2ban/jail.local لجعل Fail2Ban ينشئ قواعد UFW.
أنشئ أولاً مستخدماً عادياً بصلاحيات sudo وأعدّ مفتاح SSH الخاص به. اختبر الاتصال بالمستخدم الجديد. ثم اضبط 'PermitRootLogin no' في /etc/ssh/sshd_config. اختبر من طرفية جديدة قبل قطع الاتصال.
تحديثات الأمان آمنة بشكل عام. اضبط unattended-upgrades لتحديثات الأمان فقط واضبط 'Automatic-Reboot false'. للأنظمة الحيوية، اختبر التحديثات في بيئة تجريبية أولاً.
يحتوي تقرير Lynis على اقتراحات للتحسين. ركّز على قسمَي 'Suggestion' و'Warning'. التحسينات الشائعة: معاملات النواة، إعداد PAM، أذونات الملفات وتعطيل الخدمات غير الضرورية.
دليل شامل للاتصال بخادم Linux VDS عبر SSH: PuTTY، الطرفية، المصادقة بالمفتاح، إنشاء قاعدة تصفية Path Panel، تغيير المنفذ ونصائح الأمان الأساسية.
دليل خطوة بخطوة للاتصال بـ Windows Server VDS عبر RDP: الإعداد الكامل، تفعيل NLA للأمان، إنشاء قاعدة تصفية Path Panel واستكشاف الأخطاء وإصلاحها.
تغيير نظام تشغيل خادم VDS عبر لوحة REXE: نصائح النسخ الاحتياطي قبل التثبيت، توزيعات Linux المدعومة وإصدارات Windows Server المتاحة للتثبيت الآن.