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

البدء مع ماسح PQC

ينطبق على:
Windows 10+LinuxmacOS

المتطلبات المسبقة​

المتطلبات المسبقة

  • نظام تشغيل مدعوم (Windows 10+، Linux، macOS)
  • وصول المسؤول/الجذر لمسح الوكيل ومخزن شهادات Windows
  • اتصال شبكي بأهداف المسح (المنفذ 443/TCP لمسح النطاقات)
  • 4 غيغابايت ذاكرة وصول عشوائي كحد أدنى (يُوصى بـ 8 غيغابايت)
  • 5 غيغابايت مساحة قرص حرة

التثبيت​

يُوزَّع من Cockpit الخاص بك، وليس إصدارًا عامًا

لا تُنشر ثنائيات dke-scanner-agent على GitHub ولا على أي سجل Docker عام. يوفّر كل مستأجر Cockpit رابط تنزيل موقّعًا خاصًا به، قصير الصلاحية، محميًا بصلاحية Operations.Pki.Scanner.Agent.Download.

إنشاء برنامج تثبيت

في DuoKey Cockpit، انتقل إلى Scanner Agents → Generate Installer واختر منصة (Windows x64، Linux x64/arm64، macOS x64/arm64). سيُعاد رابط تنزيل موقّع ورمز تسجيل لمرة واحدة صالح لمدة ساعة واحدة.

تنزيل الملف الثنائي

نزّل الملف الثنائي الخاص بمنصتك من الرابط. على Linux/macOS، اجعله قابلاً للتنفيذ وضعه في $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>، وسيرفض التسجيل المتابعة عند عدم التطابق.

بداية سريعة: أول عمليات مسح لك​

أوضاع المسح المتاحة

filesystemمسح الأدلة بحثًا عن الشهادات ومخازن المفاتيح والمفاتيح
domainتحليل نقاط نهاية TLS/SSL البعيدة
agentجرد تشفيري كامل على مستوى النظام
sourcecodeتحليل ساكن لأنماط التشفير في الكود

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.0P0إجراء فوري - RSA <2048، DSA، 3DES، RC4
عالٍ7.0-8.9P1خلال 3 أشهر - RSA-2048، ECDSA، EdDSA
متوسط5.0-6.9P2خلال 6 أشهر - RSA-3072
منخفض3.0-4.9P3خلال 12 شهرًا - RSA-4096
معلوماتي0-2.9P4المراقبة - خوارزميات 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 للتعرّف على صيغة المخرجات قبل تشغيل تقييمات بنية تحتية شاملة.