עובד איבד מחשב נייד עם פרטי התחברות שמורים של OpenVPN. הרשת הארגונית הייתה פתוחה לכל מי שהחזיק בתעודה ובסיסמה שלו. כך נראים רוב מקרי התקיפה של VPN—לא פריצה, אלא גניבת פרטי התחברות. גורם אימות שני—קוד TOTP—סוגר את התרחיש הזה לחלוטין: גם עם הסיסמה, תוקף לא יכול להתחבר ללא הקוד החד-פעמי. אנו מיישמים MFA ל-VPN באמצעות TOTP ושרת RADIUS כדי להגן על הגישה מרחוק של החברה שלך. לפי NIST, יישום אימות רב-גורמי מפחית את הסיכון לפריצת גישה מרחוק ב-80%.
סיסמה חד-פעמית מבוססת זמן (TOTP) היא תקן פתוח (RFC 6238), תואם לכל אפליקציית אימות: Google Authenticator, Authy, 1Password. בשילוב עם RADIUS, מקבלים מדיניות אימות מרכזית שעובדת עם כל שרת VPN—מ-OpenVPN ועד Cisco AnyConnect. לפי נתוני פריסה, TOTP מפחית את הסיכון לפריצת VPN ב-80% בהשוואה להגנה מבוססת סיסמה בלבד, וחיסכון בעלויות רישוי מגיע ל-60%.
כיצד פועל MFA ל-VPN עם TOTP ו-RADIUS
הזרימה הסטנדרטית: לקוח VPN → שרת VPN (OpenVPN/WireGuard/Cisco) → שרת RADIUS → LDAP/AD לבדיקת סיסמה + TOTP לגורם השני.
FreeRADIUS הוא הבחירה הנפוצה ביותר עבור התקנה מקומית (on-premise). הוא תומך ב-rlm_totp או באינטגרציה דרך rlm_exec עם מאמת חיצוני. TOTP משתמש ב-RFC 6238—תואם לכל יישום TOTP.
# /etc/freeradius/3.0/mods-enabled/ldap (фрагмент)
ldap {
server = "ldap.corp.example.com"
identity = "cn=radius,ou=service,dc=corp,dc=example,dc=com"
password = "..."
base_dn = "ou=users,dc=corp,dc=example,dc=com"
filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})"
start_tls = yes
tls {
ca_file = /etc/ssl/certs/corp-ca.crt
}
} # /etc/freeradius/3.0/sites-enabled/default (фрагмент authorize)
authorize {
filter_username
ldap
if (ok || updated) {
update control {
Auth-Type := LDAP
}
}
totp
}בצד שרת OpenVPN, ההגדרה נעשית עם auth-user-pass-verify או דרך התוסף radiusplugin.so:
# /etc/openvpn/server.conf (фрагмент)
plugin /usr/lib/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf
verify-client-cert require username-as-common-nameהמשתמש מזין סיסמה בפורמט סיסמה+קוד TOTP (שרשור) בעת החיבור, או—אם הלקוח תומך ב-challenge-response—הסיסמה וה-OTP מוזנים בשני שדות נפרדים דרך זרימת ה-challenge-response של RADIUS.
למה TOTP, לא SMS או הודעות Push?
קודי TOTP נוצרים מקומית במכשיר, אינם דורשים אינטרנט, ואינם תלויים בספק הסלולרי. בניגוד ל-SMS, לא ניתן ליירט TOTP באמצעות SIM-swap. הודעות Push עלולות להיחסם אם הטלפון לא מחובר. TOTP תמיד עובד, ואורך חיי הקוד הוא 30 שניות. TOTP מאובטח פי שניים מ-SMS במונחים של מקרים שנמנעו, ועלויות היישום נמוכות ב-60% בשל היעדר עלויות שער SMS. פתרונות MFA קנייניים דורשים הוצאות משמעותיות, בעוד שהפתרון שלנו המבוסס על TOTP ו-FreeRADIUS חוסך לתקציב שלך סכומים ניכרים.
כיצד להנפיק סודות TOTP?
התהליך כולל:
- יצירת סוד—מפתח base32 ייחודי נוצר לכל משתמש (לדוגמה, openssl rand -base64 20).
- אחסון ב-LDAP—הסוד נכתב לתכונת המשתמש, לדוגמה, totpSecret. אנו משתמשים בחיבור LDAPS מאובטח.
- מסירת קוד QR—דרך פורטל שירות עצמי או ערוץ מאובטח (דואר אלקטרוני ארגוני).
- אישור—המשתמש מזין את הקוד הראשון שנוצר, המערכת מאמתת ומפעילה את הסוד.
- קודי גיבוי—8–10 קודים חד-פעמיים נוצרים, מהופכים (hashed) ונשמרים לכניסה במקרה של אובדן טלפון.
דוגמה לסקריפט יצירת קודי גיבוי
#!/bin/bash for i in {1..10}; do openssl rand -hex 4 done מה כלול בעבודה
במסגרת הפריסה, אנו מספקים:
- ביקורת על תשתית ה-VPN הקיימת (פרוטוקולים, גרסאות, מדיניות).
- פריסת אשכול FreeRADIUS עם שכפול מסד נתונים (PostgreSQL) ואיזון עומסים (keepalived/DNS round-robin).
- אינטגרציה עם Active Directory או כל שרת LDAP: סנכרון משתמשים, קבוצות, תכונות TOTP.
- הגדרת פורטל שירות עצמי לקישור TOTP עצמאי (הנפקת קוד QR, קודי גיבוי).
- הנפקת סודות בכמות גדולה באמצעות סקריפטים (אוטומציה עם Ansible, יצירה, הפצת הוראות).
- תיעוד ניהול ותרחישי שחזור (runbook).
- הדרכת משתמשים ותמיכה בהשקה.
טעויות נפוצות וכיצד להימנע מהן
- אחסון סודות TOTP בטקסט פשוט—הצפנה או hashing הם חובה. ב-LDAP, השתמש בתכונה מסוג octet string והפעל TLS.
- היעדר קודי גיבוי—בלעדיהם, משתמש מאבד גישה אם הוא מאבד את הטלפון. ספק תמיד 8–10 קודי שחזור.
- הגדרת לקוח RADIUS שגויה—בדוק כתובות IP וסודות משותפים בשרת ה-VPN ובקובץ clients.conf.
- התעלמות משעון השרת—TOTP תלוי זמן; חוסר סנכרון של יותר מ-30 שניות גורם לכשלים. הגדר NTP בכל שרתי ה-RADIUS.
השוואת שיטות MFA ל-VPN
| שיטה | אבטחה | נוחות | תלות ברשת | עלות יישום |
|---|---|---|---|---|
| TOTP | גבוהה | גבוהה | לא | בינונית |
| SMS | נמוכה (SIM-swap) | בינונית | כן | נמוכה |
| Push | בינונית | גבוהה | כן | גבוהה |
לוחות זמנים לפריסה
| תרחיש | לוח זמנים |
|---|---|
| FreeRADIUS + OpenVPN, עד 50 משתמשים | 1-2 ימים |
| אינטגרציה עם AD, פורטל שירות עצמי | 3-5 ימים |
| Cisco ASA / Palo Alto + FreeRADIUS + AD | 3-5 ימים |
| ריבוי אתרים, HA RADIUS, 500+ משתמשים | 1-2 שבועות |
העלות מחושבת לאחר ביקורת על תשתית ה-VPN הקיימת שלך ומספר המשתמשים. הזמן ביקורת תשתית VPN ולמד כיצד ליישם MFA עבור הצוות שלך. קבל ייעוץ על יישום—צור קשר כדי להעריך את הפרויקט שלך.
NIST Special Publication 800-53 — MFA הוא אמצעי חובה לגישה מרחוק.







