Bastion Host: נקודת הכניסה היחידה לתשתית הפרטית שלך
דמיין שיש לך 50 שרתים בתת-רשתות פרטיות, ללא כתובת IP ציבורית. כדי להתחבר, מפתחים היו מעתיקים מפתחות לכל שרת? או פותחים SSH על כל המופעים? שתי האפשרויות הן חורי אבטחה. על פי הסטטיסטיקה, רוב התקריות נובעות מניהול גישה לא תקין. נתקלנו בזה פעמים רבות ואנחנו יודעים איך לתקן.
Bastion Host הוא נקודת הכניסה המבוקרת היחידה לכל התשתית הפרטית שלך. במקום 50 פורטים פתוחים, אתה מקבל מארח קפיצה אחד עם הקשחה קפדנית. הגישה היא דרך SSH ProxyJump, ללא העתקת מפתחות ל-bastion. ההפעלות מוקלטות, כל חיבור מתועד. אנחנו מקימים פתרונות כאלה במפתח מלא — מ-bastion פשוט ועד אינטגרציה עם Teleport או AWS SSM. נבחן את הפרויקט שלך תוך יום אחד.
כיצד Bastion Host מפחית סיכון אבטחתי?
כל ביקורת אבטחה (PCI DSS, SOC 2) דורשת בידוד גישה לייצור. Bastion ממזער את שטח התקיפה: אתה פותח פורט אחד על ה-bastion, ורק מרשימת IPs מותרים. שליטה מלאה בהפעלה — מי, מתי, מה הם עשו. ללא bastion, זה בלתי אפשרי. על פי NIST SP 800-207, תצורה מינימלית צריכה לכלול bastion לגישה למערכות קריטיות. חיסכון ברישיונות בעת שימוש ב-bastion במקום VPN יכול להגיע ל-70%. העלות של תקריב אבטחה בודד יכולה להיות גבוהה פי כמה.
ארכיטקטורה: איך אנחנו בונים Bastion ב-AWS
תכנית טיפוסית מהמהנדסים שלנו: bastion בתת-רשת ציבורית עם Elastic IP, כל מופעי EC2 בתת-רשתות פרטיות. קבוצת האבטחה של ה-bastion מקבלת SSH רק מכתובות IP של המשרד (לדוגמה, 203.0.113.0/24). קבוצת האבטחה של השרתים הפנימיים מאפשרת SSH רק מה-bastion. אין 0.0.0.0/0. דוגמת Terraform:
resource "aws_security_group" "bastion" {
name = "bastion-sg"
vpc_id = var.vpc_id
ingress {
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = var.allowed_cidr_blocks # ["203.0.113.0/24"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
}
resource "aws_security_group" "internal" {
name = "internal-servers-sg"
vpc_id = var.vpc_id
ingress {
from_port = 22
to_port = 22
protocol = "tcp"
security_groups = [aws_security_group.bastion.id]
}
} מה אם אין לך כתובות IP ציבוריות?
אם התשתית שלך מבודדת לחלוטין, השתמש ב-AWS SSM או Azure Bastion. שירותים אלה אינם דורשים IP ציבורי — הגישה היא דרך API עם אימות IAM. אבל לעבודה אינטראקטיבית, bastion מהיר יותר: זמן השהיה של SSM גבוה ב-200–500 אלפיות השנייה. אנחנו לעתים קרובות משלבים: bastion ל-SSH, SSM לאוטומציה.
דוגמה מעשית: Bastion עבור Kubernetes
בפרויקט אחד, הקמנו bastion לגישה ל-API של Kubernetes. היה לנו אשכול EKS פרטי ב-VPC ללא גישה ציבורית. מהנדסי DevOps היו צריכים להריץ kubectl ו-helm. הפתרון: bastion עם kubectl ו-helm מותקנים, ו-kubeconfig מוגדר דרך AWS IAM Authenticator. הגישה הייתה דרך ProxyJump עם MFA. זה בידד לחלוטין את שרת ה-API תוך מתן ממשק נוח למפתחים. כל התהליך מתועד ב-runbook שאנחנו מספקים ללקוח.
איך להקים Bastion ב-5 שלבים
- בחר הפצה — Ubuntu LTS, חבילות מינימליות, רק SSH.
- החל קבוצת אבטחה — אפשר SSH רק מכתובות ה-IP שלך (משרד/VPN), דחה כל דבר אחר.
- הגדר SSH ProxyJump במחשבי הלקוח (ראה תצורה למטה).
- הפעל MFA דרך Google Authenticator או Duo.
- הפעל הקלטת הפעלה — tlog, auditd, או SSM.
דוגמת ~/.ssh/config לגישה שקופה:
Host bastion
HostName 203.0.113.10
User ubuntu
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60
Host *.internal
User ubuntu
IdentityFile ~/.ssh/id_ed25519
ProxyJump bastion
לאחר מכן, resource "aws_security_group" "bastion" { name = "bastion-sg" vpc_id = var.vpc_id ingress { from_port = 22 to_port = 22 protocol = "tcp" cidr_blocks = var.allowed_cidr_blocks # ["203.0.113.0/24"] } egress { from_port = 0 to_port = 0 protocol = "-1" cidr_blocks = ["0.0.0.0/0"] } } resource "aws_security_group" "internal" { name = "internal-servers-sg" vpc_id = var.vpc_id ingress { from_port = 22 to_port = 22 protocol = "tcp" security_groups = [aws_security_group.bastion.id] } } מתחבר אוטומטית דרך ה-bastion. עבור scp: Host bastion HostName 203.0.113.10 User ubuntu IdentityFile ~/.ssh/id_ed25519 ServerAliveInterval 60 Host *.internal User ubuntu IdentityFile ~/.ssh/id_ed25519 ProxyJump bastion .
Bastion לעומת AWS SSM: מה לבחור?
| קריטריון | Bastion Host | AWS SSM Session Manager |
|---|---|---|
| IP ציבורי | נדרש | לא נדרש |
| מפתחות SSH | כן | לא (IAM) |
| הקלטת הפעלה | דרך tlog/script | מובנה (S3 + CloudTrail) |
| מהירות | גבוהה | בינונית (זמן השהיה) |
| מורכבות הגדרה | נמוכה | בינונית (IAM + Agent) |
SSM טוב לתרחישים פשוטים, אבל לעבודה אינטראקטיבית תכופה, bastion מהיר יותר ומוכר יותר. אנחנו לעתים קרובות משלבים: bastion ל-SSH, SSM לאוטומציה. בנוסף, bastion מפחית את עלות תקריות האבטחה כאשר הוא מוגדר כראוי.
אילו אמצעי אבטחה הם חובה על Bastion?
הקשחה בסיסית על ה-bastion:
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config
echo "AllowUsers bastion-user" >> /etc/ssh/sshd_config
echo "Port 2222" >> /etc/ssh/sshd_config
systemctl reload sshdfail2ban לחסימת ניסיונות פריצה:
[sshd] enabled = true maxretry = 3 bantime = 3600 findtime = 600 MFA דרך libpam-google-authenticator הוא חובה לייצור. לצוותים של 10 ומעלה, שלב עם Duo או Okta דרך RADIUS. זה מספק אימות דו-שלבי בנוסף למפתחות SSH.
רשימת בדיקה להקמת Bastion Host:
- הפצה מינימלית (Ubuntu LTS, Debian, Alpine)
- SSH על פורט לא סטנדרטי
- מפתחות בלבד + MFA
- fail2ban עם maxretry=3
- קבוצת אבטחה עם רשימת IPs מותרים
- הקלטת הפעלה (tlog, auditd)
- עדכונים שוטפים
תהליך: מביקורת ועד פריסה
- ביקורת תשתית נוכחית — ניתוח VPC, קבוצות אבטחה, שיטות גישה קיימות.
- עיצוב ארכיטקטורה — תכנית עם bastion, ניתוב, יתירות.
- פריסה דרך Terraform — יצירת bastion host, קבוצות אבטחה, NAT אם נדרש.
- הגדרת SSH ו-MFA — הקשחה, ProxyJump, אינטגרציה עם IdP ארגוני.
- בדיקה ותיעוד — אימות חיבורים, כתיבת הוראות לצוות.
- הדרכה ותמיכה — הסבר על התהליך, מתן runbook.
לוח זמנים ועלות
הקמת bastion בסיסית עם הקשחה אורכת בין 3 ל-5 שעות. אינטגרציה עם SSM או Teleport אורכת בין יום ל-2 ימי עבודה. העלות מחושבת באופן אישי לפי מורכבות התשתית ודרישות הביקורת. בממוצע, חיסכון ברישיונות וניהול מגיע עד 70% לאחר היישום.
מה כלול בהקמת Bastion במפתח מלא
- עיצוב ארכיטקטורה (תכנית VPC, קבוצות אבטחה, NAT)
- פריסת bastion דרך Terraform/CloudFormation
- הגדרת SSH ProxyJump ותצורות צוות
- MFA (TOTP או ארגוני)
- מערכת ביקורת הפעלה (tlog, auditd, או Teleport)
- תיעוד והדרכת צוות
אנחנו מבטיחים שאחרי ההקמה, תעבור כל ביקורת. למהנדסים שלנו יש 7+ שנות ניסיון ב-DevOps ויותר מ-50 פרויקטי אבטחת תשתית.
הזמן הקמת bastion — קבל ייעוץ והערכת פרויקט. צור קשר היום.







