Register Now

Login

Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Login

Register Now

Canyoupwn.me ~

TR | Linux Kullanıcı Güvenliği

Parola Güvenliği

Parola güvenliği, kullanıcı güvenliğinin en önemli unsurlarındandır. Bilgisayar sistemlerinde ilk karşımıza çıkan güvenlik önlemi parola sistemidir. Hem bizim hem de kullanıcılarımız için parola güvenliği çok büyük önem taşımaktadır. Yakın zamanda çıkan linux işletim sistemlerinde, passwd uygulama sistemi parola güvenliğini en üst seviyeye çıkarmayı amaçlamıştır. Bu yüzden işletim sistemlerimizin güncel olmasına önem göstermeliyiz. Parola belirlerken kaba kuvvet gibi saldırı yollarıyla kırılması zor parolalar seçmeliyiz. Nasıl parola seçmemiz gerektiği  TR | Parola Güvenliği başlığında anlatılmıştır.

Parola Yenileme

Kullanıcıların belirli aralıklarla parolalarını değiştirmelerini sağlamalıyız. Bu sayede kullanıcı güvenliğini artırmış oluruz. Parola değiştirecekleri tarihleri ve ne kadar süre kullanacakları gibi ayarları belirlerken chage  komutu kullanılmaktadır. chage –l username  komutu ile kullanıcımızın parolasına ait bilgileri görmekteyiz.

Parametreleri inceleyelim;
-m  : Kullanıcının parola değiştirdikten sonra tekrar değiştirebilmesi için, en az geçmesi gereken süreyi belirtmemizi sağlar.
-M  parametresi: Belirleyeceğimiz gün geçtikten sonra kullanıcının parolayı tekrar değiştirmesini sağlar.
-E  parametresi: Kullanıcının hesabı son kullanma tarihini belirlememize olanak sağlar. Verilen tarihte hesap kapatılır. Kullanımı “YYYY-AA-GG” şeklindedir.
-I  parametresi: Kullanıcı oturuma belirttiğimiz süre içerisinde giriş yapmazsa, oturum otomatik olarak kilitlenecektir.
-W  parametresi: Kullanıcıya parolasının zamanının dolması ne kadar süre kaldığı hakkında uyaracaktır.

Örnek kullanımı; sudo chage -E 2016-12-29 -M 100 -m 10 -I 5 -W 5 user  şeklindedir.

Yanlış Parola Giriş

Kullanıcının yanlış parola giriş sayısını sınırlandırmalıyız. Kullanıcılar 3 defadan fazla yanlış deneme yaptığında hesabı geçici olarak kapatılmalıdır.  Bu sayede saldırganların, kaba kuvvet gibi saldırılarını önlemiş oluruz. Bu sınırlandırma faillog  komutu ile yapılmaktadır.

Yukarıda ki komutta user kullanıcısının, yanlış parola giriş sayısını 3 deneme ile sınırlamış olduk.
sudo faillog –all  komutu ile bütün kullanıcıların faillog kayıtlarını görebiliriz.
Burada Failures  sütununda kullanıcının yanlış girdiği parola sayısı gözükmektedir. Buradan çok fazla yanlış deneme yapan kullanıcı, passwd –l username  komutu ile hesabı kapatılabilir.

Parolası Olmayan Hesapların Tespiti

Kullanıcıların parolalarını boş bırakmamaları gerekmektedir. Güncel linux sistemleri parolaların boş bırakılmamasına izin vermemektedir.
awk -F: ‘($2== “”) {print}’ /etc/shadow  komutu ile parolası olmayan kullanıcıların tespiti yapılmaktadır.
passwd –l username  komutu ile parolası olmayan kullanıcılar kitlenir.

Kullanıcı UID Değeri 0 olan Kullanıcıların Tespiti

UID sadece root hesabının 0 olması gerekmektedir. UID değeri 0 olan kullanıcıları tespit etmeli ve hesaplarını silmeliyiz veya bu izni bizim verdiğimizden emin olmalıyız. Güncel linux dağıtımlarında, sistem root harici kullanıcıların UID değerinin 0 olmasına izin vermemektedir
awk -F: ‘($3 == “0”) {print}’ /etc/passwd  komutu ile UID si 0 olan kullanıcıları görürüz.

Burada root hariç UID’si 0 olan kullanıcı var ise, passwd –l username  komutu ile hesabı kapatılmalıdır.

Kullanıcıların CPU VE RAM Kullanımlarının Sınırlandırılması

Kullanıcılar herhangi bir kaynak limiti belirlenmediği zaman, sistemi kırmak için sistemi meşgul eden programlar kullanabilirler. Bu sebeple kullanıcıların çalıştıracağı maximum, process sayısını ve kullanacakları RAM boyutunu ayarlamalıyız.

  • En fazla RAM kullanan kullanıcıların tespiti
ps axo %mem,comm,pid,euser | sort -nr | head -n 10

  • En fazla CPU kullanan kullanıcıların tespiti
ps axo pcpu,comm,pid,user | sort -nr | head -n 10

  • Detaylı bilgi
