350 likes | 618 Views
مادة نظم تشغيل شبكية 2 المحاضرة الخامسة الاتصال عن بعد Remote Connection إعداد المهندس وسام المحمود. أولاً : مقدمة خدمات الإنترنت Internet Services. نعرف خدمات الإنترنت بأنها أي خدمة تقدمها شبكة تعتمد على البروتوكول TCP/IP
E N D
مادة نظم تشغيل شبكية 2 المحاضرة الخامسةالاتصال عن بعدRemote Connectionإعداد المهندس وسام المحمود
أولاً : مقدمة خدمات الإنترنتInternet Services • نعرف خدمات الإنترنت بأنها أي خدمة تقدمها شبكة تعتمد على البروتوكول TCP/IP • فعندما تكون الخدمات داخلية نطلق على الشبكة اسم Intranet وعندما تكون خارجية تسمى Internet • البروتوكولين TCP وIP هما بروتوكولين من مجموعة بروتوكولات تدعى بروتوكولات الإنترنت • تستخدم خدمات الإنترنت الشكل الآمن أو غير الآمن للبروتوكول TCP/IP وأشهر هذه الخدمات (البروتوكولات) • Telnet, FTP, SMTP, HTTP, ICMP, ARP, DNS, ssh, scp, sftp
جميع هذه الخدمات لا يمكنها أن تتغاضى الـ TCP/IP لأنه يؤمن لها بالتعاون مع نظام التشغيل بروتوكول ذو صيغة مستقلة • أي كمبيوتر (أياً كان نظام تشغيل الذي يستخدمه) يمكنه الاتصال مع أي كمبيوتر آخر في الشبكة باستخدام البروتوكولين TCP وIP معاً لتأسيس أو إصلاح الاتصال وتهيئة كيفية نقل المعلومات • تعتبر أنظمة لينوكس من أفضل الأنظمة التي تمكننا من استخدام الحواسيب بصورة جبارة
ثانياً : خدمات غير آمنةLess secure services
(TELNET) • استخدام telnet • telnet هو بروتوكول وبرنامج يمكننا من التحكم في جهاز ما عن بعد عبر الشبكة (هو برنامج متوفر في أي مكان على أي جهاز في الشبكة) لكن قد يكون معطلاً من قبل الجدار الناري • لعرض حالة جدار النار • Service iptables status • إيقاف تشغيل الـ Firewall نهائياً • Service iptables stop • ونستخدم التعليمة لتشغيله • Service iptables restart (or start)
باستخدام telnet يتم إرسال النص عبر الشبكة بشكل واضح بما فيه كلمات السر فهي خدمة غير آمنة • لاستخدام telnetافتح الـ Terminal واكتب • telnet 192.168.0.1 • أو أدخل Hostname بدلاً من الـ IP بشرط أن تضيف الاسم والعنوان إلى الملف Hosts • telnet hostname • سيطلب منك إدخال اسم المستخدم وكلمة السر • لذلك يجب أن يكون لديك حساب على الحاسب المطلوب
كيفية إضافة حساب • المعلومات المتعلقة بالمستخدم : • User name • UId : الأرقام من 0 حتى 499 محجوزة للجذر root ولتطبيقات النظاملذلك أول مستخدم جديد يأخذ الرقم 500 • GID : من 0 – 499 محجوز للنظام وتطبيقاتهأول مجموعة جديدة تأخذ الرقم 500 • Password كلمة السر • Home Directory مجلد المستخدم الرئيسي • Expire Date تاريخ انتهاء العمل بكلمة السر • الفترة الزمنية لتعديل كلمة السر MAX ,Min • الفترة الزمنية لإظهار رسالة تحذيرية قبل انتهاء العمل بكلمة السر • تاريخ انتهاء العمل بالحساب Expire Date Of account
استخدم الواجهة REdhat User Manager لإضافة مستخدم جديد • يمكن ضبط جميع إعدادات المستخدم أنفة الذكر باستخدام هذه الأداة
للتأكد من تشغيل الخدمة Telnet • اذهب وحرر الملف /etc/xinetd.d/telnet على الحاسب المراد التحكم به عن بعد وليس على الجهاز الذي أتحكم منه • تأكد من وضع القيمة NO بجانب الخانة Disable • للتأكد من صحة تعديل الملف اكتب chkconfig –list في النافذة Terminal فيعرض قائمة بالخدمات المتوفرة ويضع on بجنب المشغلة وOff بجنب المعطلة • أعد تشغيل الخدمة xinetd • Service xinetd restart
بارامتراتTelnet • المعامل (-l) • نستخدم هذا البارامتر مع التعليمة Telnet لوضع اسم الحساب المستخدم لدخول الجهاز • telnet hostname –l username • المعامل (-A) • نضع بعده الـ Hostname للحاسب المراد الدخول إليه • يمكن الاستغناء عنه • telnet hostname–l username • telnet –a hostname –l username
استخدمنا التعليمة telnet للدخول إلى الحاسب 10.0.0.1بواسطة الاسم serverواسم المستخدم serv • عندما استلمنا التحكم تغير سطر محرر الأوامر Terminal • حيث كان [root@RedHat root]#وهذا يعني أننا نعمل على Terminal محلي على جهاز محلي RedHat وقد سجل الدخول بالحساب root@RedHat وهو حساب محلي ومكان التنفيذ هو المجلد /root الخاص بالمستخدم root@RedHat • ثم انتقل التحكم إلى الجهاز البعيد • سطر محرر الأوامر أصبح [serv@RedHat serv]$
إن تطابق الاسمين RedHat على كلا الجهازين هو صدفة (أو بسبب أن المثال مطبق على برنامج vmware والجهازين الذين لنتقل التحكم من أحدهما إلى الآخر نسختان متطابقتان توفيراً للوقت) • اسم المستخدم البعيد هو serv • ومكان التنفيذ هو المجلد الخاص بالمستخدم serv ومساره الحقيقي هو /home/serv طبعاً على الحاسب البعيد • للخروج من التنفيذ telnet استخدم التعليمة exit
Rsh remote shell • تقنية غير مشفرة (غير آمنة) لتنفيذ تعليمات على حاسب بعيد • Rsh remotehost shellCommand • المعامل (-l) • نستخدم هذا البارامتر مع التعليمة rsh لوضع اسم الحساب المستخدم لدخول الجهاز • Rsh hostname –l username
للتأكد من تشغيل الخدمة rsh • اذهب وحرر الملف /etc/xinetd.d/RSH على الحاسب المراد التحكم به عن بعد وليس على الجهاز الذي أتحكم منه • تأكد من وضع القيمة NO بجانب الخانة Disable • للتأكد من صحة تعديل الملف اكتب chkconfig –list في النافذة Terminal فيعرض قائمة بالخدمات المتوفرة ويضع on بجنب المشغلة وOff بجنب المعطلة • أعد تشغيل الخدمة xinetd • Service xinetd restart
rlogin • Remote login program • يمكننا من الدخول إلى حاسب والتحكم به عن بعد عن طريق ربط Terminal خاصتي بالـ Terminal الخاصة بالحاسب البعيد • هو بروتوكول غير آمن • مشابهة تماماً لـtelnet لكنها تمكن من إنشاء علاقة موثوقة بين الأجهزة • rlogin hostname • rlogin hostname –l username
للتأكد من تشغيل الخدمة rlogin • اذهب وحرر الملف /etc/xinetd.d/Rlogin على الحاسب المراد التحكم به عن بعد وليس على الجهاز الذي أتحكم منه • تأكد من وضع القيمة NO بجانب الخانة Disable • للتأكد من صحة تعديل الملف اكتب chkconfig –list في النافذة Terminal فيعرض قائمة بالخدمات المتوفرة ويضع on بجنب المشغلة وOff بجنب المعطلة • أعد تشغيل الخدمة xinetd • Service xinetd restart
FTP • بروتوكول نقل الملفات • يعمل على المنفذين 20 و 21 • أستطيع باستخدام هذا البروتوكول نقل ملف أو مجموعة ملفات من حاسب بعيد إلى جهازي أو بالعكس نقل ملف أو مجموعة ملفات من جهازي إلى آخر بعيد • هذا البروتوكول غير آمن فهو لا يشفر البيانات • بإمكاننا استخدام البروتوكول SCP كبديل آمن
الخدمات الآمنةSecure Services • أشهر خدمات الإنترنت FTP أو Telnet تستخدم نصاً صريحاً لنقل المعلومات وقد تحوي المعلومات على كلمات سر هامة أو أية بيانات حساسات مما يمكن المتطفلين من سرقتها (نسخها) • نظراً للحاجة الماسة للإنترنت في تسهيل الكثير من أعمالنا كان لا بد من ابتكار بروتوكولات آمنة للحفاظ على سرية المعلومات المنقولة • هذه البروتوكولات تمكننا من التحقق من مستلم البيانات كذلك لديها القدرة على تشفير البيانات
Secure Shell - SSH • يستخدم كبديل عن Telnet (الاتصال عن بعد) • يقوم بتشفير البيانات باستخدام مفتاحين خاص وعام معتمداً على بروتوكولات تبادل المفاتيح • يكفي أن نكتب الأمر ssh [host-name] • يتم بعدها تبادل المفاتيح (تتم هذه العملية لمرة واحدة فقط) • وأصبح بالإمكان الوصول بشكل آمن إلى الجهاز المراد الاتصال به عن بعد وكأنك تستخدم telnet حيث يسألك عن كلمة السر وتظهر شاشة Terminal
مثال SSH • باستخدام SSH أصبح بإمكاننا تحرير الملفات والتعديل عليها وهذا ما لا يستطيع telnet فعله • في هذا المثال سوف نحاول الوصول إلى ملف t.txt موجود على الحاسب البعيد server • ثم نستدعي الإجراء gedit ونعدل على محتوى الملف عن بعد • طبعاً سأستخدم اسم حساب موجود على الحاسب البعيد وهو root • عندما يطلب كلمة سر ندخل كلمة السر الخاصة المستخدم root الموجود على الجهاز البعيد وليس على جهازنا
وصلت رسالة للمستخدم root لتخبره بوجود دخول بعيد • استخدم الأمر finger لعرض آخر دخول • نلاحظ تسجيل وقت الدخول ومن أي حاسب هنا اسمه Client
SCP • بروتوكول نقل الملفات الآمن • أستطيع باستخدام هذا البروتوكول نقل ملف من حاسب بعيد إلى جهازي أو بالعكس نقل ملف من جهازي إلى آخر بعيد • هذا البروتوكول آمن فهو لا يشفر البيانات • Scp user@host:path_on_remote_pc path_on_my_pc
مثال على SCP • لاحظ صيغة الأمر SCP متبوعة باسم مستخدم على الجهاز البعيد ثم (:) وبعدها مباشرة مسار الملف على الجهاز البعيد • ثم فراغ • ثم مسار المجلد لحفظ الملف على جهازي المحلي • ملاحظة : عند أول اتصال من نوع SCP يتم إنشاء زوج مفاتيح للتشفير ولا يظهران إلا عند أول اتصال
نقل كافة الملفات الموجودة ضمن مجلدبطريقة آمنة • Scp path/*.* destinationPath
برنامج sftp • Secure File Transfer Program • هو عبارة عن بروتوكول FTP لكنه يؤدي جميع وظائفه معتمداً على SSH • Sftp user@remotePC:[file or files path] [local path]
شكراً لحسن إصغائكم