المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : كيفية غلق حساب الروت - تغيير بورت SSH - تفعيل تشفير SSH login



elnow
12-05-2012, 17:00
https://elnow.net/blog/wp-content/elnpuploads/2012/05/hack-protection.png


وانا بدور فى ملفات اللوج فايل لقيت واحد بيحاول يخترق السيرفر بتاعى عن طريق يوزر الروت من الايبى دى 117.239.65.166
India - Anna University of Technology Chennai.

https://elnow.net/blog/wp-content/elnpuploads/2012/05/secure.png

تعالوا نعرف ازاى نحمى السيرفر بتاعنا ازاى بثلاث طرق :


كيفية غلق حساب الروت - تغيير بورت SSH - تفعيل تشفير SSH login

الطريقة الأولى: غلق Root Login بمعنى تخش على السيرفر من اى حساب وبعدين تحول للروت لكن تخش من الروت مباشرة غلط

1- قم باضافة مستخدم جديد وليكن اسمه baby
تأكد من انشاء اليوزر باستخدام id user-name

Code:



root@server02 mohamed]# adduser baby
[root@server02 mohamed]# id baby
uid=503(baby) gid=505(baby) groups=505(baby)
[root@server02 mohamed]# ls -lad /home/baby/
drwx------. 4 baby baby 4096 May 10 14:22 /home/baby/







2- أنشأ باسور للمستخدم الجديد باستخدام الامر passwd user-name
Code:



root@server02 mohamed]# passwd baby
Changing password for user baby.
New password:
BAD PASSWORD: it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.





3- قم باستخدام اليوزر الجديد وشوف هل حيقدر يخش على السيرفر ولا لأ

ملحوظة مهمة:
لو أنت بتستخدم لوحة التحكم CPANEL+WHM يبقى لاذم اليوزر الى الجروب wheel
Code:



root@server02 mohamed]# usermod -G wheel baby
root@server02 mohamed]# id baby
uid=503(baby) gid=505(baby) groups=505(baby),10(wheel)
[root@server02 mohamed]#






Code:



baby@server02 ~]$ ssh baby@elnow.netAre you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'server02' (RSA) to the list of known hosts.
baby@server02's password:
Last login: Thu May 10 14:27:47 2012 from localhost
[baby@server02 ~]$






4- دلوقتى تقدر تحول لمستخدم الروت بعد ما تخش بالمستخدم الجديد





[baby@server02 ~]$ su
Password:
[root@server02 baby]# whoami
root






5- قم بتحرير ملف /etc/ssh/sshd_config/


Code:



root@server02 baby]# nano /etc/ssh/sshd_config





قم باذالة التعليق # وتغيير YES الى NO

"PermitRootLogin no"
https://elnow.net/blog/wp-content/elnpuploads/2012/05/ssh.png


6- قبل ما تعمل اعادة تشغيل لخدمة ال SSH - ادخل على السيرفر من اى تيرمنل تانيه عشان لو حصل اى خطأ يبقى متقفلش على نفسك.
وفى الحالة دى لاذم تكلم الدعم الفنى فى الداتا سنتر عشان يحللك المشكلة





root@server02 baby]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
[root@server02 baby]#





مبـــروك تمت العمليه بنجاح ودلوقتى محدش يقدر يخش على مستخدم الروت مباشر ولاذم يعدى الأول على المستخدم اللى انت انشأته الأول
تعالا نصعبها على الاطفال اللى بحاولوا يخربوا ونعملهم SSH Keys

الطريقة التانيه: Using SSH Keys
كلنا عارفين ان اى حد بيدير السيرفر عن بعد باستخدام SSH تعالى نفعل الاتصال بينك وبين السيرفر عن طريق
authentication via asymmetric cryptography 1- انشاء مفتاحين Public-Private keypair باستخدام ssh-keygen او ما يسمى ب ssh key generator
- حيسألك أنت عايذ تحفظ المفتاحين دول فين اديله المسار الافتراضى الى حيقترحه عليك root/.ssh/id_rsa/ اويمكن انك تغير المسار زى ما تحب.
- حيسألك عن رقم للمفتاح اللى حيتم بيه التشفير ,, حط اى رقم وكل ما كان الرقم معقد كل ما كان أفضل.
Code:



[root@server02 baby]# ssh-keygenGenerating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
e8:49:3e:5f:55:e7:b7:46:ca:b3:b5:1f:09:5d:fb:fa root@server02
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| . o|
| . ..oo|
| o S .. +o|
| + . .. + =|
| = . + *.|
| o . =.o|
| . ..oE|
+-----------------+
[root@server02 baby]#






