Giriş
Ubuntu Server 22.04 dağıtım kitini kurduktan sonra, sistem güvenliğini yapılandırmak ve kullanım kolaylığı için bazı adımlar atmanız gerekir.
Aşama 1 - Root hesabı ile yetkilendirme
Bulut sunucusuna temiz bir sunucu yerleştireceğiz ve "root" tek kullanılabilir hesap olacak. Bir sunucu oluşturacağınız zaman, iki bağlantı seçeneği vardır:
- SSH-key tarafından;
- Kullanıcı adı ve şifre ile.
"root" kullanıcısı normal kullanıcılardan daha fazla ayrıcalığa sahiptir. Bazı komutları root olarak kullanırken, bunlar arızalara yol açabilir. Genellikle yapılandırma dosyasında bir değişiklik, hizmetleri yeniden başlatma, bağlantı noktalarını açma ve diğerleri. Bu nedenle, yeni bir kullanıcı oluşturmak ve sudo kullanarak komutları yürütmek gerekir. Risk kesinlikle azalacaktır. Kullanıcı üzerindeki ayrıcalıklar ve kısıtlamalar usermod komutu kullanılarak root tarafından verilir.
Eğer SSH anahtarı ile bağlanıyorsanız bu konudaki talimatları kullanmalısınız. Sunucunun oluşturulması sırasında kullanıcı adı ve şifreyi kullanın, kök kullanıcı için bir şifre oluşturulacaktır, bu bağlantı yöntemi daha az güvenli kabul edilir.
Sunucuya bağlantı aşağıdaki gibidir:
Bundan sonra, ya bir parola belirtmeniz ya da .ssh dizininde ilgili bir anahtar dosyası olması gerekir. Sunucunun gerçekliğini kabul ediyoruz. Bir SSH anahtarı ile bağlanmak bir parola gerektirebilir ve girilmelidir.
Bir sonraki adımda, belirli ayrıcalıklar ve kullanım kısıtlamaları ile kullanılmak üzere bir sistem kullanıcısı oluşturacağız.
Aşama 2 - Yeni bir sistem kullanıcısı ekleme
Root olarak ilk oturum açtığınızda, şu komutu kullanarak sisteme yeni bir kullanıcı eklemelisiniz:
İsteğinize bağlı olarak test_user'ı değiştirebilirsiniz. m anahtarı test_user kullanıcısı için ev dizininde bir klasör oluşturur ve kullanıcıyı sahibi yapar.
Kullanıcı için bir parola belirlemelisiniz:
Yeni bir parola girip onaylıyoruz, karmaşık bir parola kullanmalı ve bunu notlarınıza yazmalısınız. Sudo komutunu kullanırken parola gerekli olacaktır.
Aşama 3 - Yönetici ayrıcalıklarının verilmesi
Bir kullanıcı oluşturduktan sonra, onu sudo grubuna eklemeniz gerekir. Biz şu komutu kullanıyoruz:
"a" tuşu eklemeyi, "G" tuşu grubu, ardından grubun adını ve eklenecek kullanıcıyı belirtir.
Bir kullanıcı oluştururken, erişim hakları ve ayrıcalıkları yoktur. Normal zamanlarda, sunucuyu yeniden başlatmalı, belirli bir veya birkaç hizmetin yapılandırma dosyasında değişiklik yapmalısınız.
Aşama 4 - İlk Temel Güvenlik Duvarı Kurulumu
Ufw bir güvenlik duvarı yardımcı programıdır, yüklenen her paket ufw kuralına eklenir. SSH bağlantımız da ilgili ufw kuralından geçer. Uygulamaların durumunu kontrol etmek aşağıdaki gibi yapılır:
Çıktıda, açık portlar ve ufw'ye eklenen uygulamalar hakkında veri alıyoruz.
Aşağıdaki komut, ufw ile sürekli olarak çalışan uygulamaları listelemenizi sağlar:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Bağlantıda herhangi bir sorun olmadığından emin olmak için aşağıdaki komutu çalıştırarak OpenSSH bağlantısına izin verelim:
Güvenlik duvarını açın ve kabul edin:
Uygulamanın durumunu ve SSH bağlantısının hala güncel olup olmadığını kontrol edelim:
Status: active
To Action From
__ ________ _________
OpenSSH ALLOW Anywhere
Şimdi ufw OpenSSH hariç tüm harici bağlantıları engeller.
Aşama 5 - Bir kullanıcıya uzaktan bağlanma izni
Bir komut istemi açın ve komutu girin:
Bir hesap oluştururken bir parola girmelisiniz. Örneğin sudo kullanarak komutu çalıştıralım (bkz. Ekran 1):
Bir kullanıcı oluşturulduktan sonra, varsayılan kabuk kabuktur. Bash'e geçmeniz gerekiyorsa şu komutu çalıştırabilirsiniz:
test_user kullanıcısı olarak yeniden yetkilendirmeli ve komut yorumlayıcısını kontrol etmelisiniz:
#Output -bash
SSH anahtarı ile root'a bağlanırken
.ssh dizini kullanıcının kök dizininde saklanır, dizindeki authorized_keys dosyası SSH anahtarlarından sorumludur, dosyayı kopyalayıp kullanıcının /home/test_server/.ssh/ dizinine yapıştırmalısınız.
İzinleri korurken dizinin yolunu, dosyanın sahibini değiştirmek için rsync kullanmak daha uygundur:
Bağlanalım:
Bağlantı başarılı olacak, geriye sadece sistemde kendi yararınıza çalışmak kalıyor!
Sonuçlar
- Ufw - sunucuya güvenli bağlantılar için yardımcı;
- SSH anahtarı, benzersiz bir anahtar olmadan sunucuya bağlantıya izin vermez;
- Sudo haklarına sahip bir kullanıcı, root adına çalıştırılan komutlara kıyasla sunucunun çalışmasında hata riskini azaltır.