استكشاف الأخطاء وإصلاحها
استكشاف الأخطاء وإصلاحها
تشخيص المشكلات الشائعة لوكيل DuoKey AWS XKS Proxy وحلّها
ينطبق على:
AWS XKS ProxyConnectivity IssuesError Resolution
قائمة التحقق التشخيصية السريعة
المتطلبات المسبقة
- التحقق من حالة اتصال مخزن المفاتيح الخارجي
- استجابة نقطة نهاية سلامة وكيل XKS
- تأكيد الاتصال الشبكي من AWS إلى الوكيل
- شهادات TLS صالحة وغير منتهية الصلاحية
- بيانات اعتماد مصادقة SigV4 صحيحة
- وجود المفتاح الخارجي في مدير المفاتيح
- إمكانية الوصول إلى مدير المفاتيح الخارجي من الوكيل
- مقاييس CloudWatch الحديثة تُظهر نشاطًا
- سجلّات الوكيل تُظهر طلبات حديثة
المشكلات الشائعة
1. XksProxyUriUnreachableException
تحذير
الخطأ:
XksProxyUriUnreachableException: The XKS proxy URI endpoint is unreachableالأسباب المحتملة:
- وكيل XKS متوقّف أو غير قيد التشغيل
- مشكلات في الاتصال الشبكي
- جدار الحماية يحظر نطاقات عناوين IP الخاصة بـ AWS KMS
- فشل دقة DNS
- مشكلات في شهادة TLS
Diagnose ConnectivityBASH
# 1. Check if proxy is running
curl -k https://your-proxy-address.com/health
# 2. Check DNS resolution
nslookup your-proxy-address.com
dig your-proxy-address.com
# 3. Check TLS certificate
echo | openssl s_client -connect your-proxy-address.com:443 -servername your-proxy-address.com
# 4. Check proxy logs
tail -f /var/log/duokey-xks-proxy/proxy.log2. XksProxyInvalidResponseException
تحذير
الخطأ:
XksProxyInvalidResponseException: The XKS proxy returned an invalid responseالأسباب المحتملة:
- الوكيل لا يتوافق مع مواصفات واجهة برمجة تطبيقات وكيل AWS XKS
- مشكلات في تنسيق JSON في استجابات الوكيل
- رموز حالة HTTP غير صحيحة
- حقول استجابة مطلوبة مفقودة
3. XksProxyIncorrectAuthenticationCredentialException
تحذير
الخطأ:
XksProxyIncorrectAuthenticationCredentialException: Authentication credential is incorrectالأسباب المحتملة:
- عدم تطابق بيانات اعتماد SigV4 بين AWS والوكيل
- انتهاء صلاحية بيانات الاعتماد أو تدويرها
- انحراف الساعة بين AWS والوكيل
4. XksKeyNotFoundException
تحذير
الخطأ:
XksKeyNotFoundException: External key not foundالأسباب المحتملة:
- عدم تطابق معرّف المفتاح (حساس لحالة الأحرف)
- حذف المفتاح من مدير المفاتيح الخارجي
- تكوين واجهة خلفية خاطئة للمفاتيح
- مشكلة في توجيه DuoKey Cockpit
5. مشكلات زمن الاستجابة المرتفع
الأعراض: عمليات تستغرق أكثر من 100 مللي ثانية لإتمامها
الأسباب المحتملة:
- زمن استجابة شبكي بين AWS والوكيل
- مشكلات في أداء مدير المفاتيح الخارجي
- قيود موارد الوكيل
- المسافة الجغرافية
6. مشكلات شهادة TLS
الأعراض: فشل مصافحة TLS أو تحذيرات الشهادة
الأسباب المحتملة:
- شهادات منتهية الصلاحية
- سلسلة الشهادات غير مكتملة
- شهادة خاطئة للنطاق
- شهادة غير موثوقة من قبل AWS
7. انقطاع اتصال مخزن المفاتيح الخارجي
الأعراض: يظهر مخزن المفاتيح الخارجي على أنه غير متصل
استكشاف الأخطاء المتقدم وإصلاحها
وضع التصحيح
Enable Debug LoggingYAML
# config.yml
logging:
level: debug
components:
authentication: debug
encryption: debug
routing: debug
backend: debugReview Debug LogsBASH
systemctl restart duokey-xks-proxy
tail -f /var/log/duokey-xks-proxy/proxy.log | jq .التقاط الحزم
Capture Network TrafficBASH
# Capture HTTPS traffic to/from proxy
tcpdump -i any -s 0 -w /tmp/xks-traffic.pcap port 443
# Analyze with Wireshark
wireshark /tmp/xks-traffic.pcapتصحيح فحص السلامة
Detailed Health CheckBASH
# Detailed health check
curl -v https://your-proxy:443/kms/xks/v1/health \
-H "Content-Type: application/json" \
-d '{}' | jq .
# Expected response:
# {
# "status": "OK",
# "version": "1.0",
# "keyManagers": [
# {
# "name": "vault-primary",
# "status": "ACTIVE"
# }
# ]
# }مرجع رموز الأخطاء
| رمز الخطأ | الوصف | الأسباب الشائعة |
|---|---|---|
| XksProxyUriUnreachableException | تعذّر الوصول إلى الوكيل | الشبكة، جدار الحماية، توقّف الوكيل |
| XksProxyInvalidResponseException | استجابة وكيل غير صالحة | التوافق مع واجهة برمجة التطبيقات، أخطاء برمجية |
| XksProxyIncorrectAuthenticationCredentialException | فشل المصادقة | بيانات اعتماد خاطئة، انحراف الساعة |
| XksKeyNotFoundException | لم يُعثر على المفتاح الخارجي | معرّف مفتاح خاطئ، حذف المفتاح |
| XksKeyInvalidConfigurationException | تكوين المفتاح غير صالح | نوع مفتاح خاطئ، مفتاح معطّل |
| XksProxyInvalidConfigurationException | تكوين الوكيل غير صالح | عنوان URL خاطئ، إعدادات غير صالحة |
الحصول على المساعدة
قبل التواصل مع الدعم
Gather Diagnostic InformationBASH
# 1. System information
uname -a
cat /etc/os-release
# 2. Proxy version and status
/usr/local/bin/duokey-xks-proxy --version
systemctl status duokey-xks-proxy
# 3. Recent logs
tail -100 /var/log/duokey-xks-proxy/proxy.log > proxy-logs.txt
# 4. External key store status
aws kms describe-custom-key-stores \
--custom-key-store-id cks-xxxxx > keystore-status.json
# 5. CloudWatch metrics
aws cloudwatch get-metric-statistics \
--namespace AWS/KMS \
--metric-name XksProxyLatency \
--dimensions Name=CustomKeyStoreId,Value=cks-xxxxx \
--start-time $(date -u -d '1 hour ago' '+%Y-%m-%dT%H:%M:%S') \
--end-time $(date -u '+%Y-%m-%dT%H:%M:%S') \
--period 300 \
--statistics Average,Maximum > cloudwatch-metrics.json
# 6. Network test results
curl -v https://your-proxy:443/health > network-test.txt 2>&1معلومات الاتصال
| المورد | جهة الاتصال |
|---|---|
| دعم DuoKey | [email protected] |
| دعم AWS | افتح حالة في وحدة تحكم AWS |
| المجتمع | مناقشات GitHub |
التدابير الوقائية
فحوصات السلامة المنتظمة
Automated Health Check ScriptBASH
#!/bin/bash
# /usr/local/bin/xks-health-check.sh
PROXY_URL="https://your-proxy:443/health"
ALERT_EMAIL="[email protected]"
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" $PROXY_URL)
if [ "$RESPONSE" != "200" ]; then
echo "XKS Proxy health check failed: HTTP $RESPONSE" | \
mail -s "XKS Proxy Alert" $ALERT_EMAIL
exit 1
fi
exit 0Schedule Health CheckBASH
# Add to cron
*/5 * * * * /usr/local/bin/xks-health-check.shجدول الصيانة المنتظمة
| التكرار | المهمة |
|---|---|
| أسبوعيًا | مراجعة السجلّات والمقاييس |
| شهريًا | اختبار إجراءات التعافي من الكوارث |
| ربع سنوي | تدوير بيانات الاعتماد |
| سنويًا | تجديد شهادات TLS |