Ana içeriğe geç

Ubuntu Kullanıcı Yönetimi

Kullanıcı yönetimi, güvenli bir sistem sağlamanın kritik bir parçasıdır. Etkisiz kullanıcı ve ayrıcalık yönetimi çoğu zaman birçok sistemin tehlikeye atılmasına neden olur. Bu nedenle, basit ve etkili kullanıcı hesabı yönetimi teknikleriyle sunucunuzu nasıl koruyabileceğinizi anlamanız önemlidir.

Root Nerede?

Ubuntu geliştiricileri, tüm Ubuntu kurulumlarında varsayılan olarak yönetici kök hesabını devre dışı bırakmak için bilinçli bir karar aldı. Bu, kök hesabın silindiği veya ona erişilemeyeceği anlamına gelmez. Yalnızca hiçbir olası değere uymayan bir parola özeti verilmiştir, bu nedenle kendi başına doğrudan oturum açamayabilir.

Bunun yerine, kullanıcıların sistem yönetim görevlerini yerine getirmek için 'sudo' adlı bir aracı kullanmaları önerilir. Sudo, yetkili bir kullanıcının, kök hesaba ait parolayı bilmek zorunda kalmadan kendi parolasını kullanarak ayrıcalıklarını geçici olarak yükseltmesine izin verir. Bu basit ancak etkili metodoloji, tüm kullanıcı eylemleri için hesap verebilirlik sağlar ve yöneticiye, bir kullanıcının söz konusu ayrıcalıklarla gerçekleştirebileceği eylemler üzerinde ayrıntılı kontrol sağlar.

Herhangi bir nedenle root hesabını etkinleştirmek isterseniz, ona bir şifre vermeniz yeterlidir:

sudo passwd

Sudo sizden şifrenizi isteyecek ve ardından aşağıda gösterildiği gibi root için yeni bir şifre girmenizi isteyecektir:

[sudo] password for username: (enter your own password)
Enter new UNIX password: (enter a new password for root)
Retype new UNIX password: (repeat new password for root)
passwd: password updated successfully

Root hesap parolasını devre dışı bırakmak için aşağıdaki passwd sözdizimini kullanın:

sudo passwd -l root

Man komutu ile sudo komutu hakkında daha fazla detaya sahip olabilirsiniz

man sudo

Varsayılan olarak Ubuntu'yu kurarken oluşturduğunuz kullanıcı /etc/sudoers dosyasında yetkili bir sudo kullanıcısı olarak eklidir. Başka bir kullanıcıya bu yetkiyi vermek istiyorsanız bu dosyaya ilgili kullanıcıyı eklemelisiniz.

Kullanıcı Ekleme ve Silme

Yerel kullanıcıları ve grupları yönetme süreci basittir ve diğer çoğu GNU/Linux işletim sisteminden çok az farklılık gösterir. Ubuntu ve diğer Debian tabanlı dağıtımlar, hesap yönetimi için adduser paketinin kullanılmasını teşvik eder.

Bir kullanıcı hesabı eklemek için, aşağıdaki sözdizimini kullanın ve hesaba bir parola ve tam ad, telefon numarası gibi tanımlanabilir özellikler vermek için istemleri izleyin.

sudo adduser username

Bir kullanıcı hesabını ve birincil grubunu silmek için aşağıdaki sözdizimini kullanın:

sudo deluser username

Info

Bir hesabın silinmesi, ilgili ana klasörün kaldırılmasına neden olmaz. Klasörü manuel olarak silmek veya istediğiniz saklama politikalarına göre saklamak isteyip istemediğiniz size bağlıdır.

Warning

Unutmayın, daha sonra önceki sahiple aynı UID/GID'ye sahip herhangi bir kullanıcı, gerekli önlemleri almadıysanız artık bu klasöre erişebilir.

Bu UID/GID değerlerini, kök hesap gibi daha uygun bir şeye değiştirmek ve hatta gelecekteki çakışmalardan kaçınmak için klasörü yeniden konumlandırmak isteyebilirsiniz:

sudo chown -R root:root /home/username/
sudo mkdir /home/archived_users/
sudo mv /home/username /home/archived_users/

