Debian 8 kurarak linux tabanlı bir sunucu hazırlarken ilk yapılması gereken temel birkaç ayar bulunuyor. Uzun süreli kullanacağım bir sunucu da olsa, kısa süreli geliştirme ya da sınama amaçlı bir sunucu da olsa genelde bunları hep yaparım. Hem kendim için not almak hem de işine yarayacak olanlarla paylaşmak için buraya yazıyorum. (Buradaki adımlar muhtemelen Debian türevi dağıtımların (Ubuntu, Pardus…) çoğuyla uyumludur.)

Debian ASCII Logo

Root Girişi

Öncelikle sunucuya en üst düzey yönetici (root) olarak giriş yapıyoruz. Eğer makinemize fiziksel erişimimiz varsa giriş ekranında root kullanıcı adı ve bu kullanıcı için belirlediğimiz parolayla giriş yapabiliriz. Makinemiz uzaktaysa ssh ile bağlanmamız gerekiyor. Uzak makineye Linux uçbirimde (terminal) şu komutu yazarak bağlanıyoruz:

ssh root@SUNUCU_IP_ADRESI

Bu komutu verdikten sonra parolamızı girerek oturum açma işlemini tamamlıyoruz. Eğer sunucuya ilk kez bağlanıyorsak “The authenticity of host ‘SUNUCU_IP_ADRESI’ can’t be established.” gibi bir uyarı alabilirsiniz. Bu uyarıyı ‘yes’ cevabıyla geçtiğinizde uzak sunucunun ip adresi ve parmak izi yerel makinenize kaydedilecek ve bir dahaki girişte sorulmayacaktır.

Yeni Kullanıcı Oluşturma

Sunucu güvenliğini tehlikeye atmamak için root parolanızın yeterince uzun ve karmaşık olduğundan emin olun ve tercihen uzaktan (ssh yoluyla) root erişimini engelleyin; çünkü sunucunuza sızmaya çalışan saldırganların ilk deneyeceği kullanıcı adı root olacaktır ve başarılı olmaları durumunda sunucunuzda en üst düzey yetkiye sahip olurlar. Bunun için öncelikle yeni bir kullanıcı oluşturmalısınız; böylece root erişimini engellediğinizde sunucuya ulaşabileceksiniz. Uzak makinede şu komut ile yeni bir kullanıcı oluşturun (yeni kullanıcı adımız ‘deneme’ olsun):

adduser deneme

Bu komutu verdiğinizde parola, isim, vb. bilgiler sorulacaktır. Bunlardan sadece parola bilgisini girip geri kalanları enter ile geçebilirsiniz. Parolanızın uzunluğu ve karmaşıklığı arttıkça sunucunuzun güvenliği de artacaktır.

SSH Yapılandırma

Şimdi de sunucumuzun güvenliğini artırmak için ssh bağlantı noktasını (port) değiştirip root erişimini kapatalım. Öncelikle uzak makinede şu komutu vererek ssh yapılandırma dosyasını açın:

nano /etc/ssh/sshd_config

Açılan dosyada öncelikle

Port 22

değerini bulun ve buradaki port numarasını tercihen büyük ve başka bir uygulama tarafından kullanılmayan bir sayı ile değiştirin. Ben burada 2593 değerini kullanacağım. Yani bu satırın son hali şöyle olacak:

Port 2593

Şimdi de root erişimini engellemek için şu satırın bulun:

PermitRootLogin yes

ve şu şekilde değiştirin:

PermitRootLogin no

Dosyadaki değişiklikleri yaptıktan sonra kaydedip kapatın (CTRL-X, ardından Y, sonra da ENTER). Yaptığımız değişikliklerin etkinleşmesi için sshd hizmetini yeniden başlatmamız gerekiyor. Bunun için uzak sunucuda şu komutu veriyoruz:

systemctl restart ssh

Şimdi de yeni bir uçbirim penceresi açıp şu komutu kullanarak uzak sunucuya yeni kullanıcı adımızla bağlanarak her şeyin yolunda olduğundan emin olalım:

ssh deneme@SUNUCU_IP_ADRESI -p 2593

Eğer başarıyla giriş yaptıysak yeni kullanıcımıza yönetici hakları (sudo) verip sonra da basit bir güvenlik duvarı (firewall) ayarlayabiliriz. Şimdilik her iki uçbirim penceresi de (root ve yeni kullanıcı) açık kalsın.

Sudo

Yeni kullanıcımızı sudo listesine eklemek için öncelikle root olarak uzak makinede şu komutları vererek sudo paketini kuralım:

apt-get update
apt-get install sudo

Paket kurulumu bittikten sonra yine root olarak uzak makinede şu komutu vererek yeni kullanıcımızı sudoers listesine ekliyoruz (‘deneme’ yerine kendi kullanıcı adınızı yazın):

usermod -a -G sudo deneme

Artık root kullanıcısına ait uçbirimden şu komutlarla çıkış yapıp pencereyi kapatabiliriz:

logout
exit

Bundan sonra yeni kullanıcınızla komutların başına ‘sudo’ ekleyerek yönetici haklarıyla çalıştırabilirsiniz.

Güvenlik Duvarı (Firewall)

Sadece ihtiyaç duyduğumuz bağlantı noktalarından erişime izin verip geri kalanları engellemek de sunucumuzun güvenliğini artıracaktır. Şimdilik sunucuda sadece ssh bağlantı noktasına ihtiyaç duyduğumuz için SSH Yapılandırma adımında belirlediğimiz port numarasından erişime izin vereceğiz. Diğer tüm bağlantı noktaları engellenecek. Bunun için öncelikle uzak makinede yeni kullanıcımızla şu komutu vererek Uncomplicated Firewall (ufw) uygulamasını kuruyoruz:

sudo apt-get install ufw

Kurulum bittikten sonra şu komutla ssh bağlantı noktasından erişime izin veriyoruz (2593 yerine SSH Yapılandırma adımında kendi belirlediğiniz bağlantı noktası numarasını girin):

sudo ufw allow 2593/tcp

Şimdi de girdiğimiz yeni engelleme/izin verme kurallarını etkinleştirmek için uzak makinede şu komutu verelim:

sudo ufw enable

Bu komutu verdiğinizde, ssh bağlantınızın kopabileceğini belirten bir uyarı alırsınız. Eğer yeni belirlediğiniz bağlantı noktasından giriş yapmadıysanız ya da ufw komutuna yanlış port numarası girdiyseniz makineye bir daha erişemeyebilirsiniz; o yüzden bu bilgileri doğru girdiğinizden emin olun!

Bu noktaya kadar, yeni Debian Linux sunucunuzun kurulumu için sağlam bir temel atmış oldunuz. Artık ihtiyacınız olan diğer yazılımları kurarak sunucunuzu yapılandırmaya devam edebilirsiniz. Özgür kalın! 😉

Kaynakça

 

Sorumluluk Reddi (Yasal Uyarı)

Bu web sitesinde ve/veya makalede verilen bilgilerin doğruluğunu teyit etmek okuyucunun sorumluluğundadır. Buradaki bilgiler sadece yardımcı olmak amacıyla ve iyi niyetle paylaşılmaktadır; fakat bu bilgilere dayanarak hareket etmek ya da etmemek tamamen okuyucunun sorumluluğundadır ve doğabilecek sonuçlar ve/veya oluşabilecek zararlar nedeniyle yazara maddi veya manevi hiçbir sorumluluk yüklenemez.