Microsoft Azure’de Linux VM kimlik doğrulamasını yönetmek

Google Images

Microsoft Azure çeşitli Linux dağıtımlarını destekler. Yeni bir Linux sanal makinesi hazırlarken yeni oluşturulmuş Linux VM’yi doğrulamak için çeşitli yöntemlerimiz vardır. Parolalar, SSH Keys ve Azure AD’yi kullanabiliriz.

Geleneksel parola yöntemini tercih ettiğimiz ve public IP ile bir VM kullanırken, VM’yi potansiyel bir brute-force saldırısına maruz bırakacaktır. Öte yandan, kimlik doğrulama için SSH Keys kullanmak, giriş yapmak için şifrelerin kullanımını ortadan kaldırdığı için bu riski azaltmaya yardımcı olur.

Bu makalede, bir Linux VM’yi parola ve SSH Keys kimlik doğrulaması kullanacak şekilde yapılandıracağız ve daha sonra güvenliğini artırmak için paroladan SSH Keys’e geçeceğiz.

Linux VM için çeşitli kimlik doğrulama türlerini denemeden önce, PuTTY’yi indirip yüklememiz gerekiyor. Buradan indirebilirsiniz.

Putty’i, Linux VM’ye bağlanmak için kullanacağız ve SSH kimlik doğrulaması için gereken SSH Keys’leri üreteceğiz.

Şifre doğrulaması kullanma

Microsoft Azure Portal’ı kullanarak yeni bir sanal makine hazırlarken , sihirbazın ilk bölümünde authentication type olarak Password tanımlayacağız ve ardından kullanıcı adı ve parola tanımlayacağız.

VM oluşturulduktan sonra, üzerine tıklayabilir ve Overview sayfasında Connect’e tıklayabilirsiniz. SSH sekmesi altında Linux VM’mize bağlanmak için gereken tüm bilgileri görebilirsiniz.

Masaüstü biligisayarımızdan Linux VM’ye bağlanmak için PuTTY’den yararlanacağız. PuTTY’i açın ve Host Name ya da IP Address alanına önceki adımda verilen public IP adresini ekleyin. Username@IPAddress biçimini kullanırsanız, kullanıcı adı yazmanıza gerek kalmayacaktır.

Linux VM’ye giriş yaptıktan sonra, sudo passwd root kullanarak root şifresini değiştirebilir ve aşağıdaki resimde gösterildiği gibi yeni şifreyi belirleyebiliriz.

SSH public key authentication kullanma

İlk adım, SSH kimlik doğrulaması ile kullanılacak bir çift asymmetric key üretmektir.

Key pair oluşturmak için PuTTY Key Generator kullanacağız. Puttygen.exe dosyasını çalıştırın.

Public key görüntülenecek ve bu bilgiyi VM provizyonu sırasında kullanacağız. Bir sonraki adım, bir key passphrase tanımlamaktır ve son olarak, her iki anahtarı da güvenli bir konumda saklamaktır.

Artık elimizde bir public key var. Yeni bir Linux VM’si hazırlayacağız ve bir kullanıcı adı tanımlayacağız (örneğin “batman”). SSH public key’i seçin ve pubic key’i yapıştırın. Varsayılan değerleri kullanarak devam edin.

Not Bir key pair oluşturmak için birkaç seçeneğimiz var. Örneğin Azure CLI’yi kullanarak, SSH key pair oluşturabiliriz.

SSH Keys kullanarak bağlantı kurmak için, PuTTY’yi , Linux VM’nin oluşturulması sırasında eklediğimiz public key’lerin karşılığı olan private key’imizle yapılandırmamız gerekecektir. Connection, SSH, Auth ve ardından private key dosyasını seçin.

İlk kez bağlanırken, şifre key pair oluşturulması sırasında tanımladığımız private key içindir.

Authorized_keys dosyasını kontrol edersek, VM’nin oluşturulması sırasında tanımladığımız public key’i göreceğiz. Masaüstümüzde bulunan public key dosyasının içeriği ile Linux VM’de ki içeriğin aynı olduğunu görebiliriz.

Şifreden SSH key’e geçiş

SSH Keys üzerinden kimlik doğrulamanın yalnızca parolalardan daha güvenli olduğu ve SSH Keys kullanmak için bir parola ile yapılandırılmış bir VM’den geçiş işlemine devam edildiğini açıkça görüyoruz.

Ilk adım .ssh/authorized_keys için aşağıdaki komutu çalıştırmalısınız. Klasör veya dosya yoksa, bunları oluşturmalıyız.

echo “ssh-rsa <single-line-public-key>” >> ~/.ssh/authorized_keys

Bir başka önemli nokta, dosya ve klasörün uygun izinlere sahip olması gerektiğidir (son komut ls -la , ayrıntılı olarak gösterir).

Bir sonraki adımımız, SSH Keys kullanarak oturum açmayı denemektir.

/Etc/ssh/sshd_config dosyasını düzenleyeceğiz ve aşağıdaki resimde gösterildiği gibi, değeri PasswordAuthentication no olarak değiştireceğiz. Bundan sonra, aşağıdaki komutu çalıştırarak ssh hizmetini yeniden başlatmamız gerekiyor.

sudo systemctl restart ssh

Çözümümüzü test etmek için, çalışan şifreleri kullanarak giriş yapmayı deneyebiliriz. Ancak, aşağıdaki gibi bir hata almamız gerekiyor.

KAYNAKCLOUD