Bir kullanıcı parolasını geçici olarak kilitlemek veya kilidini açmak için sırasıyla aşağıdaki sözdizimini kullanın:

sudo passwd -l username
sudo passwd -u username

Kişiselleştirilmiş bir grup eklemek veya silmek için sırasıyla aşağıdaki sözdizimini kullanın:

sudo addgroup groupname
sudo delgroup groupname

Bir gruba kullanıcı eklemek için aşağıdaki sözdizimini kullanın:

sudo adduser username groupname

Kullanıcı Profili Güvenliği

Yeni bir kullanıcı oluşturulduğunda, adduser yardımcı programı /home/username şeklinde yeni bir dizin oluşturur.

Varsayılan profil, /etc/skel tüm profil temellerini içeren dizininde bulunan içeriklere göre modellenir.

Sunucunuz birden fazla kullanıcıya ev sahipliği yapacaksa, gizliliği sağlamak için kullanıcı ana dizini izinlerine çok dikkat etmelisiniz. Varsayılan olarak, Ubuntu'daki kullanıcı ana dizinleri okuma/yürütme izinleriyle oluşturulur. Bu, tüm kullanıcıların diğer kullanıcıların ana dizinlerinin içeriğine göz atabileceği ve bunlara erişebileceği anlamına gelir. Bu, ortamınız için uygun olmayabilir.

Mevcut kullanıcı ana dizini izinlerinizi görmek için aşağıdaki sözdizimini kullanın:

ls -ld /home/username

Aşağıdaki çıktı, dizinin (/home/username) herkes tarafından okunabilir izinlere sahip olduğunu gösterir:

drwxr-xr-x  2 username username    4096 2007-10-02 20:03 username

Aşağıdaki sözdizimini kullanarak herkes tarafından okunabilir izinleri kaldırabilirsiniz:

sudo chmod 0750 /home/username

Warning

Bazı insanlar, tüm alt klasörleri ve dosyaları değiştiren gelişi güzel (-R) seçeneğini kullanma eğilimindedir, ancak bu gerekli değildir ve başka istenmeyen sonuçlar doğurabilir. Üst dizin, üst dizin altındaki herhangi bir şeye yetkisiz erişimi önlemek için tek başına yeterlidir.

Konuya çok daha verimli bir yaklaşım, kullanıcı ana klasörleri oluştururken adduser genel varsayılan izinlerini değiştirmek olacaktır. /etc/adduser.conf dosyasını düzenleyin ve DIR_MODE değişkeni uygun bir şeye değiştirin, böylece tüm yeni ev dizinleri doğru izinleri alacaktır.

DIR_MODE=0750

Önceden bahsedilen tekniklerden herhangi birini kullanarak dizin izinlerini düzelttikten sonra, aşağıdaki sözdizimini kullanarak izinleri doğrulayın:

ls -ld /home/username

Aşağıdaki sonuçlar herkes tarafından okunabilir izinlerin kaldırıldığını göstermektedir:

drwxr-x---   2 username username    4096 2007-10-02 20:03 username

Şifre politikası

Güçlü bir parola politikası, güvenlik duruşunuzun en önemli yönlerinden biridir. Birçok başarılı güvenlik ihlali, zayıf parolalara karşı basit kaba kuvvet ve sözlük saldırılarını içerir. Yerel parola sisteminizi içeren herhangi bir uzaktan erişim biçimi sunmayı düşünüyorsanız, minimum parola karmaşıklığı gereksinimlerini, maksimum parola yaşam sürelerini ve kimlik doğrulama sistemlerinizin sık denetimlerini yeterince karşıladığınızdan emin olun.

Minimum Şifre Uzunluğu

Varsayılan olarak, Ubuntu minimum 6 karakter uzunluğunda bir şifre ve bazı temel entropi kontrolleri gerektirir. Bu değerler, /etc/pam.d/common-password adlı dosyada kontrol edilir.

password        [success=1 default=ignore]      pam_unix.so obscure sha512

Minimum uzunluğu 8 karakter olarak ayarlamak isterseniz, uygun değişkeni min = 8 olarak değiştirin. Değişiklik aşağıda gösterilmiştir.

password        [success=1 default=ignore]      pam_unix.so obscure sha512 minlen=8

Info

