تسجيل الدخول كـ root عادة لا تتقادم بشكل جيد. حتى لو كنت المشغل الوحيد، وضع حساب غير root بينك وبين النظام يجعل سجلات التدقيق صادقة ويمنع غلطة بسيطة من حذف /etc. هذا الدليل ينشئ حساب مشغل على Debian، يمنحه sudo، ويغلق النظام بحيث لا يمكن لـ root الدخول عبر SSH مباشرة.
المتطلبات المسبقة
- خادم Debian 12 جديد لديك فيه بيانات root فقط.
- مفتاح SSH عام (Ed25519) على محطة عملك.
- جلسة SSH ثانية مفتوحة حتى لا تُقفل خارج النظام.
الخطوة 1: إنشاء المستخدم
sudo adduser ops
adduser (مقابل useradd) هو الغلاف الودود لـ Debian الذي ينشئ أيضًا مجلد المنزل والـ shell.
الخطوة 2: منح sudo
sudo apt install -y sudo
sudo usermod -aG sudo ops
id ops
يجب أن يتضمن id الآن sudo في قائمة المجموعات.
لـ sudo بدون كلمة مرور:
echo 'ops ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/90-ops
sudo chmod 0440 /etc/sudoers.d/90-ops
sudo visudo -c
الخطوة 3: ادفع مفتاح SSH
من محطة عملك:
ssh-copy-id ops@debian-host.example.sa
اختبر:
ssh -o PasswordAuthentication=no ops@debian-host.example.sa whoami
الخطوة 4: عطّل SSH لـ root وكلمات المرور
/etc/ssh/sshd_config.d/99-skyline.conf:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
sudo sshd -t && sudo systemctl reload ssh
لا تتجاوز sshd -t أبدًا — خطأ في الصياغة عند reload يقفل تسجيلات الدخول الجديدة.
الخطوة 5: تأكد من sudo
sudo -v
sudo whoami
sudo -l
التحقق
last -i | head
sudo grep -E 'COMMAND' /var/log/auth.log | tail
getent passwd ops
الخاتمة
مشغل غير root مع sudo و SSH عبر مفتاح وتعطيل تسجيل دخول root هو الحد الأدنى لأي مضيف Debian معرّض للإنترنت.
الخطوات التالية
- فعّل التحديثات الأمنية التلقائية.
- طبّق جدار الحماية UFW.
- جدول مهام الصيانة بـ cron.
Comments
0 total · 0 threads