ps -eo pcpu,pid,user,args,pmem | sort -k 1 -r | head -10

/etc/security/limits.conf  dosyasına aşağıdaki satırları ekleyerek, kullanıcının maximum  açabileceği process’i ve kullanacığı bellek boyutunu belirleyebiliriz.

hard core 0 
hard rss 4000 
hard nproc 10

Kullanıcı maximum 10 tane process açabilecek ve 4MB bellek kullanabilecektir.
Bu özellikleri aktif hale getirmek için, /etc/pam.d/login  dosyası aşağıdaki gibi olmalıdır.

#%PAM-1.0 
auth required /lib/security/pam_securetty.so 
auth required /lib/security/pam_pwdb.so shadow 
auth required /lib/security/pam_nologin.so 
account required /lib/security/pam_pwdb.so 
password required /lib/security/pam_cracklib.so 
password required /lib/security/pam_pwdb.so nullok 
session required /lib/security/pam_pwdb.so 
session required /lib/security/pam_limits.so

Kullanıcıların ne zaman sisteme giriş yaptıklarına dikkat etmeliyiz.

Oturum açma girişlerini kaydetmek için /var/log/wtmp  dosyası olmalıdır, yoksa oluşturulmalıdır.
last -a  en son giriş ve çıkış yapmış olan kullanıcıların terminal ismi, tarih, saat, tam istemci adı gibi bilgileri gösterir. Bu komut /var/log/wtmp  dosyasının içini okur.

Kullanıcıların sisteme yanlış giriş denemelerini kaydetmeliyiz.

Yanlış giriş denemeleri kaydetmek için /var/log/btmp  dosyası olmalıdır, yoksa oluşturulmalıdır.
lastb  başarısız oturum açma girişimlerini gösterir. Bu komut /var/log/btmp  dosyasının içerisindeki kayıtları okur ve bize çıktı sunar.

Kullanılmayan Hesapların Kapatılması

UID değeri 500’ün altında olan hesaplar kontrol edilmeli, kullanılmayan hesaplar kapatılmalıdır. Çünkü bu hesaplar saldırganların girmesi için birer kapıdır. Hesabı silmek için userdel UserName  komutunu kullanmalıyız.

Bilgisayarımız herkesin kullandığı bir yerde ise;

/etc/lilo.conf  dosyasını açıyoruz ve aşağıdaki satırı yazıyoruz.

timeout=00 restricted password="belirlediğimiz parola " timeout

Bu satır makine açılırken, LILO’nun beklememesini sağlar, bu sayede LILO’ya parametre verilmesini engellenir. Restricted satırı makinanın single modda açılması gerektiğini belirtir. Kullanıcı girerken belirttiğimiz parola ile giriş yapar.

Yetkiler gruplara verilmeli, kullanıcılar gruplara dahil edilmelidir.

Yeni hesap açan kullanıcıların asgari ihtiyaçlarını karşılayacak minimum yetkinin verildiğinden emin olmalıyız.
Grup hesaplarının oluşturulması için groupadd  komutu kullanılır.

Gruba kullanıcı eklemek için;

usermod –g <grupAdı> -G <diğerGrupAdı> <kullanıcıAdı>

Grup Ön Yükleyicisinin Şifreli Hale Getirilmesi

Yetkisiz erişimlerin önlenmesi amacıyla, ön yükleyicinin şifreli hale getirilmesi sağlanmalıdır.
Bu amaçla, iki dosya üzerinde düzenlemeler yapacağız. Önce bu iki dosyanın her ihtimale karşı yedeklemesini yapmalıyız.

Daha sonra gedit editörü ile /etc/grub.d/10_linux  dosyasını açıyoruz ve en alt satıra ,

cat <<EOF
set superusers="root"
password root [email protected]* 
EOF

komutlarını ekliyoruz.

Parolayı belirledikten sonra yeni grub.cfg dosyasını oluşturmak için, grub-mkconfig–output=/boot/ grub/grub.cfg  komutunu kullanıyoruz. Daha sonra sunucumuzu yeniden başlatıyoruz.

İşletim sistemi açılırken, kullanıcı adı ve parola soran bir ekranla karşılaşırız. Buradan grub ön yükleyici ekranına giriş olanağı sağlanır.

Şimdi sıra parola güvenliğimizi artırmak için parolamızı şifrelemeye geldi. Parolamızı şifrelemek için grub-mkpasswd-pbkdf2  komutunu kullanıyoruz.

Daha sonra şifrelenmiş kısmı daha öncede kullanmış olduğumuz aşağıdaki kodda password kısmına yapıştırıyoruz.

cat <<EOF
set superusers="root"
password_pbkdf2 root
grub.pbkdf2.sha512.10000.******
EOF

Parola şifrelendikten  sonra tekrar  yeni grub.cfg dosyasını oluşturuyoruz. Bunun için, grub-mkconfig–output=/boot/ grub/grub.cfg  komutunu kullanıyoruz. Daha sonra sunucumuzu yeniden başlatıyoruz.

 


 

About CanYouPwnMe

Hero!

Follow Me