الانتقال إلى المحتوى الرئيسي

الخطوات التي يجب اتباعها

يمكن استخدام الخطوات التالية لتمكين SSL لخادم ClickHouse واحد باستخدام Let’s Encrypt، وهي جهة إصدار شهادات (CA) مجانية وآلية ومفتوحة، صُممت لتسهيل تأمين مواقع الويب باستخدام HTTPS على الجميع. ومن خلال أتمتة عملية إصدار الشهادات وتجديدها، تضمن Let’s Encrypt بقاء مواقع الويب آمنة من دون الحاجة إلى تدخل يدوي.
نفترض أن ClickHouse قد جرى تثبيته في مواقع الحزم القياسية في الدليل التالي. نستخدم النطاق product-test-server.clickhouse-dev.com في جميع الأمثلة. استبدل ذلك بنطاقك حسب الاقتضاء.
  1. تحقّق من وجود سجل DNS من النوع A أو AAAA يشير إلى خادمك. ويمكنك إجراء ذلك باستخدام أداة Linux ‏dig. على سبيل المثال، يكون الرد الخاص بـ product-test-server.clickhouse-dev.com عند استخدام خادم DNS الخاص بـ Cloudflare ‏1.1.1.1:

لاحظ القسم أدناه الذي يؤكد وجود سجل من النوع A.
  1. افتح المنفذ 80 على خادمك. سيُستخدم هذا المنفذ للتجديد التلقائي للشهادة باستخدام بروتوكول ACME مع certbot. في AWS، يمكن تنفيذ ذلك من خلال تعديل مجموعة الأمان المرتبطة بالمثيل.

  1. ثبّت certbot، على سبيل المثال باستخدام apt

  1. احصل على شهادة SSL

لا يوجد لدينا خادم ويب قيد التشغيل على خادمنا، لذا استخدم الخيار (1) للسماح لـ Certbot باستخدام خادم ويب مؤقت مستقل.
أدخل اسم النطاق الكامل لخادمك، مثل product-test-server.clickhouse-dev.com، عندما يُطلب منك ذلك.
لدى Let’s Encrypt سياسة بعدم إصدار شهادات لأنواع معيّنة من النطاقات، مثل النطاقات التي ينشئها موفرو السحابة العامة (على سبيل المثال، نطاقات AWS *.compute.amazonaws.com). وتُعد هذه النطاقات بنية تحتية مشتركة، لذلك تُحظر لأسباب تتعلق بالأمان ومنع إساءة الاستخدام.
  1. انسخ الشهادات إلى دليل ClickHouse.

يُنشئ هذا الأمر مهمة cron لأتمتة إدارة شهادات SSL من Let’s Encrypt لخادم ClickHouse. وتعمل كل دقيقة بصلاحيات المستخدم root، إذ تنسخ ملفات ‎.pem من دليل Let’s Encrypt إلى دليل تهيئة خادم ClickHouse، ولكن فقط إذا كانت هذه الملفات قد حُدِّثت. وبعد النسخ، يضبط البرنامج النصي ملكية الملفات لتكون للمستخدم والمجموعة clickhouse، بما يضمن امتلاك الخادم صلاحية الوصول المطلوبة. كما يضبط أذونات قراءة فقط آمنة (chmod 400) على الملفات المنسوخة للحفاظ على مستوى صارم من أمان الملفات. ويضمن ذلك أن خادم ClickHouse يتمكن دائمًا من الوصول إلى أحدث شهادات SSL دون الحاجة إلى تدخل يدوي، مع الحفاظ على الأمان وتقليل العبء التشغيلي.
  1. اضبط استخدام هذه الشهادات في clickhouse-server.

  1. أعد تشغيل خادم ClickHouse

  1. تحقّق من أن ClickHouse يمكنه الاتصال عبر SSL

لكي تنجح هذه الخطوة الأخيرة، قد تحتاج إلى التأكد من أن المنفذ 8443 متاح للوصول، مثلًا بإضافته إلى مجموعة الأمان الخاصة بك في AWS. أو، إذا كنت تريد الوصول إلى ClickHouse من الخادم فقط، فعدّل ملف hosts، أي:
إذا فتحت اتصالات من عناوين wildcard، فتأكد من تطبيق واحد على الأقل من الإجراءات التالية:
  • أن يكون الخادم محميًا بجدار حماية وغير متاح من الشبكات غير الموثوقة؛
  • أن يكون جميع المستخدمين مقيّدين بمجموعة فرعية من عناوين الشبكة (راجع users.xml)؛
  • أن تكون لدى جميع المستخدمين كلمات مرور قوية، وألا تكون متاحة إلا الواجهات الآمنة (TLS)، أو ألا تُجرى الاتصالات إلا عبر واجهات TLS.
  • أن يكون لدى المستخدمين الذين لا يملكون كلمات مرور وصول للقراءة فقط.
انظر أيضًا: https://www.shodan.io/search?query=clickhouseيمكن استخدام المدوّنة Building single page applications with ClickHouse كدليل لتأمين المثيلات العامة.
يجب أن يعمل ما يلي أيضًا عند الاتصال من الجهاز المحلي الذي يعمل عليه ClickHouse. للاتصال عبر product-test-server.clickhouse-dev.com، افتح المنفذ 9440 في:
آخر تعديل في ٢ يوليو ٢٠٢٦