Temel parola entropi kontrolleri ve minimum uzunluk kuralları, yeni bir kullanıcı kurmak için sudo seviye komutları kullanan yönetici için geçerli değildir.

Şifre Sona Erme

Kullanıcı hesapları oluştururken, kullanıcıları süresi dolduğunda şifrelerini değiştirmeye zorlayan minimum ve maksimum şifre yaşına sahip olmayı bir politika haline getirmelisiniz.

Bir kullanıcı hesabının mevcut durumunu kolayca görüntülemek için aşağıdaki sözdizimini kullanın:

sudo chage -l username

Aşağıdaki çıktı, kullanıcı hesabıyla ilgili ilginç gerçekleri, yani uygulanan hiçbir politikanın olmadığını gösterir:

Last password change                                    : Jan 20, 2015
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7

Bu değerlerden herhangi birini ayarlamak için, aşağıdaki sözdizimini kullanmanız ve etkileşimli komut istemlerini izlemeniz yeterlidir:

sudo chage username

Aşağıda ayrıca açık son kullanma tarihini (-E) 01/31/2015, minimum şifre yaşı (-m) 5 günlük, maksimum şifre yaşı (-M) 90 günlük, hareketsizlik olarak nasıl değiştirebileceğinize dair bir örnek verilmiştir. Parola süresinin dolmasından sonraki 30 günlük süre (-I) ve parolanın sona ermesinden önceki 14 günlük bir uyarı süresi (-W)

sudo chage -E 01/31/2015 -m 5 -M 90 -I 30 -W 14 username

Değişiklikleri doğrulamak için daha önce belirtildiği gibi aynı sözdizimini kullanın:

sudo chage -l username

Aşağıdaki çıktı, hesap için oluşturulan yeni politikaları göstermektedir:

Last password change                                    : Jan 20, 2015
Password expires                                        : Apr 19, 2015
Password inactive                                       : May 19, 2015
Account expires                                         : Jan 31, 2015
Minimum number of days between password change          : 5
Maximum number of days between password change          : 90
Number of days of warning before password expires       : 14

Diğer Güvenlik Hususları

Birçok uygulama, deneyimli sistem yöneticileri tarafından bile kolayca gözden kaçabilen alternatif kimlik doğrulama mekanizmaları kullanır. Bu nedenle, kullanıcıların kimliğini nasıl doğruladığını ve sunucunuzdaki hizmetlere ve uygulamalara nasıl eriştiğini anlamak ve kontrol etmek önemlidir.

Engelli Kullanıcılar Tarafından SSH Erişimi

Bir kullanıcı şifresinin basitçe devre dışı bırakılması / kilitlenmesi, daha önce SSH genel anahtar kimlik doğrulamasını kuran bir kullanıcının sunucunuzda uzaktan oturum açmasını engellemez. Herhangi bir şifreye ihtiyaç duymadan sunucuya kabuk erişimi sağlamaya devam edecekler. Bu türden kimliği doğrulanmış SSH erişimine izin verecek dosyalar için kullanıcıların ana dizinini kontrol etmeyi unutmayın:

/home/username/.ssh/authorized_keys

Daha fazla SSH kimlik doğrulama özelliğini önlemek için kullanıcının ana klasöründeki .ssh/ dizinini kaldırın veya yeniden adlandırın.

Mevcut gelen veya giden bağlantılara sahip olabileceğinden, devre dışı bırakılan kullanıcı tarafından kurulmuş SSH bağlantılarını kontrol ettiğinizden emin olun. Bulunan her şeyi öldürün.

who | grep username  (to get the pts/# terminal)
sudo pkill -f pts/#

SSH erişimini yalnızca ona sahip olması gereken kullanıcı hesaplarıyla kısıtlayın. Örneğin, "sshlogin" adlı bir grup oluşturabilir ve grup adını /etc/ssh/sshd_config dosyasında AllowGroups değişkenine ilişkilendirebilirsiniz. Aşağıdaki komut sshlogin gurubuna SSH erişimi izni verecektir.

AllowGroups sshlogin

Ardından kullanıcılarınızı "sshlogin" grubuna ekleyin ve SSH hizmetini yeniden başlatın.

sudo adduser username sshlogin
sudo systemctl restart sshd.service