Merhabalar,
Bu makalemde, çokça gözden kaçırılan ya da göz ardı edilen bir konu hakkında bilgilendirmeler yapmak istiyorum. Linux sistemlerde kullanılan parola politikaları hakkında incelemeler yapacağız.
Linux ne kadar güvenli bir işletim sistemi olarak kabul edilirse edilsin, güvenliği de giriş yapan kullanıcıların şifrelerinin gücü kadar iyidir. Parola politikaları, kullanıcılar için güçlü bir parola oluşturulmasını sağlamak için mevcuttur ve bir Linux kullanıcısı olarak, ihlallerin meydana gelmesini zorlaştırmak için bu politikaları uygulamaya dikkat etmelisiniz. Kullanıcıların, zayıf veya tahmin edilebilir şifreler yapılandırmasına da kesinlikle fırsat verilmemelidir diye düşünüyorum. Birçok sistem kurulurken, default bir parola ile kurulur ve aksi belirtilmedikçe ya da kullanıcı, parolasını değiştirmedikçe bu şekilde kalmaya devam eder. Basit bir parola ile kurulan sistemler, normal olarak ataklara açık hale de geliyor.
Bu makalede Redhat-CentOS-Debian ve Ubuntu Linux sistemleri üzerinde, şifre politikalarının nasıl uygulanacağına değineceğiz. Parola sona erme süresi, parola karmaşıklığı ve parola uzunluğu gibi politikaların, nasıl uygulanabileceğini ele alacağız.
Ubuntu / Debian Linux Üzerinde Parola Politikalarını Uygulama
Parola politikalarını zorunlu kılmanın 2 ana yolu vardır. Her birine ayrıntılı bir şekilde bakalım.
1. Bir parolanın kullanılabileceği maksimum gün sayısını yapılandırmak
Başlangıç için, kullanıcıların belirli bir gün sonra parolalarını değiştirmelerini gerektiren bir parola politikası yapılandırabilirsiniz. En iyi uygulama, kötü niyetli kullanıcıları hazırlıksız tutmak ve sisteminizi ihlal etmelerini zorlaştırmak için, bir parolanın periyodik olarak değiştirilmesi gerektiğine yönelik olacaktır. Bu sadece Linux’ta değil, Windows ve macOS gibi diğer sistemlerde de geçerlidir.
Bunu Debian / Ubuntu sistemleri üzerinde zorunlu kılmak için /etc/login.defs dosyasını değiştirmeniz ve PASS_MAX_DAYS özniteliğini, politikanız doğrultusunda uyarlamanız gerekir.
Varsayılan olarak, gösterildiği gibi 99.999 güne ayarlanmıştır.
cat /etc/login.defs
Buradaki parametrelerin, neyi anlattığına bir bakalım…
PASS_MAX_DAYS: Bir parolanın kullanılabileceği maksimum gün sayısını belirtir. Parola bundan daha eskiyse, bir parola değişikliği zorunlu kılınacaktır.
PASS_MIN_DAYS: Parola değişiklikleri arasında izin verilen minimum gün sayısı. Bundan daha önce denenen herhangi bir şifre değişikliği reddedilecektir.
PASS_WARN_AGE: Bir parolanın süresi dolmadan önce verilen uyarı gün sayısı. Sıfır, yalnızca sona erme gününde uyarı verildiğini, negatif bir değer ise uyarı verilmediğini gösterir. Belirtilmezse hiçbir uyarı verilmeyecektir.
PASS_MAX_DAYS değerini, örneğin 30 gün gibi makul bir süreye değiştirebilirsiniz. Mevcut değeri gösterildiği gibi 30 olarak ayarlayın ve değişiklikleri kaydedin. 30 gün geçtikten sonra, başka bir şifre oluşturmak zorunda kalacaksınız.
sudo vi /etc/login.defs
2. PAM ile karmaşık parolaları zorunlu kılma
Parolanın belirli bir karmaşıklık düzeyini karşıladığından emin olmak, eşit derecede önemlidir ve bilgisayar korsanlarının kaba kuvvet kullanarak sisteminize sızma girişimlerini de engeller.
Genel bir kural olarak, güçlü bir parola büyük harf, küçük harf, sayısal ve özel karakterlerin birleşiminden oluşmalı ve en az 12-15 karakter uzunluğunda olmalıdır.
Debian / Ubuntu sistemlerinde parola karmaşıklığını zorunlu kılmak için, libpam-pwquality paketini gösterildiği gibi yüklemeniz gerekir:
sudo apt install libpam-pwquality
Kurulduktan sonra, parola politikalarını ayarlayacağınız /etc/pam.d/common-password dosyasına gidin. Diğer bir seçenek ise, /etc/security/pwquality.conf dosyası ile yapılandırmadır. İlerleyen adımlarda onu da inceliyoruz.
sudo vi /etc/pam.d/common-password
Aşağıda gösterilen satırı bulun. Varsayılan olarak, dosya aşağıdaki gibi görünür:
password requisite pam_pwquality.so retry=3
Satır sonuna aşağıdaki nitelikleri ekleyin:
minlen=12 maxrepeat=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 difok=4 reject_username enforce_for_root
Şimdi bu direktiflerin ne anlama geldiğini inceleyelim:
Gördüğünüz gibi, root kullanıcısı için de yaptığımız ayarlar geçerli oldu. Parola değiştirmek istediğimizdeki sonuçları görebilirsiniz.
/etc/security/pwquality.conf dosyası ile konfigürasyon yapmak isterseniz, bu dosya içinde yine ilgili parametreleri değiştirmeniz gerekmektedir.
Ubuntu için ayarlarımız bu kadar.
CentOS / RHEL Linux Üzerinde Parola Politikalarını Uygulama
RHEL/CentOS 7-8 ve diğer türevler için /etc/pam.d/system-auth veya /etc/security/pwquality.conf yapılandırma dosyasını düzenlememiz gerekmektedir.
Konfigürasyon dosyamızı açalım:
nano /etc/pam.d/system-auth
Ben genelde, nano düzenleme aracını tercih ediyorum. Eğer sisteminizde nano düzenleme aracı yüklü değilse, aşağıdaki komutla yükleme işlemini gerçekleştirebilirsiniz. Bunun dışında vi düzenleme aracını da kullanabilirsiniz.
dnf install -y nano
Aşağıda gösterilen satırı bulun.
Satırın sonuna, aşağıdaki seçenekleri gösterildiği gibi ekleyin.
minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root
Bu parametrelerle şunları amaçlamış olduk :
- Parolamız, minimum 12 karakter uzunluğunda
- En az bir küçük harf
- En az bir büyük harf
- Parola, sonunda bir sayısal karaktere sahip olmalı
- Parolada en az bir özel karakter olmalı
- root kullanıcısı dahil, tüm kullanıcılarda bu politika uygulansın
Yukarıda verilen açıklamalar doğrultusunda, farklı uygulamalar da yapabilirsiniz.
Düzenleme sonrası, ilgili satır aşağıdaki gibi olacaktır.
Tamamlandığında, şifre politikalarını kaydedin ve dosyadan çıkın.
Zorunlu parola politikasına uymayan zayıf şifreli bir kullanıcı oluşturmaya çalıştığınızda, ya da herhangi bir kullanıcının şifresini değiştirmek istediğinizde, aşağıda gösterilen hatayla karşılaşırsınız. Bakınız root kullanıcı bile olsa bu politikalar etkin durumda.
Eğer diğer konfigürasyon dosyasıyla (/etc/security/pwquality.conf) bu işlemi gerçekleştirmek isterseniz de aşağıdaki benzer parametreleri düzenleyebilirsiniz.
Peki parola, kaç gün geçerli olacak? Onu da az önce yukarıda Debian/Ubuntu kısmında belirttiğimiz gibi /etc/login.defs dosyası içindeki değerleri değiştirerek belirleyebiliyoruz.
Örneğin, 60 günde bir parola değiştirilsin istersek, aşağıdaki değeri 60 olarak değiştirmemiz gerekiyor. Buradaki açıklama satırlarında, hangi değerin ne için olduğunu da görebilirsiniz. Debian/Ubuntu bölümünde, bunların anlamlarını açıklamıştım.
Gördüğünüz gibi, bir şifre politikasını uygulamak oldukça kolaydır ve kullanıcıların tahmin edilmesi kolay veya kaba kuvvet saldırılarına eğilimli, zayıf şifreler oluşturmasını engellemenin mükemmel bir yoludur. Bu politikaları uygulayarak, sisteminizin güvenliğini güçlendirdiğinizden ve bilgisayar korsanlarının sisteminizin güvenliğini ihlal etmesini zorlaştırdığınızdan emin olabilirsiniz.
Yararlı olması dileğiyle.
Yusuf İşleyen