كيفية استخدام HTTPS على خادم ويب لينكس

المتطلبات الأساسية

  • خادم Vultr يعمل حتى الآن Arch Linux (انظر هذه المقالة ).
  • خادم ويب قيد التشغيل ، إما Apache أو Nginx
  • وصول سودو
    • الأوامر المطلوب تشغيلها كجذر مسبوقة بـ #، والأوامر التي يمكن تشغيلها كمستخدم عادي من قبل $. الطريقة الموصى بها لتشغيل الأوامر كجذر هي ، كمستخدم عادي ، بادئة كل واحد منهم sudo.
  • قم بتثبيت محرر نصوص ، وكن على دراية به ، مثل vi أو vim أو nano أو emacs أو محرر آخر مشابه.

خدمة آمنة عبر HTTPS

يمكن أن يستخدم عرض المحتوى عبر HTTPS تشفيرًا قويًا للغاية ، لذلك لا يمكن لأي شخص اعتراض حركة المرور بين المستخدم وخادم الويب قراءته. فهو لا يشفر فقط حركة المرور نفسها ، ولكن أيضًا عنوان URL الذي يتم الوصول إليه ، والذي يمكن أن يكشف المعلومات. لبعض الوقت ، كانت Google تحدد جزئيًا ترتيب البحث بناءً على ما إذا كانت الصفحة تستخدم HTTPS ، كجزء من مبادرة HTTPS Everywhere.

ملاحظة : يكشف بحث DNS عن اسم المجال الذي يتم الاتصال به ، ولكن لا يتم عرض عنوان URL بالكامل أثناء هذه العملية.

الحصول على شهادة SSL / TLS

من الناحية الفنية ، استبدل TLS SSL بشهادات HTTPS ، ولكن ، استمرت معظم الأماكن ببساطة في استدعاء شهادات TLS بالمصطلح الأكثر شيوعًا لشهادات SSL. بعد الاستخدام الشائع ، سيفعل هذا الدليل الشيء نفسه.

لاستخدام HTTPS ، يحتاج خادم الويب الخاص بك إلى مفتاح خاص ( .key) لاستخدامه بشكل خاص ، وشهادة ( .crt) للمشاركة بشكل عام تتضمن مفتاحًا عامًا. يجب توقيع الشهادة. يمكنك التوقيع عليه بنفسك ، ولكن ستشكو المتصفحات الحديثة من أنها لا تتعرف على الموقع. على سبيل المثال، يظهر Chrome: Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. إذا كانت مجموعة خاصة من الأشخاص فقط ستستخدم موقع الويب ، فقد يكون هذا مقبولًا ، لأن المتصفحات ستتيح طريقة للمتابعة. على سبيل المثال ، في Chrome ، انقر على "متقدم" ، ثم "متابعة إلى ... (غير آمن)" ؛ سيظل يعرض "غير آمن" ويشطب "https".

لاحظ أن هذه العملية ستطلب منك البلد ، والولاية / العناية الإلهية ، والمنطقة المحلية ، والمنظمة ، والوحدة التنظيمية ، والأسماء الشائعة ، وعنوان بريدك الإلكتروني ؛ كل ذلك متاح في متصفح أي شخص يتصل بموقعك عبر HTTPS.

لاحظ أيضًا أنه إذا كنت تمنح شهادات المضيفين الظاهريين ، فستحتاج إلى إعطاء أسماء ملفات مميزة أدناه ، والإشارة إليها في تكوينات المضيف الظاهري.

التغيير إلى الدليل المناسب لخادم الويب الخاص بك.

إذا قمت بتثبيت Apache:

$ cd /etc/httpd/conf

إذا قمت بتثبيت Nginx:

$ cd /etc/nginx

بمجرد الوصول إلى الدليل المناسب ، قم بإنشاء مفتاح خاص ( server.key) وشهادة موقعة ذاتيًا ( server.crt):

# openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt -days 825

قم بتعيين أذونات للقراءة فقط ، واسمح فقط بقراءة المفتاح الخاص حسب الجذر:

# chmod 400 server.key
# chmod 444 server.crt

بدلاً من ذلك ، يمكنك الحصول على شهادة موقعة من مرجع مصدق موثوق به. يمكنك الدفع للشركات المختلفة (المراجع المصدقة) لتوقيع شهادتك لك. عند التفكير في المراجع المصدقة ، قد يكون من المهم البحث في المتصفحات والإصدارات التي ستتعرف عليها. قد لا يتم التعرف على بعض المراجع المصدقة الأحدث على أنها رسمية أكثر من الشهادة الموقعة ذاتيًا في إصدارات المتصفح القديمة.