2- حنرفع المفتاح اللى تم أنشائه من الجهاز المحلى اللى بتتصل منه الى السيرفر اون لاين install the Public key بأستخدام الامر ssh-copy-id

Code:



root@server02 baby]# ssh-copy-id -i /root/.ssh/id_rsa baby@servername.com
Now try logging into the machine, with "ssh 'baby@00.00.00.0 .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[root@server02 baby]#




- قم بتغيير baby@servername.com الى اسم السيرفر الخاص بك

تمت العملية بنجاح من الأن كل مرة حتدخل على السيرفر بتاعك حيسألك عن:

1- رقم المفتح اللى انت أنشأته
2- اسم المستخدم الجديد اللى انت عملته
3- يمكنك التغيير لمستخدم الروت لو حبيت بعد الخطوتين السابقتين.

الطريقة الثالثة: تغيير رقم البورت Change SSH Port number:
اى حد حيحاول يستخدم ال SSH الخاص بيك حيستخدم البورت الافتراضى 22 , افضل طريقة لحماية الSSH هى انك تغير رقم البورت لرقم محدش يعرفه غيرك انت واللى حيحاول يبقى عليه يدور على رقم البورت والله يكون فى عونه عشان يلاقيه من بين آلاف الارقام

1- قبل ما تغير وتقرر ايه رقم البورت تعالا نعرف هل البورت دى مستخدم ولا لأ عن طريق عرض جميع البورتات المستخدمه واخراج البورت 2012 على سبيل المثال او 20123 زى ما تحب
Code:



root@server02 mohamed]# netstat -nap | grep 2012
[root@server02 mohamed]#





لو مفيش نتيجة ظهرت يبقى تمام البورت مش مستخدم ولو ظهرتلك نتيجه شوف رقم غيره.

2- قبل ما تغير البورت من ملف الكونفجريشن لاذم الاول تسمح للبورت دى من الفايروول وكل سيرفر على حسب الفايروول اللى بيستخدمه , يعنى لو بتسخدم WHM حتلاقى الفايروول بتاعم اسمه CSF firwall
الصورة دى من ريدهات لينوكس
https://elnow.net/blog/wp-content/elnpuploads/2012/05/firewall.png

3- قم بتحرير ملف /etc/ssh/sshd_config واضافة رقم البورت الجديد
Code:


root@server02 mohamed]# nano /etc/ssh/sshd_config



https://elnow.net/blog/wp-content/elnpuploads/2012/05/ssh-port.png

4- اعادة تشغيل خدمة SSHD
Code:



root@server02 mohamed]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
[root@server02 mohamed]#





5- من الآن كل مرة حتخش على SSH حتستخدم الاوبشن بى وتضيف رقم البورت الخص بيك, واى محاولة من استخدام الSSH بدون رقم البورت السيرفر حيقله انا أسف الاتصال من البورت 22 مرفوض
Code:



baby@server02 ~]$ ssh baby@localhost -p 2012
baby@localhost's password:
Last login: Thu May 10 18:53:37 2012 from localhost
[baby@server02 ~]$




دلوقتى اللى عايز يهاك الروت يوزر بتاعم :
1- لاذم يعرف اسم المستخدم اللى انت بتخش منه.
2- بعدين يخترق المستخدم دى
3- قبل كده يفك تشفير اللى أنت عملته asymmetric
4- يدور على رقم البورت من 50 الى 6000 مثلا

حاول من وقت لآخر انك تتفحص ملفت اللوج فايل
===============================
# /etc/rsyslog. conf =======> الملف الخاص بتحديد اماكن اللوج فايل لكل سيرفس
1. /var/log/secure ========>خاص بمحاولات الاتصال
2. /var/log/maillog =======>اى شىء خاص بالايملات
3. /var/log/cron =========> اى شىء خاص بالكرون
4./var/log/messages ======> كل رسائل المعلومات لكل الخدمات
5-/var/log/spooler =======> رسائل الاخطاء والرسائل الحرجة
6-/var/log/boot.log =======>رسائل البوت المحلية



المرجع:
RHCSA - RH200 Rapid Track Course (https://www.redhat.com/training/courses/rh200/)

https://elnow.net/blog/linux/how-to-protect-your-server-from-hackers/

اتمنى أن يكون الدرس فيه أفادة للجميع

kingmy
12-05-2012, 23:34
فكرة رائعة جزاك الله خيرا اخي

abdilra7eem
15-05-2012, 22:34
أول ما قرأت العنوان فكرت طلب مساعدة، ددخلت أساعد لقيته شرح! :/
ابقى حط في العنوان كلمة شرح!