البدء مع ماسح PQC
البدء مع ماسح PQC
ثبّت الماسح وشغّل أول تقييم لجاهزيتك الكمومية
المتطلبات المسبقة
المتطلبات المسبقة
- نظام تشغيل مدعوم (Windows 10+، Linux، macOS)
- وصول المسؤول/الجذر لمسح الوكيل ومخزن شهادات Windows
- اتصال شبكي بأهداف المسح (المنفذ 443/TCP لمسح النطاقات)
- 4 غيغابايت ذاكرة وصول عشوائي كحد أدنى (يُوصى بـ 8 غيغابايت)
- 5 غيغابايت مساحة قرص حرة
التثبيت
لا تُنشر ثنائيات dke-scanner-agent على GitHub ولا على أي سجل Docker عام. يوفّر كل مستأجر Cockpit رابط تنزيل موقّعًا خاصًا به، قصير الصلاحية، محميًا بصلاحية Operations.Pki.Scanner.Agent.Download.
إنشاء برنامج تثبيت
تنزيل الملف الثنائي
$PATH: chmod +x dke-scanner-agent-* && sudo mv dke-scanner-agent-* /usr/local/bin/dke-scanner-agent.التسجيل لدى Cockpit الخاص بك
نفّذ enroll مرة واحدة لتسجيل المضيف وإنشاء ~/.dke/agent.toml (بوضع 0600 على Unix):
dke-scanner-agent enroll --server https://cockpit.example.com --token <bundle-token>مرّر الرمز عبر متغيّر البيئة DKE_AGENT_ENROLL_TOKEN بدلاً من --token لإبقائه بعيدًا عن سجل الأوامر وقائمة العمليات. إذا نشر إصدار Cockpit تجزئة (hash) للملف الثنائي، أضف --expected-sha256 <hex>، وسيرفض التسجيل المتابعة عند عدم التطابق.
بداية سريعة: أول عمليات مسح لك
أوضاع المسح المتاحة
1. مسح نظام الملفات
امسح دليلًا بحثًا عن الشهادات ومخازن المفاتيح والمفاتيح الخاصة:
# Scan current directory (default: recursive, max-depth 10)
dke-scanner-agent filesystem
# Scan specific directory with output
dke-scanner-agent filesystem --path /etc/ssl/certs --output scan.json
# Scan with specific extensions and thread count
dke-scanner-agent filesystem \
--path /opt/app \
--extensions .pem,.crt,.p12,.jks \
--exclude node_modules,.git,target \
--threads 8 \
--format html \
--output report.html
# Include Windows Certificate Store scanning
dke-scanner-agent filesystem --scan-windows-certstore
2. مسح النطاق
حلّل نقاط نهاية TLS البعيدة واستخرج سلاسل الشهادات:
# Basic domain scan
dke-scanner-agent domain --target example.com
# Custom port with timeout
dke-scanner-agent domain --target api.example.com --port 8443 --timeout 30
# With subdomain discovery (requires WhoisXML API key)
dke-scanner-agent domain \
--target example.com \
--discover-subdomains \
--subdomain-api-key $WHOISXML_API_KEY \
--max-subdomains 50
# Enable PQ key exchange detection (requires elevated privileges)
sudo dke-scanner-agent domain --target example.com --detect-pq-kex --interface eth0
يستخدم ماسح النطاق Rustls لاتصالات TLS. افتراضيًا، يُفترَض أن تبادل مفاتيح TLS 1.3 هو X25519. استخدم --detect-pq-kex مع التقاط الحزم لاكتشاف عمليات تبادل مفاتيح X25519MLKEM768 أو Kyber768.
3. مسح الوكيل
جرد تشفيري شامل على مستوى النظام:
# Full system scan (requires elevated privileges)
sudo dke-scanner-agent agent
# Skip process scanning for faster results
sudo dke-scanner-agent agent --no-process-scan
# Save results
sudo dke-scanner-agent agent --output system-scan.json --format json
4. مسح الكود المصدري
تحليل ساكن للكود المصدري بحثًا عن أنماط استخدام التشفير عبر 8 لغات مع أكثر من 150 قاعدة اكتشاف:
# Scan local directory
dke-scanner-agent sourcecode --path /path/to/code
# Scan GitHub repository
dke-scanner-agent sourcecode \
--github-repo owner/repo \
--github-token $GITHUB_TOKEN \
--branch main
# Scan GitLab project
dke-scanner-agent sourcecode \
--gitlab-project group/project \
--gitlab-token $GITLAB_TOKEN
# Scan Azure DevOps repository
dke-scanner-agent sourcecode \
--azdo-org myorg \
--azdo-project myproject \
--azdo-repo myrepo \
--azdo-token $AZDO_TOKEN
5. وضع CI/CD
ادمج المسح في خط أنابيب CI/CD الخاص بك مع مخرجات SARIF وعتبات الفشل عند مستوى الخطورة:
# Scan with SARIF output for GitHub/GitLab security tabs
dke-scanner-agent ci --source-path . --format sarif --output results.sarif
# Fail build on high severity findings
dke-scanner-agent ci --source-path ./src --fail-on high --output ci-scan.json
# Fail only on critical
dke-scanner-agent ci --fail-on critical
سير العمل بعد المسح
توليد CBOM
صدّر الاكتشافات كقائمة مكوّنات تشفيرية (CBOM) بصيغة CycloneDX 1.7:
# Run scan first
dke-scanner-agent filesystem --path /app --output scan.json
# Generate CBOM
dke-scanner-agent cbom \
--input scan.json \
--app-name "Payment Gateway" \
--app-version "2.5.1" \
--output payment-gateway-cbom.json
فحص الامتثال
dke-scanner-agent compliance \
--scan-results scan.json \
--frameworks "NIST-800-131A,PCI-DSS-4.0,HIPAA,SOC2" \
--organization "Acme Corp" \
--format all \
--output compliance-reports/
النشر إلى ServiceNow
dke-scanner-agent servicenow \
--instance $SERVICENOW_INSTANCE \
--token $SERVICENOW_TOKEN \
--input scan.json \
--auto-incidents true
تشغيل لوحة معلومات الويب
# Start on default port 3000
dke-scanner-agent serve
# Custom port
dke-scanner-agent serve --port 8080
فهم النتائج
مستويات خطورة المخاطر
| الخطورة | نطاق الدرجة | الأولوية | الإجراء |
|---|---|---|---|
| حرِج | 9.0-10.0 | P0 | إجراء فوري - RSA <2048، DSA، 3DES، RC4 |
| عالٍ | 7.0-8.9 | P1 | خلال 3 أشهر - RSA-2048، ECDSA، EdDSA |
| متوسط | 5.0-6.9 | P2 | خلال 6 أشهر - RSA-3072 |
| منخفض | 3.0-4.9 | P3 | خلال 12 شهرًا - RSA-4096 |
| معلوماتي | 0-2.9 | P4 | المراقبة - خوارزميات PQC (ML-KEM، ML-DSA، SLH-DSA) |
بنية نتيجة المسح
الإعداد
# Git provider tokens (for source code scanning)
export GITHUB_TOKEN="ghp_xxxxxxxxxxxx"
export GITLAB_TOKEN="glpat-xxxxxxxxxxxx"
export AZDO_TOKEN="xxxxxxxxxxxx"
# ServiceNow credentials
export SERVICENOW_INSTANCE="https://dev12345.service-now.com"
export SERVICENOW_USER="api_user"
export SERVICENOW_PASSWORD="secret"
export SERVICENOW_TOKEN="oauth-token" # Alternative to user/password
# Subdomain discovery
export WHOISXML_API_KEY="your-api-key"
# Logging verbosity
export RUST_LOG=info # debug, info, warn, error, trace
# Web dashboard authentication (optional)
export PQC_AUTH_MODE=none # none | oidc | api_key | both
export PQC_PORT=3000
استكشاف الأخطاء وإصلاحها
ابدأ بمسح واحد بوضع filesystem أو domain للتعرّف على صيغة المخرجات قبل تشغيل تقييمات بنية تحتية شاملة.