لا تحتاج عادةً إلى عنوان IP عام فحسب ، بل تحتاج أيضًا إلى اسم مجال. يمكن لبعض المراجع المصدقة إصدار شهادة إلى عنوان IP عام ، ولكن نادرًا ما يتم ذلك.

يقدم العديد من مقدمي الخدمة إصدارًا تجريبيًا مجانيًا لمدة 30 يومًا ، والذي يوصى بالبدء به حتى تتمكن من التأكد من أن العملية تناسبك قبل أن تدفع مقابلها. يمكن أن تختلف الأسعار من بضعة دولارات في السنة إلى المئات ، اعتمادًا على نوعها وخيارات مثل المجالات المتعددة أو المجالات الفرعية. ستشير الشهادة القياسية فقط إلى أن سلطة التوقيع قد تحققت من أن الشخص الحاصل على الشهادة يمكنه إجراء تغييرات على المجال. ستشير شهادة التحقق الممتد أيضًا إلى أن سلطة التوقيع قامت ببعض العناية الواجبة في فحص الطالب وستعرض ، في المتصفحات الحديثة ، شريطًا أخضر في عنوان URL أو بالقرب منه. عند التحقق من أنه يمكنك إجراء تغييرات على المجال ، ستطلب منك بعض سلطات التوقيع تلقي بريد إلكتروني على عنوان صوت مهم في اسم المجال ، مثل[email protected]. يقدم الكثير التحقق البديل ، مثل منحك ملفًا لوضعه على الخادم الخاص بك ، مثل وضع ملفهم في /srv/http/.well-known/pki-validation/Apache أو /usr/share/nginx/html/.well-known/pki-validation/لـ Nginx ، لتكوينات دليل الاستضافة الفردية ؛ أو إنشاء إدخال CNAME مؤقتًا يقدمونه لك في سجلات DNS الخاصة بنطاقك.

قد تكون لسلطة التوقيع التي تختارها خطوات مختلفة قليلاً ، لكن معظمها سيقبل الإجراء التالي:

في الدليل المناسب ، أنشئ مفتاحًا خاصًا ( server.key):

# openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out server.key

قم بتعيين المفتاح الخاص للقراءة فقط ، فقط من خلال الجذر:

# chmod 400 server.key

إنشاء طلب توقيع شهادة ( server.csr). يجب عليك وضع اسم المجال الخاص بك عندما يطلب منك Common Name، ويمكنك ترك كلمة مرور التحدي فارغة:

# openssl req -new -sha256 -key server.key -out server.csr

قم بتعيين طلب توقيع الشهادة للقراءة فقط ، من خلال الجذر فقط:

# chmod 400 server.csr

عرض محتويات طلب توقيع الشهادة. هذه المعلومات هي ترميز base64 ، لذلك ستبدو وكأنها أحرف عشوائية:

# cat server.csr
-----BEGIN CERTIFICATE REQUEST-----
.....
-----END CERTIFICATE REQUEST-----

انتقل من خلال عملية سلطة التوقيع ، وعندما يُطلب لصقها في CSR ، انسخ هذا الملف بالكامل والصقه بما في ذلك -----الأسطر. اعتمادًا على سلطة التوقيع التي اخترتها ونوع الشهادة ، قد يمنحك على الفور الشهادة الموقعة ، أو قد يستغرق الأمر عدة أيام. مرة واحدة أنها تعطيك شهادة موقعة بنسخه (بما في ذلك -----BEGIN CERTIFICATE-----و -----END CERTIFICATE-----خطوط) في ملف مسمى server.crt، في الدليل المناسب، المذكورة أعلاه لخادم الويب الخاص بك، وتعيينها للقراءة فقط:

# chmod 444 server.crt

تكوين خادم الويب الخاص بك لاستخدام المفتاح الخاص والشهادة

إذا كنت تستخدم جدار حماية ، فستحتاج إلى تمكين حركة مرور TCP الواردة إلى المنفذ 443.

لأباتشي

قم بتحرير /etc/httpd/conf/httpd.confوإلغاء تعليق هذه السطور:

LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf

لاحظ إذا كنت تستخدم مضيفين افتراضيين ، فإن إجراء التغيير أعلاه /etc/httpd/conf/httpd.confسيستخدم نفس الشهادة على جميع المضيفين. لمنح كل مضيف شهادته الخاصة لتجنب المتصفحات التي تشتكي من أن الشهادة لا تتطابق مع اسم المجال ، تحتاج إلى تحرير كل من ملفات التكوين الخاصة بهم /etc/httpd/conf/vhosts/للإشارة إلى شهادته ومفتاحه الخاص:

  • التغيير <VirtualHost *:80>إلى <VirtualHost *:80 *:443>.
  • ضمن VirtualHostالقسم ، أضف ما يلي:

    SSLEngine on
    SSLCertificateFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.key"
    

أعد تشغيل Apache:

# systemctl restart httpd

لـ Nginx

قم بتحرير /etc/nginx/nginx.confوقرب الجزء السفلي ، قم بإلغاء تعليق HTTPS serverالقسم وقم بتغيير الأسطر إلى ما يلي:

ssl_certificate      server.crt;
ssl_certificate_key  server.key;
root                /usr/share/nginx/html;

لاحظ إذا كنت تستخدم مضيفين افتراضيين ، /etc/nginx/nginx.confسيؤدي إجراء التغيير أعلاه إلى إرسال جميع المضيفين إلى هذا الموقع. لمنح كل مضيف شهادته الخاصة ، تحتاج إلى تحرير كل من ملفات التكوين الخاصة /etc/nginx/sites-enabled/به للحصول على كتلة خادم إضافية للإشارة إلى شهادته ومفتاحه الخاص:

server {
    listen 443 ssl;
    server_name YOUR-DOMAIN-NAME.com;

    ssl_certificate      YOUR-DOMAIN-NAME.com.crt;
    ssl_certificate_key  YOUR-DOMAIN-NAME.com.key;

    ssl_session_cache   shared:SSL:1m;
    ssl_session_timeout 5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root /usr/share/nginx/YOUR-DOMAIN-NAME.com;
        index  index.html index.htm;
    }
}

إعادة تشغيل Nginx:

# systemctl restart nginx


Leave a Comment

قم بإعداد خادم Counter-Strike: Global Offensive (CSGO) على Arch Linux

قم بإعداد خادم Counter-Strike: Global Offensive (CSGO) على Arch Linux

يوضح هذا البرنامج التعليمي كيفية إعداد Counter-Strike: Global Offensive server على Arch Linux. يفترض هذا البرنامج التعليمي أنك قمت بتسجيل الدخول باستخدام قياسي

قم بإعداد خادم Mumble على Arch Linux

قم بإعداد خادم Mumble على Arch Linux

يوضح هذا البرنامج التعليمي كيفية إعداد خادم Mumble (Murmur) على Arch Linux. يتم عمل كل شيء في هذا البرنامج التعليمي كمستخدم أساسي. التثبيت

باستخدام Makepkg على Arch Linux

باستخدام Makepkg على Arch Linux

إذا كنت تستخدم makepkg مباشرة ، فإنها تلوث نظامك إلى حد ما. يجب تثبيت مجموعة الحزم الأساسية. بهذه الطريقة ، بشكل افتراضي ، التبعيات المطلوبة فقط

كيفية تثبيت Python 3.7 على خادم ويب لينكس القوس

كيفية تثبيت Python 3.7 على خادم ويب لينكس القوس

المتطلبات الأساسية خادم Vultr يعمل حتى الآن Arch Linux (راجع هذه المقالة). خادم ويب قيد التشغيل ، إما وصول Apache أو Nginx Sudo: تتطلب الأوامر

كيفية تثبيت MariaDB 10.3 أو MySQL 8.0 على Arch Linux

كيفية تثبيت MariaDB 10.3 أو MySQL 8.0 على Arch Linux

المتطلبات الأساسية خادم Vultr يعمل حتى تاريخ Arch Linux (راجع هذه المقالة). الوصول إلى Sudo: الأوامر المطلوبة ليتم تشغيلها كجذر مسبوقة بـ # ، وواحد

باستخدام Devtools على Arch Linux

باستخدام Devtools على Arch Linux

تم إنشاء حزمة Devtools في الأصل للمستخدمين الموثوق بهم لإنشاء حزم للمستودعات الرسمية بشكل صحيح. ومع ذلك ، يمكن استخدامه من قبل المستخدم العادي

