GH GambleHub

תעודות TLS וחידוש אוטומטי

למה אתה צריך את זה?

TLS מצפין את התנועה ”kliyent↔servis”, מאשר את האותנטיות של השרת (ועם mTLS - לקוח), וגם מגן מפני זיוף. הסיכונים העיקריים: עיכובי תעודה, מפתחות חלשים, שרשרת אמון שגויה, נהלים ידניים. מטרת המאמר היא לתאר את הארכיטקטורה שבה תעודות תמיד רלוונטיות וסיבובים עוברים מבלי שיבחינו בהם המשתמשים.

מושגים בסיסיים

CA/Signatory: סמכות הסמכה (ציבורית או פנימית).
שרשרת (fulchain): תעודת עלה + intermediate + root (בדרך כלל שורש במאגרי הלקוח).
רשימת תחומים/IP לתעודה אחת (multi-SAN).
ווילד קארד: ". חיקוי. com - נוח עבור תת-דומים רבים, דורש אימות DNS.
הידוק OCSP: השרת תקף את מצב שלילת המיקום האחרון; מפחית את האיחור והתלות במחלות OCSP חיצוניות.
HPKP: מיושן/לא בשימוש; במקום זאת, יומני CT והיגיינת מפתח.
CT (שקיפות תעודה): יומני ההנפקה לציבור - חשובים לשליטה בשחרורים מזויפים.

פרופיל ומפתחות קריפטו

אלגוריתמים:
  • ECDSA (P-256) - מהיר וקומפקטי; העדיפו לקוחות מודרניים.
  • RSA-2048/3072 - עדיין תואם; ניתן להחזיק dual-cert (RSA + ECDSA).
  • דור מפתח: רק בצד המטרה (לא להעביר פריבטירים מעל הרשת), להגן על זכויות הגישה ('0600').
  • HSM/KMS: עבור אזורים קריטיים (תשלום/PII) לאחסן מפתחות ב HSM/KMS, לאפשר פעולות ביקורת.
  • תקופות חיים: תעודות קצרות (90 יום/30 יום לבדיקה פנימית) מעודדות סיבוב תדיר ומפחיתות את הסיכון לפשרה.

מודלים ארכיטקטוניים של ניהול TLS

