grub güvenliği arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me cypm! Sun, 23 Jul 2017 18:41:44 +0000 tr hourly 1 https://wordpress.org/?v=6.0 https://canyoupwn.me/wp-content/uploads/2016/02/cropped-Başlıksız-1-32x32.png grub güvenliği arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me 32 32 TR | Linux Kullanıcı Güvenliği https://canyoupwn.me/tr-linux-kullanici-guvenligi/ https://canyoupwn.me/tr-linux-kullanici-guvenligi/#respond Thu, 26 Jan 2017 06:20:33 +0000 https://canyoupwn.me/?p=5359 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

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 […]

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

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

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 p@ssW0rd123* 
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.

 


 

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

]]>
https://canyoupwn.me/tr-linux-kullanici-guvenligi/feed/ 0
TR | Linux Fiziksel/GRUB Güvenliği https://canyoupwn.me/tr-linux-fizikselgrub-guvenligi/ https://canyoupwn.me/tr-linux-fizikselgrub-guvenligi/#respond Thu, 04 Aug 2016 13:18:41 +0000 https://canyoupwn.me/?p=3592 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Linux Fiziksel/GRUB Güvenliği Sistemimizin güvenliğini sağlarken ilk düşünmemiz gereken adımlardan birisi fiziksel güvenlik olmalıdır.Çoğu kişi tarafından göz ardı edilen bu adım, dikkat edilmediği durumlarda tıpkı sanal ortamdaki istismarlar gibi büyük zararlara sebep olabilir. Fiziksel güvenlik aşamasında öncelikli yapmamız gereken envanter haritası şeklinde elimizde ne olduğu,niçin olduğu ve neye ihtiyaç olduğudur. Örneğin bir kişisel ev bilgisayarının fiziksel […]

TR | Linux Fiziksel/GRUB Güvenliği Ali TONKAZ

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Linux Fiziksel/GRUB Güvenliği

Sistemimizin güvenliğini sağlarken ilk düşünmemiz gereken adımlardan birisi fiziksel güvenlik olmalıdır.Çoğu kişi tarafından göz ardı edilen bu adım, dikkat edilmediği durumlarda tıpkı sanal ortamdaki istismarlar gibi büyük zararlara sebep olabilir.

Fiziksel güvenlik aşamasında öncelikli yapmamız gereken envanter haritası şeklinde elimizde ne olduğu,niçin olduğu ve neye ihtiyaç olduğudur.

Örneğin bir kişisel ev bilgisayarının fiziksel güvenlik önlemleri ile şirket içinde kullandığımız sunucunun güvenlik önlemleri farklı şekilde düşünülmeli ve uygulanmaladır.

Bilgisayar/Sunucu Kilitleri

  • Öncelikli olarak sistemimizin bulunduğu odayı korunaklı hale getirmeliyiz.
  • Daha sonra bilgisayarımızın(sunucumuzun) bulunduğu bölmeler güçlü kilit sistemlerine sahip olmalıdır.
  • Bu kilit sistemlerini geçmek için farklı aşamalardan oluşan kilit yapıları kullanılmalıdır.
  • Kilitleme işlemini gerçekleştirdiğimiz bölmeler kolaylıkla aşılabilir,kırılabilir hafif malzemeler yerine korunaklı sağlam maddelerden yapılmış olmalıdır.
  • Belirli sayıda başarısız giriş denemesinden sonra sistem kendi kendini yok edebilme ya da farklı şekilde tekrar şifreleyebilme özelliğine sahip hale getirilmedilir.
  • Bilgisayar(sunucu) dışarıdan herhangi bir CD/DVD/USB vb aletlerin takılmasına ve kullanımına kapalı olmalıdır.
  • Yine aynı şekilde fare/klavye gibi aygıtlar takılı şekilde sistemler terk edilmemelidir.
  • Bu adımda sonra olarak sunucular yukarıda belirtilen CD/DVD/USB gibi aygıtlar tarafından önyükleme işlemine tabi tutulamamalı dır.

BIOS Güvenliği