بناء الحزم على Arch Linux (بما في ذلك AUR)

بناء الحزم على Arch Linux (بما في ذلك AUR)

في Arch Linux ، المستودعات الرسمية هي: الأساسية ، الإضافية والمجتمع. يتم تجميع هذه الحزم بالفعل ، ويتم تثبيتها من خلال pacman. ل

قم بإعداد خادم Team Fortress 2 على Arch Linux

قم بإعداد خادم Team Fortress 2 على Arch Linux

يوضح هذا البرنامج التعليمي كيفية إعداد خادم Team Fortress 2 على Arch Linux. أفترض أنك قمت بتسجيل الدخول باستخدام حساب مستخدم غير جذري لديه وصول sudo

كيفية تثبيت MongoDB 4.0 على Arch Linux

كيفية تثبيت MongoDB 4.0 على Arch Linux

المتطلبات الأساسية خادم Vultr يعمل حتى تاريخ Arch Linux (راجع هذه المقالة) وصول Sudo: الأوامر المطلوبة ليتم تشغيلها كجذر مسبوقة بـ # ، وواحد

قم بإعداد Spigot Server على Arch Linux

قم بإعداد Spigot Server على Arch Linux

يوضح هذا البرنامج التعليمي كيفية إعداد خادم Minecraft باستخدام Spigot على Arch Linux. يفترض هذا البرنامج التعليمي أنك مستخدم عادي (وليس الجذر) ولديك

كيفية تثبيت بيرل 5.28 على خادم ويب لينكس

كيفية تثبيت بيرل 5.28 على خادم ويب لينكس

المتطلبات الأساسية خادم Vultr يعمل حتى الآن Arch Linux (راجع هذه المقالة). خادم ويب قيد التشغيل ، إما وصول Apache أو Nginx Sudo: تتطلب الأوامر

كيفية تثبيت Apache 2.4 على Arch Linux

كيفية تثبيت Apache 2.4 على Arch Linux

المتطلبات الأساسية خادم Vultr يعمل حتى تاريخ Arch Linux. انظر هذا الدليل لمزيد من المعلومات. وصول سودو. الأوامر المطلوب تشغيلها كجذر ar

تثبيت Arch Linux على خادم Vultr

تثبيت Arch Linux على خادم Vultr

يوفر لك Vultr الوظائف الرائعة التي تتيح لك استخدام صورتك المخصصة بالإضافة إلى قوالبها الممتازة ، والتي تمكنك من تشغيل

قم بتثبيت Arch Linux مع لقطة Btrfs

قم بتثبيت Arch Linux مع لقطة Btrfs

Preface Arch Linux هو توزيع للأغراض العامة معروف بتقنيته المتطورة وتكوينه المرن. مع لقطات Btrfs ، يمكننا التقاطها

كيفية تثبيت PHP 7.3 على خادم ويب Arch Linux

كيفية تثبيت PHP 7.3 على خادم ويب Arch Linux

المتطلبات الأساسية خادم Vultr يعمل حتى الآن Arch Linux (راجع هذه المقالة.) خادم ويب قيد التشغيل ، إما وصول Apache أو Nginx Sudo. تتطلب الأوامر

تثبيت 2019 Arch Linux على خادم Vultr

تثبيت 2019 Arch Linux على خادم Vultr

مقدمة لدى شركة Arch Linux عدد أقل من التوزيعات ، ولكن لا يزال قوياً ، من التوزيعات الأكثر شعبية. فلسفتها مختلفة تماما ، مع مزايا و

كيفية تثبيت PostgreSQL 11.1 على قوس لينكس

كيفية تثبيت PostgreSQL 11.1 على قوس لينكس

المتطلبات الأساسية خادم Vultr يعمل حتى تاريخ Arch Linux (راجع هذه المقالة.) الوصول إلى Sudo. الأوامر المطلوبة للتشغيل كجذر مسبوقة بـ # ، وواحدة

كيفية تثبيت Nginx 1.14 على قوس لينكس

كيفية تثبيت Nginx 1.14 على قوس لينكس

المتطلبات الأساسية خادم Vultr يعمل حتى تاريخ Arch Linux (راجع هذه المقالة.) الوصول إلى Sudo. الأوامر المطلوب تشغيلها كجذر مسبوقة بـ #. العاشر

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

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

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد