Giriş
Yeni bir Ubuntu 16.04/18.04/20.04 sunucu ilk oluşturduğunuzda, sağlam ve güvenli bir sunucu temeli oluşturmak için bu makale anlatılanların uygulanması son derece önemlidir. Sunucu güvenliğini sağlamak ve daha sonradan kuracağınız uygulamalar için temeldir.
Root Olarak Oturum Açma
Sunucuda oturum açabilmek için sunucuya ait IP adresini bilmek gerekir. IP adresini bilmiyorsanız sunucuyu aldığınız yerden öğrenebilirsiniz.
Eğer bir SSH şifresi oluşturduysanız bu şifre ile root olarak sunucuda oturum açabilirsiniz. Sunucu yönetimi için en çok tercih edilen araçlardan biri olan Putty programını veya Windows’un komut aracını kullanabilirsiniz.
Windows komut sistemini kullanacaksanız, ekranın sağ alt köşesinde bulunan Windows ikonuna tıkladıktan sonra “cmd” araması yapın ve komut aracını açın.
Putty kullanacaksanız bu linkten indirip uygun versiyonu bilgisayarınıza kurun.
Ben bu makale için Windows komut istemi aracı ile devam edeceğim.
ssh root@ip_adresi
Eğer herhangi bir uyarı ile karşılaşırsanız uyarıyı kabul edin.
Sunucu Saat Dilimini Ayarlama
Sunucunun saat dilimini ayarlamak için;
sudo dpkg-reconfigure tzdata
Yukarıdaki komutu girdikten sonra açılan listeden Istanbul seçin.
Saat dilimini ayarlamak önemlidir. Log dosyaları kayıt tutarken sunucunun tarih ve saatini baz alır.
Root Nedir?
Root çok geniş ayrıcalıklara sahip linux yönetici kullanıcısıdır. Bu kadar geniş yetkilere sahip bir kullanıcı ile yapılacak bir hata tüm sistemi etkileyeceği için genellikle farklı kullanıcılar oluşturup işlemler yapılır. O yüzden ilk sunucu alındığında ilk yapılması gereken işlemlerden biri “sudo” yetkileri verilmiş ayrıcalıklı bir kullanıcı oluşturmaktır. Şimdi bizde tam bunu yapacağız.
Yeni Kullanıcı Oluşturma
Şimdi yeni bir kullanıcı oluşturacağız ve bir dahaki sunucuda oturum açmada bu kullanıcıyı kullanacağız.
Ben mekici adında bir kullanıcı oluşturacağım. Siz istediğiniz ismi tercih edebilirsiniz.
adduser mekici
Şimdi size bir dizi soru soracak ister cevaplayın isterseniz ENTER ile soruları geçebilirsiniz.
Kullanıcıya “sudo” (idari ayrıcalık) Verilmesi
Şu an normal Linux kullanıcısı oluşturmuş olduk. Ancak bu kullanıcıya bir şeyler katmanın zamanı geldi :muscle:
Bir uygulama kurarken her defasında root hesabına geri dönmemek için mekici adlı kullanıcımızı süper kullanıcı rolü vereceğiz. Böylelikle istediğimiz uygulamayı kurma/kaldırma gibi işlemeleri yapabileceğiz.
usermod -aG sudo mekici
Artık mekici adlı kullanıcı ile işlem yaparken komutların başına sudo eklemek yeterli olacaktır.
Temel Güvenlik Duvarı Kurulumu
Sunucunun yalnızca belirli bağlantılara izin vermesini sağlamak için UFW güvenlik duvarı oluşturmak gerekir.
Sunucuda oturum açmamızı sağlan OpenSSH, UFW’de kayıtlıdır. Aşağıdaki komutu yazarak bunu görebilirsiniz.
ufw app list
Çıktısı:
OutputAvailable applications:
OpenSSH
Güvenlik duvarının SSH bağlantılarına izin verdiğinden emin olmalıyız, böylece bir dahaki sefere tekrar oturum açabiliriz. Bu bağlantılara şunu yazarak izin verebiliriz:
ufw allow OpenSSH
Daha sonra şunu yazarak güvenlik duvarını etkinleştirebiliriz:
ufw enable
Gelen uyarıya y deyip ENTER tuşuna basın.
SSH bağlantılarına hala izin verildiğini şunu yazarak görebilirsiniz:
ufw status
Çıktısı
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Şu anda güvenlik duvarı SSH bağlantıları dışındaki tüm bağlantıları engelliyor. Mesela bu sunucu ile internetten yayın yapmak için 80 veya 443 portlarına güvenlik duvarı üzerinden izin vermek gerekir. Bu konuya Ubuntu üzerine kuracağımız web sunucularını anlatırken değineceğim.
Sırada Ne Var?
Artık sıfır kokusu üzerinde sunucunuza istediğiniz uygulamayı kurabilirsiniz. Bunun için yeni oluşturduğunuz kullanıcı ile oturum açtıktan sonra kurulum komutlarının önüne sudo yazmak yeterli olacaktır.