شبهة تقنية: هل موقع الويب مع بروتوكول HTTPS امن؟
---------------------------------------------------
شبهة تقنية: هل موقع الويب مع بروتوكول HTTPS امن؟
سلام. هل الموقع اللي يستخدم https موقع آمن؟ نجاوب على السؤال هذا في المقطع. بداية، أي موقع هو عبارة عن صفحات اللي هي ملفات موجودة على السيرفر. فأنا عندي سيرفر، أنا عندي ويب سيرفر، هذا الويب سيرفر عليه ملفات اللي هي صفحات الموقع. الصفحة الأولى home page صفحة login page مثلا إذا كان Social media application مثلا خلنا نقول تويتر ولا انستجرام، login pageالصفحة اللي فيها البوست، هذه كلها عبارة عن ملفات اللي هي صفحات موجود على السيرفر أو الويب سيرفر.
تمام، خلنا نقول مثلا هذاInstagram.com ، الطرف الثاني هذا جهازي اللي هو PC، اللي أسويه أنا لما أدخل وأكتب Instagram.com يكون فيه تواصل بيني وبين الويب سيرفر. أنا أطلب صفحة Instagram.com هذا الملف، home page. أول شيء في البداية أنا أطلب home page. فأطلب من السيرفر اللي هو الويب سيرفر حق الإنستجرام هذه الصفحة ويرد بhome page، فأنا حملت هذه الصفحة على جهازي عن طريق browser وفتحت الصفحة. صارت الآن downloaded على جهازي، ظهرت عندي هذه ال home page. مين المسؤول عن عملية التواصل بين جهازي الuser، أنا والويب سيرفر؟ هو بروتوكول http (hypertext transfer protocol)، http هو browsing protocol هو المسؤول عن نقل صفحة من السيرفر إلى ال user ومن ال user إلى السيرفر.
خلينا نشرح، الhttp عنده methods، أشهرها خليني أتكلم عن get and post. get أنا لما أدخل على الPC وأكتب اسم الموقع، google.com مثلا، الhttp ينشأ باكيت اسمه get ويطلب صفحة google.com. فهذا الطلب، هذا الget request يروح إلى الويب سيرفر اللي هو جوجل دوت كوم سيرفر ويطلب هذه الصفحة. فيرد السيرفر، فأنا قاعد آخذ data، آخذ home page حق جوجل ويجيني إلى الPC، يرجع مرة ثانية عندي كuser. فhttp هو اللي جاب الصفحة، هو الوسيط م بيني وبين الويب سيرفر. method الثاني هي post. الpost غالبا يستخدم في الlogin page، يعني أنا أبغى أدخل على بنك مثلا ولا أدخل علىSocial media application، فأنا بعبي الusername والpassword. أنا بداية طلبت الصفحة عن طريق الget وجاتني الhome page الآن بدخل username والpassword. في هذه الحالة أنا ما آخذ data من السيرفر إلى جهازي، لا أنا برسل data إلى السيرفر، اللي هي username والpassword عشان السيرفر يعطيني الصلاحية إني أدخل يتأكد أولا هل المعلومات الصحيحة أو لا. فالhttp الآن يرسلrequest post إلى السيرفر والسيرفر يرد إذا كنت authenticated أو لا، هل أقدر أدخل أو لا. هذه بشكل بسيط عن الget والpost ومين المسؤول هو الhttp هو الوسيط بيني وبين السيرفر اللي هو عبارة عن ملفات اللي هي الصفحات. get أنا آخذ هذه الصفحة، post أنا عبيت بيانات في هذه الصفحة وأرسل الdata إلى الويب سيرفر. بكل بساطة هذا الbrowsing، هذا الإنترنت الweb pages كيف شغالة. فيه أكيد تفاصيل ولكن هذا بشكل مبسط.
هذه النقطة الأولى. طيب، أنا كذا عرفت وش معنى ويب سايت والويب سيرفير وكيف أنا آخذ الصفحة وكيف أعبي البيانات في الصفحة كلها عن طريق http protocol. جاء بعدين http. https وhttps، الفرق الhypertext transfer protocol، hypertext transfer protocol secure. http يأخذ الdata من السيرفر web page ويرسل البيانات عن طريق الpost، يعني لما أعبي username والpassword as clear text clear
clear text يعني الصفحة كما هي، غير مشفرة. فأنا لما أطلب من ال السيرفر جوجل دوت كوم ال home page، هذه الhome page يرسلها إلى جهازي غير مشفرة. في حال إنه صار فيه attacker في النص، هذا ال attacker اسمه Man-in-the-middle attack.
Man In the Middle يعني attack يصير بين الطرفين في third part خلينا نقول. لو أخذ هذه البيانات، قدر إنه يحصل على هذي الhome page جوجل دوت كوم، بيقدر يطلع عليها لأن البيانات غير مشفرة. هذا المثال، جوجل يعني مثال بسيط. طيب لو أدخل على بنك، لو أدخل على بنك والبنك رسل الhome page واللي فيه الlogin page أبغى أدخل على حسابي وأعبي username والpassword. فالhttp يرسل الpost وأنا معبي ال username والpassword وبتروح إلى الويب سيرفر. في هذه الحالة، لو كان فيه attacker وقدر يحصل على هذي الملفات أو هذا الملف الweb page وفيه الusername والpassword حقي غير مشفر يقدر يشوف وش البيانات ووش الusername ووش الpassword. فهذا الhttp يرسل البيانات من السيرفر إلى الجهاز إلى الuser من الend user إلى السيرفر غير مشفرة. في الطرف الثاني، الhttps، البيانات من الويب سيرفر إلى الend user ومن الend user إلى الويب سيرفر مشفرة، يعني أي أحد يأخذ هذه البيانات أثناء عملية نقل الداتا وقدر يحصل على البيانات، مشفرة ما بيقدر يقرأها ولا يقدر يعدل عليها ولا يقدر يسوي أي شيء لأن البيانات secure encrypted. فقط الend user و web server يقدروا يقرأوا هذي الملفات لأن هم اللي عندهم التشفير مفتاح التشفير ومفتاح فك التشفير.
ولكن أثناء نقل البيانات، الطرف الثالث ما يقدر يقرأها، هي مشفرة. فخلينا نقول الداتا تتشفر، تنتقل للطرف الثاني مشفرة، الطرف الثاني يفك التشفير ويقرأها. الطرف الثاني يبغى يرد، يشفر الداتا، يرسلها مشفرة، الطرف الأول يفك التشفير ويقرأها. فأثناء عملية نقل البيانات، الداتا، مشفرة الطرف الثالث ما يقدر يقرأ البيانات أو يعدل عليها.
هذا مثال على موقع يستخدم بروتوكول http، نلاحظ browser قاعد يعطينا تنبيه إنه ترى not secure. طبعا هذا الموقع شوف تحت
Warning: This is not a real shop. This is an example PHP application, which is intentionally vulnerable to web attacks.
هو الويب سايت لغرض تعليمي، يعني هم مخلينه http not secure عشان تهاجم الموقع وتتعلم يعني على الweb attack، يعني نفس هذا المقطع إن نشوف كيف البيانات قاعد تنتقل غير مشفرة. فلو أجرب، أنا ما عندي حساب، بس بجرب بحط username وpassword
وعن طريق wireshark أقرأ هذي البيانات. نشوف كيف نقدر نقرأها أو لا، فكأننا قاعدين نعمل Man-in-the-middle attack، نشوف هل نقدر نقرأ البيانات أو لا. كده شغلته wireshark نروح للusername، خليها مثلا MrAlshabib وأي باسوورد، login. طيب، أروح للwireshark، بروتوكول http، زين. ألاحظ إن عندي بوست، بوست زي ما قلت يعني أنا الend user قاعد أعطي data للسيرفر، فهذا اللي قاعد أبحث عنه. هذا هو، لو أروح للداتا، عندي ال Form item، uname اللي هو الusername MrAlshabib، هذا الkey وهذا الvalue والpassword والkey pass هذا الpassword اللي حطيته. فكده attacker قدر يعرف الusername والpassword، فنتخيل إني أنا قاعد أسوي الlogin على بنك مثلا ولا قاعد أعطي credit card information. إذا كان الموقع قاعد يستخدم http، كده البيانات تظهر، يقدر يأخذ كل المعلومات. على النقيض، MrAlshabib مثلا، هذا موقع القناة قاعد يستخدم البروتوكول الhttps. فأنا لو أدخل على الموقع، so we refresh، أروح إلى الwireshark. طبعا wireshark ما في شيء اسمه https ولكن بروتوكول التشفير اللي هوtls. tls يقول لك ترى فيه application data. طيب هل أقدر أقرأها؟ لا، Transport Layer Security هو اللي يشفر الdata، فأنا ما أعرف وش البيانات اللي راحت وش الصفحة اللي راحت أو وش الصفحة اللي جت من سيرفر إلى end user وما أقدر أقرأها ولا أقدر أعدل عليها لأنها مشفرة. فهذه البيانات مثلا اللي راحت أو اللي أخذتها من MrAlshabib من هذا الموقع. فالبيانات تماما مشفرة.
طيب، ختاما نجاوب على السؤال. هل الhttps أو الموقع اللي يستخدم الhttps آمن ؟ نعم، آمن، يحميك من طرف ثالث. ولكن هل صاحب الموقع نفسه أو الموقع نفسه آمن ولا ؟ لا، https ما يقدر يجاوب. يعني تخيل إنك قاعد تدخل موقع، هذا الموقع متجر، تعبي بياناتك credit card، https ينقل هذه الcredit card information مشفرة إلى الموقع ولكن الموقع نفسه بيقدر يقرأ المعلومات. في النهاية الموقع يفك التشفير، التشفير بس من طرف ثالث مو على الموقع نفسه. الhttps ما يقدر يجاوب إذا كان الموقع نفسه آمن ولا. سلام.
رأيك بالمحتوى؟
إذا استفدت من المقطع أتمنى تعمل لايك
// أجزاء المقطع //
Intro - 00:00
Browsing (HTTP) - 00:10
HTTP vs HTTPs - 04:13
MITM Attack (Packet Capture - Wireshark) - 07:33
Outro - 10:32
// حساباتي //
Website: https://www.mralshabib.com
Telegram: https://t.me/mralshabiib
// للدعم المادي //
// للأعمال //
mralshabib@gmail.com
--------------------------------------------------------------
Keywords
HTTP, Hypertext Transfer Protocol, Secure, Data Encryption, Web Security, SSL/TLS, Website Protection, Cybersecurity, HTTPS, Secure HTTP, SSL, TLS, Encryption, Data Security, Internet Security, Web Security, Secure Connection, Digital Certificates, Public Key Infrastructure, Cybersecurity, Network Security, Secure Sockets Layer, Transport Layer Security, HTTPS Tutorial, Understanding HTTPS, Learn HTTPS, HTTPS Explained, Browser Security, Website Security, Secure Browsing, Online Privacy, Secure Internet, HTTPS Protocol بروتوكول HTTPS, HTTP الآمن, SSL, TLS, التشفير, أمن البيانات, أمن الإنترنت, أمن الويب, الاتصال الآمن, الشهادات الرقمية, البنية التحتية للمفتاح العام, الأمن السيبراني, أمن الشبكة, طبقة المقابس الآمنة, أمان طبقة النقل, دروس HTTPS, فهم HTTPS, تعلم HTTPS, شرح HTTPS, أمن المتصفح, أمن الموقع, التصفح الآمن, الخصوصية على الإنترنت, الإنترنت الآمن, بروتوكول HTTPS
#ccna #networking