Alıştırma - Korumalı alan ortamını ayarlama

Tamamlandı

Bu ünitede, bu modül boyunca kullandığınız kaynakları ayarlarsınız. Müşterilerinizin kullandığı bir uygulamayı barındıran bir sunucudan oluşan temel bir mimariyi hayal edin. Sunucu, verilerini depolamak için bir veritabanına bağlanır. Uygulama bir sanal makinede (VM) çalışır. Veritabanı yakın zamanda VM üzerinde çalışan bir SQL Server veritabanından Azure SQL Veritabanı hizmetindeki bir veritabanına geçirildi. Veritabanınızın güvenliğini nasıl sağlayabildiğinizi göstermek için bu modülde kullanmak üzere aşağıdaki kaynakları ayarlayın:

  • appServer adlı bir Linux VM. Bu sunucu, kullanıcıların bağlanacağı uygulama sunucusu gibi davranır. Veritabanına bağlanması gerekir. veritabanına bağlantı yapan appServer üzerinde çalışan bir uygulamanın benzetimini yapmak için VM'ye yükleyinsqlcmd.
  • Bir Azure SQL Veritabanı mantıksal sunucusu. Bu mantıksal sunucu, bir veya daha fazla veritabanını barındırmak için gereklidir.
  • Mantıksal sunucunuzda marketplaceDb adlı bir veritabanı. Bu veritabanını AdventureWorksLT tanıtım veritabanını kullanarak oluşturursunuz, böylece çalışmak için bazı tablolarınız ve verileriniz olur. Bu veriler, düzgün bir şekilde güvenliğini sağlamak istediğiniz e-posta adresleri ve telefon numaraları gibi bazı hassas verileri içerir.

Azure SQL Veritabanı oluşturma

  1. İlk olarak, bazı değişkenleri ayarlayın. içinde [] gösterilen aşağıdaki değerleri istediğiniz değerlerle değiştirin. [password] en az sekiz karakter içermelidir ve bu kategorilerden en az üçünün karakterlerini içermelidir: büyük harf karakterler, küçük harfler, sayılar ve sayısal olmayan karakterler. Değeri daha sonra kullanmak üzere kaydedin.

    export ADMINLOGIN='[ServerAdmin]'
    export PASSWORD='[password]'
    export SERVERNAME=server$RANDOM
    export RESOURCEGROUP=<rgn>[sandbox resource group name]</rgn>
    export LOCATION=$(az group show --name $RESOURCEGROUP | jq -r '.location')
    
  2. Aşağıdaki komutu çalıştırarak yeni bir Azure SQL Veritabanı mantıksal sunucusu oluşturun.

    az sql server create \
        --name $SERVERNAME \
        --resource-group $RESOURCEGROUP \
        --location $LOCATION \
        --admin-user $ADMINLOGIN \
        --admin-password $PASSWORD
    
  3. Oluşturduğunuz mantıksal sunucuda marketplaceDb adlı veritabanını oluşturmak için aşağıdaki komutu çalıştırın. Bu komut AdventureWorksLT veritabanını şablon olarak kullandığından, çalışmak için önceden doldurulmuş tablolara sahip olursunuz.

    az sql db create --resource-group $RESOURCEGROUP \
        --server $SERVERNAME \
        --name marketplaceDb \
        --sample-name AdventureWorksLT \
        --service-objective Basic
    
  4. Bu veritabanının bağlantı dizesi almak için aşağıdaki komutu çalıştırın.

    az sql db show-connection-string --client sqlcmd --name marketplaceDb --server $SERVERNAME | jq -r
    

    Çıkışınız aşağıdaki örneğe benzemelidir. Bu modülün ilerleyen bölümlerinde veritabanınıza bağlanmak için bu komuta ihtiyacınız olduğundan bu komutu kullanışlı tutun. [username] Daha önce değişkenlerde belirttiğiniz ve [password] kimlik bilgileriyle değiştirmek istediğiniz komuttaki ADMINLOGIN ve PASSWORD yer tutucularını not edin.

    sqlcmd -S tcp:server12345.database.windows.net,1433 -d marketplaceDb -U '[username]' -P '[password]' -N -l 30
    

Linux sanal makinesi oluşturma ve yapılandırma

Bazı örnekler aracılığıyla kullanılacak Linux VM'sini oluşturun.

  1. VM'yi oluşturmak için aşağıdaki komutu çalıştırın. Bu komutun tamamlanması birkaç dakika sürebilir.

    az vm create \
      --resource-group $RESOURCEGROUP \
      --name appServer \
      --image Ubuntu2204 \
      --size Standard_DS2_v2 \
      --public-ip-sku Standard \
      --generate-ssh-keys
    

    Bu komut tamamlandığında aşağıdaki örneğe benzer bir çıktı görmeniz gerekir.

    {
      "fqdns": "",
      "id": "/subscriptions/nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn/resourceGroups/learn-nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn/providers/Microsoft.Compute/virtualMachines/appServer",
      "location": "westus",
      "macAddress": "nn-nn-nn-nn-nn-nn",
      "powerState": "VM running",
      "privateIpAddress": "nn.nn.nn.nn",
      "publicIpAddress": "nnn.nnn.nnn.nnn",
      "resourceGroup": "learn-nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn",
      "zones": ""
    }
    
  2. VM'niz başarıyla oluşturulduktan sonra SSH kullanarak genel IP adresine bağlanın.

    ssh nnn.nnn.nnn.nnn
    

    Burada nnn.nnn.nnn.nnn, bir önceki adımdaki publicIpAddress çıkışının değeridir.

    Dekont

    Dikkat edilecek iki nokta vardır. İlk olarak, VM oluşturma işleminin bir parçası olarak bir SSH anahtar çifti oluşturduğunuz için parolaya ihtiyacınız yoktur. İkincisi, VM'ye ilk kabuk bağlantısında konağın orijinalliği hakkında bilgi istenir. Bunun nedeni, ana bilgisayar adı yerine bir IP adresine bağlanmanızdır. Evet yanıtı, IP adresini bağlantı için geçerli bir konak olarak kaydeder ve bağlantının devam etmesine izin verir.

  3. Sqlcmd aracılığıyla veritabanınıza bağlanabilmeniz için Linux VM'sine mssql-tools yükleyerek işlemleri tamamlayın.

    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile
    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
    source ~/.bashrc
    curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
    curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
    sudo apt-get update
    sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18 unixodbc-dev
    

    Dekont

    Bu komutların bazıları için çok fazla metin kaydırılır, bu nedenle çalıştığından emin olmak için son komutun ardından Enter'ı seçtiğinizden emin olun.

bir Azure SQL Veritabanı mantıksal sunucusu, bu mantıksal sunucuda bir veritabanı ve bir uygulama sunucusundan ağ bağlantısının benzetimini sağlayan appServer adlı bir sanal makine oluşturdunuz. Ardından, veritabanınızın güvenliğini düzgün bir şekilde sağlamayı öğrenin.