يتلخص أمان مفاتيح API في أربع عادات: امنح كل مفتاح أصغر مجموعة صلاحيات يحتاج إليها، واحفظه في مخزن أسرار مناسب، ودوّره دون توقف، وأعدّ خطة جاهزة ليوم يتسرّب فيه أحدها. فالمفتاح المسرّب للإرسال يتيح لأي شخص مراسلة الناس باسمك، لذا فهو يعرّض سمعتك كمرسل للخطر إلى جانب بياناتك.
تحقق من أسماء الصلاحيات في حسابك. أسماء الصلاحيات في هذا الدليل أمثلة على النمط. استخدم الخيارات التي يوفرها حساب MigoSMTP لديك فعلًا، واختر الأضيق منها الذي يفي بالغرض.
لماذا تتسرب المفاتيح
| طريقة التسريب | مثال | الوقاية |
|---|---|---|
| رفعها إلى مستودع | يُدفع ملف إعدادات فيه مفتاح إلى مستودع عام أو مشترك | استخدم متغيرات البيئة وملفات التجاهل وفحص الأسرار |
| شحنها إلى جهة العميل | مفتاح داخل JavaScript أو تطبيق جوال | استدعِ خادمك أنت بدلًا من ذلك |
| مشاركتها في المحادثات أو التذاكر | مفتاح ملصوق في سلسلة دعم | شارك عبر مدير أسرار ودوّر المفتاح إذا انكشف |
| بقاؤها على حساب شخص مغادر | متعاقد سابق ما زال يحمل المفتاح | دوّر المفاتيح عند مغادرة الأشخاص |
| تسجيلها بالخطأ | سجل تصحيح يطبع ترويسات الطلب | أخفِ الأسرار في السجلات |
| خادم مخترق | برمجية خبيثة تقرأ متغيرات البيئة | حدّث الخوادم وقيّد ما يمكن لكل خادم الوصول إليه |
الخطوة 1: مفتاح واحد لكل تطبيق وبيئة
أنشئ مفاتيح منفصلة للإنتاج والتجهيز (staging) ولكل تطبيق يرسل بريدًا. سمّها بحيث تتعرف عليها في سجل التدقيق.
| اسم المفتاح | يستخدمه | الصلاحية |
|---|---|---|
| shop-production | المتجر الإلكتروني، رسائل الطلبات | إرسال فقط |
| shop-staging | بيئة الاختبار | إرسال فقط، إلى عناوين الاختبار |
| crm-production | نظام CRM، إرسال الحملات | الإرسال وإدارة جهات الاتصال الخاصة به |
| webhooks-reader | مهمة إعداد التقارير | قراءة الأحداث فقط |
| ops-admin | شخص محدد بالاسم، لمهام نادرة | وصول كامل مع مصادقة ثنائية |
الخطوة 2: طبّق أقل الصلاحيات
اسأل عن كل مفتاح: ما أقل ما يحتاج إلى فعله؟ إرسال البريد لا يتطلب قراءة قائمة جهات الاتصال أو تغيير DNS أو إدارة الفوترة، ومهمة إعداد التقارير لا ينبغي أن تستطيع الإرسال أصلًا.
- فضّل مفتاح إرسال فقط لأي نظام يكتفي بتسليم الرسائل.
- أبقِ إدارة الحساب والفوترة والمستخدمين للأشخاص ذوي المصادقة الثنائية، لا للمفاتيح.
- راجع الصلاحيات كل ربع سنة وأزل ما لم يعد لازمًا.
- إذا كان حسابك يتيح قيودًا بحسب عنوان IP أو النطاق أو حد المعدل، فاستخدمها. راجع إعدادات أمان الحساب لمعرفة المتاح.
الخطوة 3: خزّن المفاتيح بأمان
حمّل المفتاح وقت التشغيل من البيئة أو من مدير أسرار. فيما يلي نمط بسيط.
# .env (never commit this file)
MIGOSMTP_API_KEY=replace-with-your-key
# .gitignore
.env
*.pem
<?php
$key = getenv('MIGOSMTP_API_KEY');
if (!$key) {
throw new RuntimeException('API key is not configured');
}
أضف فحص الأسرار. فعّل فحص الأسرار في مستضيف الشيفرة لديك، وشغّل أداة فحص في خط البناء. فهو يلتقط المفاتيح قبل أن تصل إلى فرع مشترك، ويمنحك تنبيهًا إذا أفلت أحدها.
الخطوة 4: دوّر دون توقف
- أنشئ المفتاح الجديد. امنحه الصلاحيات نفسها واسمًا يحمل التاريخ أو الإصدار.
- خزّنه. أضفه إلى مدير الأسرار أو إلى إعدادات البيئة.
- انشر. أطلق التغيير وأعد تشغيل الخدمات التي تقرأ المفتاح.
- تحقق. افحص سجلات التسليم لتتأكد من أن الحركة تستخدم المفتاح الجديد.
- ألغِ المفتاح القديم. افعل ذلك فقط بعد انتقال الحركة. انتظر فترة قصيرة وتحقق من عدم وجود إخفاقات.
- سجّل ذلك. دوّن التاريخ والسبب ومن أجرى العملية.
الخطوة 5: راقب إساءة الاستخدام
| الإشارة | ما قد تعنيه | الإجراء |
|---|---|---|
| حجم يفوق المعتاد بكثير | مفتاح مسرّب أو حلقة تكرارية في شيفرتك | أوقف المفتاح مؤقتًا وحقق |
| مستلمون جدد أو غير مألوفين | بريد مزعج أو تصيد يُرسل بمفتاحك | ألغِ المفتاح وراجع الرسائل |
| إرسال في أوقات غير معتادة | إساءة استخدام آلية | افحص عنوان IP المصدر وقيّد الوصول |
| ارتفاع الارتدادات أو الشكاوى | مستلمون سيئون أو إساءة استخدام | افحص قائمة الكتم والمصادر، وراجع قائمة فحص البريد المزعج |
| طلبات من عناوين IP جديدة | مفتاح يُستخدم خارج خوادمك | أضف قائمة سماح ودوّر المفتاح |
إذا تسرّب مفتاح: الساعة الأولى
| الدقائق | افعل ما يلي |
|---|---|
| من 0 إلى 10 | ألغِ المفتاح. إذا لم تستطع نشر بديل بعد، فاقبل انقطاعًا قصيرًا بدلًا من استمرار إساءة الاستخدام |
| من 10 إلى 30 | أنشئ مفتاحًا جديدًا وانشره. تأكد من عودة الإرسال الطبيعي |
| من 30 إلى 60 | راجع سجل التسليم بحثًا عن رسائل لم ترسلها. افحص معدلات الشكاوى والارتداد والقوائم السوداء |
| بعد ذلك | اكتشف كيف تسرّب، وأزل المصدر، ودوّر الأسرار المرتبطة، ودوّن ما تعلمته |
إذا أُرسل بريد باسمك، فاتبع دليل الإزالة من القوائم السوداء وتواصل مع الدعم ليتوفر للمراجعة على حسابك سياق كافٍ.
هل تظن أن مفتاحًا انكشف؟ ألغِه أولًا، ثم تواصل معنا مع اسم المفتاح والوقت لنساعدك في مراجعة الإرسال الأخير.
قراءات إضافية ومصادر
الأسئلة الشائعة
لماذا يُعد مفتاح API للبريد حساسًا إلى هذا الحد؟
كل من يحمل مفتاح إرسال يستطيع إرسال البريد باسمك. يستخدم المهاجمون المفاتيح المسرّبة لإرسال رسائل التصيد والبريد المزعج خلال دقائق، مما قد يؤدي إلى إدراج نطاقك وعناوين IP الخاصة بك في القوائم السوداء وتعليق حسابك. وتتمثل الكلفة في السمعة، وإصلاحها يستغرق أسابيع.
ما معنى أقل الصلاحيات في مفاتيح API؟
يعني أن كل مفتاح يستطيع فعل ما تتطلبه مهمته فقط ولا شيء أكثر. فالمفتاح الذي يستخدمه نموذج ويب لإرسال البريد لا ينبغي أن يقرأ جهات الاتصال أو يغير النطاقات أو يدير الفوترة. وإذا تسرّب، فإن الضرر يقتصر على ما سُمح لذلك المفتاح بفعله.
هل أستخدم مفتاحًا واحدًا لكل شيء؟
لا. استخدم مفتاحًا مستقلًا لكل تطبيق وبيئة. فإذا تسرّب أحدها تلغي ذلك المفتاح وحده، وتُظهر سجلاتك أي نظام أرسل الرسالة. أما المفاتيح المشتركة فتجعل الاستجابة للحوادث بطيئة ومحفوفة بالمخاطر.
أين أخزّن مفاتيح API؟
استخدم متغيرات البيئة أو مدير أسرار، وحمّلها وقت التشغيل. لا تضع المفاتيح في الشيفرة المصدرية، ولا في الواجهة الأمامية لموقع أو تطبيق جوال، ولا في المستودعات العامة، ولا في التذاكر أو المحادثات. وأضف ملفات الإعدادات التي تحتوي أسرارًا إلى ملف التجاهل لديك.
كم مرة ينبغي أن أدوّر المفاتيح؟
القاعدة الشائعة هي كل 90 يومًا لمفاتيح الإنتاج، وفورًا عند مغادرة شخص لديه صلاحية وصول، أو فقدان حاسوب محمول، أو الاشتباه في تسريب. والأهم من الفاصل الزمني أن تكون لديك عملية تدوير سبق أن تدربت عليها.
كيف أدوّر مفتاحًا دون توقف؟
أنشئ مفتاحًا جديدًا، وأضفه إلى مخزن الأسرار لديك، وانشر التغيير، وتأكد من أن الحركة تستخدم المفتاح الجديد، ثم ألغِ المفتاح القديم فقط. لا تلغِ أولًا أبدًا، لأن ذلك يسبب انقطاعًا أثناء النشر.
ماذا أفعل إذا تسرّب مفتاح؟
ألغِ المفتاح فورًا، وأنشئ بديلًا ونشره، وراجع الإرسال الأخير بحثًا عن رسائل لم ترسلها، وافحص إدراجات القوائم السوداء وارتفاعات الشكاوى. ثم اكتشف كيف تسرّب وأغلق ذلك المسار.
كيف أعرف أن مفتاحًا يُساء استخدامه؟
ابحث عن ارتفاع مفاجئ في الحجم، ومستلمين جدد أو غير معتادين، وإرسال في أوقات غير اعتيادية، وزيادة في الارتدادات أو الشكاوى، وطلبات من عناوين IP غير مألوفة. وتمنحك التنبيهات على الحجم ومعدل الارتداد إنذارًا مبكرًا.
هل تختلف بيانات اعتماد SMTP عن مفاتيح API؟
هما تؤديان الغرض نفسه، وهو إثبات أنك مخوّل بالإرسال، وتتطلبان العناية ذاتها. تعامل مع اسم مستخدم SMTP وكلمة مروره كما تتعامل مع مفتاح API: مجموعة واحدة لكل تطبيق، وتُخزَّن كسر، وتُدوَّر وفق جدول. راجع دليل إعدادات SMTP لتفاصيل الاتصال.
هل يمكنني وضع مفتاح API في تطبيق جوال أو في JavaScript على صفحة ويب؟
لا. أي شيء يُشحن إلى جهاز أو متصفح يمكن استخراجه. أرسل البريد من خادمك أنت، ودع التطبيق أو الصفحة يستدعي خادمك، وهو بدوره يستدعي API البريد بالمفتاح.