BIOS güvenliği adımına geçmeden önce BIOS nedir önce buna bir bakalım.
BIOS(Basic Input/Output System) yani temel giriş çıkış sistemi bilgisayarın çalışması için gereken temel yapıdır.Sadece okunabilir bellek(ROM-ReadOnlyMemory) üzerine yazılmış olan BIOS yazılımı sayesinde anakartımızın özelliklerini kullanabilir,diğer donanımlar ile bağ kurabiliriz.
Sadece Okunabilir Bellek üzerinde olmasından dolay burada kalıcıdır
Konumuza geri dönersek BIOS güvenliği için önyükleme şifrelemesi yapılması gerekmektedir.Fakat çoğu sistemlerde kendiliğinden gelen bu şifreleme yöntemleri BIOS’un sıfırlanması,silinmesi ya da değiştirilmesi gibi işlemlerle kolaylıkla baypass edilebilmektedir.
Bunun için BIOS şifrelemesi için gelişmiş şifreleme seçenekleri sunan versiyonlar tercih edilmelidir.

Bootloader(Önyükleyici) Güvenliği

Bootloader,cihaz başladığı esnada işletim sistemini yüklemeyi sağlayan bir programdır. Bootloader programına ait konfigürasyon dosyaları /boot/grub/grub.cfg dosyası içinde bulunur. Güvenlik önlemi olarak yetkisiz kişilerin bu dosya üzerinde değişiklik yapmasını engellemek amacıyla izinleri değiştirmeliyiz.

grub.cfg dosyasının ilk izin hali bu şekildedir.

kali1

 

Daha sonra aşağıdaki kod ile yetki seviyesini değiştiriyoruz.

chmod 0600 grub.cfg

İşlemin sonunda dosyanın izinleri aşağıdaki şekilde değişmiş olmaktadır.

kali4

 

USB Sürücülerin Engellenmesi

 

Dışarıdan mudahaleler sonucunda oluşabilecek zararlardan korunmak için USB sürücülerin sistem üzerinden kullanımını engellemememiz gerekmektedir.Bunun için kernel üzerinde yapacağımız basit değişiklik ile kernel’in usb desteğini engelleyebiliriz.Bunu için grub.cfg dosyasının içine aşağıdaki satırı eklememiz gerekmektedir.

kernel /4.0.0-kali1-amd64 ro root=LABEL=/ console=tty0 console=ttyS1,19200n8 nousb

Bu noktada kernel /4.0.0-kali1-amd64 yazan kısım sistemimizin kernel çekirdek sürümünü belirtir.Bunu kendi sistemimizde öğrenmek için

uname -r

komutunu kullanabilir ve sonrasında çıktıyı belirtilen yer ile değiştirebiliriz.
Bu adımlardan sonra

nano /boot/grub/grub.cfg

komutu ile dosyayı açıp üzerinde yukarıda belirtilen değişikliği yapıyoruz.Kaydedip çıktıktan sonra sistem reboot edilerek yapılan değişikliklik aktif hale geçmiş olur.

Bu belirtilen şekilde kapatmanın yanı sıra istenildği takdirde USB sürücüleri BIOS ayarlarından da kapatabiliriz.Bunun için BIOS’umuzun güçlü bir parolası olması gerekmektedir.

Bu konuda yapılacaklar arasında son adım olarak USB Driver’ını kaldırmak olabilir.
Bunun için öncelikli driver dosyamızın bulunduğu dizini görüntüleyelim .

kali7

Gördüğünüz gibi driver dosyamız orda duruyor.Şimdi bunu test amaçlı olarak /root dizini altına taşıyalım .

kali8

 

Daha sonra tekrar baktığımızda USB Driver dosyası burda bulunmadığı için driver kaldırılmış olarak gözükmektedir.

kali9

 

GRUB Şifreleme

GRUB ayarları için sonradan yetkisiz değişiklikler olmaması için şifreleme yaparak korumaya almamız gerekmektedir.Bunun için öncelikli olarak

grub-mkpasswd-pbkdf2

komutu ile şifre oluştururuz.

Şifremizi belirledikten sonra aşağıdaki ekran karşımıza çıkıyor.Bu ekrandan oluşan şifremizi kopyalıyoruz.

kali12

Daha sonra oluşturduğumuz şifreyi grub ayarlarına eklememiz gerekiyor.Bunun için için

nano /etc/grub.d/00_header

Komutu ile belirtilen dosyayı açıyoruz.İçerisinde aşağıda belirtilen değişklikleri yapıyoruz.

setsuperusers="demo" password_pbkdf2 demo

dedikten sonra bir önceki ekranda kopyaladığımız şifreyi buraya yapıştırıp kaydediyoruz.

kali14
Daha sonra sistemimizi reboot ettiğimizde artık grub ekranımızda belirlediğimiz şifre sorulmaktadır.


TR | Linux Fiziksel/GRUB Güvenliği Ali TONKAZ

]]>
https://canyoupwn.me/tr-linux-fizikselgrub-guvenligi/feed/ 0