איך מגדירים Point-To-Site בסביבת Azure Resource Manager

שלום לכולם,

במאמר הזה אני רוצה לדבר אתכם על פתרון Point-To-Site מה זה בכלל Point-To-Site ואיך מגדירים את הפתרון ב-Azure?

מה זה Point-To-Site?

פתרון Point-To-Site מאפשר לנו ליצור חיבור מאובטח לרשת שלנו (במקרה שלנו הרשת ב-Azure) ממחשב קצה באופן פרטני בלי תלות במיקום המחשב.

חיבור Point-To-Site אינו מצריך ציוד VPN מתקדם ומאפשר לנו גישה לרשת ברגע שהמשתמש מפעיל את התחברות (VPN Client) במחשב הקצה שלו באופן מאובטח בעזרת פרוטוקול (Secure Socket Tunnelling Protocol (SSTP עם הזדהות בעזרת תעודות.

Point-To-Site הוא פתרון מצוין כאשר רוצים להתחבר ל-VNET ממיקום מרוחק כמו מהבית, בית קפה או אפילו שיש לך מספר ספקים או לקוחות שצריכים להתחבר לסביבה שלך באופן מאובטח ללא צורך להשתמש בהתקני חומרה יקרים.

נכון לכתיבת מאמר זה אין אפשרות להגדיר (Point-To-Site(ARM בעזרת פורטל Azure.

אז בואו נתחיל בהקמת הפתרון על גבי Azure ב-4 שלבים + שלב בדיקות Smile

שלב ראשון – הגדרת ה-Virtual Network (תשתיות הרשת) ב-Azure.

ניתן להקים את ה-VNET במספר דרכים כמו Azure Portal, PowerShell ועוד.

אני בחרתי להראות לכם איך מקימים  VNET בעזרת PowerShell:

#Resource Group Name
$RGName = "DemoRG01"
#Azure Region
$Location = "West Europe"
#Azure VNET Name
$VNetName = "DemoVNet01"
#VNet Address Space
$VNetAddress = "192.168.0.0/16"
#First Subnet Name
$SubnetName01 = "LAN"
#First Subnet Range
$SubnetRange01 = "192.168.1.0/24"
#Gateway Subnet Name – 'GatewaySubnet' is mandatory for the gateway to work (please do not change this name)
$SubnetGWName = "GatewaySubnet"
#Gateway Subnet Range
$SubnetGWRange = "192.168.10.0/28"

#Create ResourceGroup
New-AzureRmResourceGroup -Name:$RGName -Location:$Location;

#Create VNET
$Subnet01 = New-AzureRmVirtualNetworkSubnetConfig -Name $SubnetName01 -AddressPrefix $SubnetRange01;
$SubnetGW = New-AzureRmVirtualNetworkSubnetConfig -Name $SubnetGWName -AddressPrefix $SubnetGWRange;
New-AzureRmVirtualNetwork -Name:$VNetName -AddressPrefix:$VNetAddress -Subnet $Subnet01, $SubnetGW -ResourceGroupName:$RGName -Location:$Location;

שלב שני – יצירת Root Certificate ו-Client Certificate

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

בשלב זה אנחנו מעלים את ה-Root Certificate שלנו ולאחר מכן נצטרך להנפיק תעודות לתחנות הקצה על מנת לבצע התחברות תקינה.

ניתן להשתמש באחד משני סוגי Root Certificate הבאים:

  • שימוש ב-Root מסביבת Enterprise Certificate שיש לנו בארגון.
  • שימוש ב-Root Self-Signed.
במאמר זה נשתמש ב-Self-Signed ונראה איך מייצרים את התעודה בעזרת כלי MakeCert שקיים לנו ב-Windows Software Development Kit (SDK) for Windows 10 (אני משתמש במערכת הפעלה Windows 10).
לאחר שהתקנו את ה-SDK נוכל לראות שיש לנו כלי בשם MakeCert בנתיב הבא: “C:\Program Files (x86)\Windows Kits\10\bin\x64”.
  1. יש ליצור Root Self-Signed Certificate בעזרת הפקודה הבאה:
    makecert -sky exchange -r -n "CN=RootCertDemo" -pe -a sha1 -len 2048 -ss My "RootCertDemo.cer"

    ולאחר מכן יש לייצא את התעודה בלי ה-Private Key ולשמור בפורמט Base-64 encoded X.509.

    MakeCert01

  2. יש לפתוח את ה-Root Certficate שייצאנו ב-Notepad ולהעתיק את הקטע בין “BEGIN CERTIFICATE & END CERTIFICATE“ ולהכניס למשתנה RootCertKey$ שמופיע בשלב 3.
  3. יצירת Azure VPN Root Certficate (העלאת התעודה ל-Azure):
    #Root Cert Name
    $RootCertName = "RootCertDemo.cer";
    #Key of Root Self-Sigend Certficate Base64 format
    $RootCertKey = "MIIC/DCCAeigAwIBAgIQqrRzKBnAzrtHQtZukHFoMTAJBgUrDgMCHQUAMBcb3RDZ......";
    
    #Create Azure VPN Root Cert "Upload the Root Cert"
    $AZRRootCert = New-AzureRmVpnClientRootCertificate -Name:$RootCertName -PublicCertData:$RootCertKey;
  4. הנפקת Client Certificate בעזרת הפקודה הבאה:
    makecert.exe -n "CN=ClientCertDemo" -pe -sky exchange -m 96 -ss My -in "RootCertDemo" -is my -a sha1

    לאחר שהצלחנו להנפיק את התעודה יש לייצא עם ה-PrivateKey ולשמור במקום בטוח עם סיסמה כדי שנוכל להתקין בהמשך את התעודה על תחנות הקצה.
    MakeCert02

שלב שלישי – יצירת Azure Gateway עם Point-To-Site

לאחר שהגדרנו את הרשת והעלנו את ה-Root Certficate לענן כל מה שנשאר לנו הוא להגדיר את ה-Azure Gateway עם טווח הכתובות עבור משתמשי הקצה שמתחברים בעזרת Point-To-Site

#Get VNET Configuration
$VNet = Get-AzureRmVirtualNetwork -Name:$VNetName -ResourceGroupName:$RGName;
#Get Gateway Subnet VNET Configuration
$SubnetGateway = Get-AzureRmVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork:$VNET;
#Gateway Name
$GatewayName = "GatewayDemo"
#Gateway PublicIP Name
$GatewayPIPName = "GatewayDemoPIP"
#VPN Client Pool Range (Point-To-Site Pool)
$VPNClientPool = "172.16.1.0/24"
#Create Public IP
$PublicIP = New-AzureRmPublicIpAddress -Name $GatewayPIPName -AllocationMethod:"Dynamic" -ResourceGroupName:$RGName -Location:$Location;
#Create Gateway Configuration
$GatewayConf = New-AzureRmVirtualNetworkGatewayIpConfig -Name:"GWConf" -Subnet:$SubnetGateway -PublicIpAddress:$PublicIP;

#Create Gateway using Gateway Configuration and Point-To-Site Configuration
New-AzureRmVirtualNetworkGateway -Name:$GatewayName -IpConfigurations:$GatewayConf -GatewayType:Vpn -VpnType:RouteBased -EnableBgp:$false -GatewaySku:Standard -VpnClientAddressPool:$VPNClientPool -VpnClientRootCertificates:$AZRRootCert -ResourceGroupName:$RGName -Location:$Location;

שלב יצירת Azure Gateway לוקח בדר”כ כ-30 דקות.

שלב רביעי – התקנת VPN Client ו-Client Certificate.

התקנת Client Certificate

בשלבים הקודמים יצרנו Client Certificate ושמרנו את ה-PFX בצד, כעת אנו צריכים להשתמש ב-PFX ולהתקין את התעודה על התחנה הרצויה.
כל מה שצריך לעשות לעשות זה Install לתעודה ולהזין את הסיסמה שאיתה ביצענו את ה-Export.
לאחר שהתקנו את התעודה בהצלחה נתקין את ה-VPN Client ונתחבר לסביבה.

התקנת VPN Client

לאחר שהתקנו את התעודה נוריד את ה-VPN Client בעזרת הפקודה הבאה:

#Get Azure VPN Client Package URL
Get-AzureRmVpnClientPackage -VirtualNetworkGatewayName:$GatewayName -ProcessorArchitecture:"Amd64" -ResourceGroupName:$RGName;

נקבל לינק להורדת הקובץ ולאחר ההתקנה כל מה שנשאר הוא לבצע Connect ולהתחבר לסביבה.

VPNConnect

שלב חמישי – ביצוע בדיקות התחברות

לאחר שביצענו Connect נוכל לוודא שהחיבור VPN פעיל בעזרת פקודת IPConfig /All.

TestConnection

בתוצאה נוכל לראות שקיבלנו כתובת IP מרשימת (Pool) הכתובות שהגדרנו עבור Point-To-Site.

לסיכום:

לינק להורדת הסקריפט שכולל יצירת VNET ו-Point-To-Site Gateway:

Create Azure VNET With Point-To-Site

לינק להורדת הסקריפט שכולל יצירת Point-To-Site Gateway מ-VNET קיים:

Create Point-To-Site on existing Azure VNET

בהצלחה חברים Smile

Be the first to comment

Leave a Reply

כתובת האימייל שלך לא תפורסם


*