1. CA ציבורי באמצעות ACME (בואו להצפין/Buypass/וכו ')

אימות: HTTP-01 (באמצעות שרת אינטרנט/Ingress) או DNS-01 (עבור domains wild/out-of-stream).
מקצוענים: חופשי/אוטומטי, אמון רחב. אסירים: תלויות חיצוניות.

2. חוקרת תאגידים פנימיים

כלים: HashiCorp Vault PKI, Smallstep (Step-ca), Microsoft AD CS, CFSSL.
מקצוענים: מדיניות מותאמת אישית, mTLS, TTL קצר, שחרור עבור תחומים פנימיים. הפצת שורש, ניהול אמון.

3. היברידי

CA ציבורי למשתמשים חיצוניים; Internal CA - לשירות (MTLS), ערוצים בין-אשכולות ומנהלים.

תבניות חידוש אוטומטי (חידוש)

עקרונות כלליים

סף חידוש: להתחיל ב ”יומן 30” ימים לפני תפוגה; לשירותים קריטיים ביום 45.
זמן אפס: הנפקת תעודה חדשה, החלפה אטומית, טעינה חלקה בלי לשבור חיבורים.
אחיזה כפולה (כחול/ירוק): לאחסן את הסלט הנוכחי הבא; מתחלף - באמצעות סימלינק או סוד מרומז.
התראה: 45/30/14/7/3/1 אזהרות יום; התראה נפרדת במהלך כישלון אתגר ACME.

לקוחות ACME ויישומם

סרטבוט/אקמי. sh/lego: סוכנים קלים על VM/חשוף-מתכת.
מנהל (Kubernetes): מפעיל עובד עם Issuer/Clought Issuer; משחרר/מחדש אוטומטית וכותב לסוד.
שלב-ca/Cault סוכן: שחרור אוטומטי/סיבוב עם TTL קצר, דפוסי סירה לעדכון מפתחות ושרשראות.

תהליכים עבור קוברנטס

סרט-מנהל (Essuer לדוגמה עבור בואו להצפין HTTP-01 דרך Ingress):
yaml apiVersion: cert-manager. io/v1 kind: ClusterIssuer metadata:
name: le-http01 spec:
acme:
email: devops@example. com server: https://acme-v02. api. letsencrypt. org/directory privateKeySecretRef:
name: le-account-key solvers:
- http01:
ingress:
class: nginx
בקשת תעודה:
yaml apiVersion: cert-manager. io/v1 kind: Certificate metadata:
name: app-cert namespace: prod spec:
secretName: app-tls dnsNames:
- app. example. com issuerRef:
name: le-http01 kind: ClusterIssuer privateKey:
algorithm: ECDSA size: 256 renewBefore: 720h # 30 дней

החלפה חמה ב NGINX-Ingress מתרחשת באופן אוטומטי כאשר ”סוד” מעודכן. הוסף 'sl-ecdh-curve: secp256r1' ואפשר הידוק OCSP באמצעות/הגדרות Map.

תהליכים עבור VM/Bare-metal

סרטבוט (HTTP-01):
bash sudo certbot certonly --webroot -w /var/www/html -d example. com -d www.example. com \
--deploy-hook "systemctl reload nginx"

תקופתי ”certbot לחדש” באמצעות טיימר מערכת.
עבור כרטיס בר, השתמש DNS-01 (ספק תוספים) ודומה ל - decploy-wook.

Acme. sh (DNS-01, כרטיס בר):
bash export CF_Token="" # example for Cloudflare acme. sh --issue --dns dns_cf -d example. com -d '.example. com' \
--keylength ec-256 --ecc \
--reloadcmd "systemctl reload nginx"

החלפה אטומית NGINX

שמור 'fulchain. Pem 'privkey. pem 'תחת נתיבים יציבים (symlink לקבצים versied), ואז' nginx's reload's.

Internal PKI ו-mTLS

כספת האשיקורפ PKI (תפקיד לדוגמה):
bash vault secrets enable pki vault secrets tune -max-lease-ttl=87600h pki vault write pki/root/generate/internal common_name="Corp Root CA" ttl=87600h vault write pki/roles/service \
allowed_domains="svc. cluster. local,internal. example" allow_subdomains=true \
max_ttl="720h" require_cn=false key_type="ec" key_bits=256

שחרור אוטומטי: באמצעות סוכן כספת (K8s) או סירה; הבקשה קוראת מחדש את הסלט מקובץ הצופה/FS.
שורט TTL: 24-720 שעות, אשר מעודד סיבוב תדיר ומפחית את הערך של המפתח הגנוב.
MTLS: הנפקת תעודות לקוח עבור שירותים/תפקידים ספציפיים; בקלט - TLS הדדי בחדירה/sidecar-proxy.

מבצע בטוח

שיתוף סודות: מפתחות פרטיים - רק על המארח/תרמיל, גישה לפי העיקרון של הכי פחות זכויות.
זכויות קובץ: '600' עבור מפתח; בעלים - משתמש תהליך.
תקופת חסד: הגדר 'מחדש לפני' כדי להיות מספיק כדי להסביר כשלים DNS/ACME/ספק.
הידוק OCSP: להדליק בחזיתות; לפקח על הרעננות של התגובה (בדרך כלל 12-72 שעות).
HSTS: להדליק בהדרגה (ללא ”טעינה מראש” בהתחלה), לוודא את מסירת HTTPS הנכונה של כל התוכן.
Dual-Cert (RSA + ECDSA): משפר את התאימות והביצועים; תן ECDSA ללקוחות מודרניים.

ניטור ו SLO

מדדים ובדיקות:
  • ימים לפני התפוגה (מד) לכל תחום/סוד; SLO: ”אין סלט מ <7 ימים לפקיעה”.
  • תקפות שרשרת (linting), ציות SAN עם התחומים הנדרשים/IP.
  • מצב הידוק OCSP (רעננות התגובה).
  • אחוז האתגרים המוצלחים/לא מוצלחים ACME.
  • לחיצות ידיים של Leitency TLS, גרסאות פרוטוקול/צפנים (ביקורת חשבונות).
התראות (דוגמה לרמות):
  • התראה: 30 ימים עד תפוגה.
  • קריט: 7 ימים/כישלון ”לחדש”.
  • עמוד: 72 שעות/שרשרת לא תקפה בהידוק ה ־ OCSP.

תקריות וגלגולים

עיכוב תעודה: הוצאה זמנית ופריסה ידנית, תיקון RCA (מדוע חידוש לא עבד, חסימת DNS/API).
פשרת מפתח: ביטול מיידי, סיבוב סודות, ביקורת גישה, סיבוב של אסימוני חשבון DNS/ACME.
שרשרת שגויה: הפקדה דחופה של 'fullchain' הנכון, עומס מחדש מאולץ של חזיתות.
נעילה לספק DNS: שמור על נתיב אימות הגיבוי (HTTP-01) או DNS משני.

רשימת יישום חידוש אוטומטי

1. בחר את המודל (CA ציבורי באמצעות ACME/internal PKI/hybrid).
2. הגדר את פרופיל ההצפנה: ECDSA-P256, במידת הצורך כפול-סלט עם RSA-2048.
3. הגדרת הסוכן האוטומטי (סרט-מנהל, certbot, acme. SH, סוכן כספת).
4. ארגן החלפת אפס-הורדה (תבנית סימלינק, כניסה/NGINX/שליח).
5. הפעל הידוק OCSP ו ־ HSTS (בשלבים).
6. הוספת תאריכי התראה ואתגר מדינות; מרשם SLO.
7. לתעד את שברי הזכוכית ותהליכי שחרור ידניים.
8. ביצוע תרגילים ”מזויפים”: DNS-01 שבור, נפילת ACME, פג תוקפו של שורש/ביניים.
9. סקור גישה למפתחות פרטיים, סובב אסימונים לספקי DNS וחשבונות ACME.

תכונות עבור iGaming/fintech

PCI DSS/PII: סוויטות צופן קפדניות, נאלץ TLS 1. 2+/1. 3, לכבות צפנים חלשים/דחיסה, חידוש מפגש ללא פשרות אבטחה.
מקטע דומיין: תעודות נפרדות לתשלום תת-דומיין ומנהל; לספקי תוכן - שרשראות מבודדות.
ביקורת ורישום: שחרור תקליט/החזר/סיבוב; חתום על חפצי סי-אי-סי-די.
ריבוי תחומים: איסורים מקומיים לאזורים כדי לא להיות תלויים בכישלונות חוצים-אזוריים.

תצורות מדגם

NGINX (RSA + ECDSA, הידוק OCSP)

nginx ssl_protocols TLSv1. 2 TLSv1. 3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_ecdh_curve secp256r1;

ssl_certificate   /etc/nginx/certs/app_ecdsa/fullchain. pem;
ssl_certificate_key /etc/nginx/certs/app_ecdsa/privkey. pem;
ssl_certificate   /etc/nginx/certs/app_rsa/fullchain. pem;
ssl_certificate_key /etc/nginx/certs/app_rsa/privkey. pem;

ssl_stapling on;
ssl_stapling_verify on;

add_header Strict-Transport-Security "max-age=31536000" always;

OpenSSL: CSR (ECDSA-P256)

bash openssl ecparam -name prime256v1 -genkey -noout -out privkey. pem openssl req -new -key privkey. pem -out csr. pem -subj "/CN=app. example. com" \
-addext "subjectAltName=DNS:app. example. com,DNS:www.example. com"

CFSSL: פרופיל והוצאה לאור

json
{
"signing": {
"profiles": {
"server": {
"usages": ["digital signature","key encipherment","server auth"],
"expiry": "2160h"
}
}
}
}
bash cfssl gencert -profile=server ca. json csr. json      cfssljson -bare server

FAQ

אני צריך כרטיס בר?
אם תת-סמים חדשים מופיעים לעיתים קרובות, כן (באמצעות DNS-01). אחרת, תשתמש ברב-סאן לתחומים מפורשים.

מה לבחור: מנהל הסריטה או סרטבוט?
Kubernetes # cert-manager. VM/microservices מתוך K8s certbot/lego/acme. sh. PKI Internal * כספת/צעד-ca.

האם ניתן לצמצם את הטי-טי-אל ליום אחד?
עבור mTLS פנימי, כן, אם אוטומציה/סירה מבטיחה סיבוב ויישומים יכולים לטעון מחדש.

איך לאבטח את DNS-01?
גישה סמלית/מינימלית נפרדת לאזור, סיבוב מפתח, הגבלת גישה ל-IP API, ביקורת.

סך הכל

ניהול TLS אמין הוא שילוב של פרופיל קריפטו נכון, שחרור וחידוש אוטומטי, סיבוב אפס-השבתה, תצפית, ונהלי תגובה-תקרית ברורים. לבנות צינור ACME/PXI, להוסיף כוננות קפדנית ולאמן באופן קבוע ”חירום” תרחישים - ותעודות שפג תוקפן כבר לא יהיה המקור של זירי לילה.

Contact

צרו קשר

פנו אלינו בכל שאלה או צורך בתמיכה.אנחנו תמיד כאן כדי לעזור.

Telegram
@Gamble_GC
התחלת אינטגרציה

Email הוא חובה. Telegram או WhatsApp — אופציונליים.

השם שלכם לא חובה
Email לא חובה
נושא לא חובה
הודעה לא חובה
Telegram לא חובה
@
אם תציינו Telegram — נענה גם שם, בנוסף ל-Email.
WhatsApp לא חובה
פורמט: קידומת מדינה ומספר (לדוגמה, +972XXXXXXXXX).

בלחיצה על הכפתור אתם מסכימים לעיבוד הנתונים שלכם.