Pluggable Authentication Modules for Linux
Linux/Redhat da Su yetkisine sahip olmasini istedigimiz kullanıcılari “whell” grubuna dahil ederek ssh baglantilari ve local uzerinde root yetkilerini daha guvenli duruma getirebiliriz.Bu islemleri PAM’i (Pluggable Authentication Modules) devreye sokarak yapacagiz.
“PAM is an authentication layer that allows software to be written independet of a specific authentication schema. Maybe, pam is secret security on sshd service.Applications request connection via the PAM library, and the PAM library determines whether the user is allowed to prcoced.”[root@localhost ~]# useradd remoteuser
[root@localhost ~]# passwd remoteuser
Changing password for user remoteuser.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
Sisteme remoteuser isimli yeni bir kullanıcı ekledik.Passwd dosyasin’dan konumuna bakalım:
[root@localhost ~]# cat /etc/passwd | grep 'remoteuser'
remoteuser:x:512:512::/home/remoteuser:/bin/bash
Ekledigim 512 UID nolu kullanıcıyı “Root” kullanıcısının dahil oldugu whell isimli grububa join ettik.
[root@localhost ~]# usermod -G wheel remoteuser
Linux da tum gruplarin kayitlarinin tutuldugu /etc/group adli dosyayi check edelim.
[root@localhost ~]# cat /etc/group | grep 'remoteuser'
wheel:x:10:root,remoteuser
Root ve Remoteuser adli 2 kullanici yukarida gozukmektedir.Direk root girisini kaldırıp, “whell” grubuna dahil ettigimiz remoteuser adli kullanici ile yonetici kimlik dogrulamasi yapip sistem de kaydi bulunan diger kullanıcılarin Su yetkisini alarak muhtemel root girislerini engelleyelim. (Pluggable Authentication Modules)
” PAM for authentication have a file in /etc/pam.d directory. “[root@localhost ~]# vi /etc/pam.d/su
auth          required       pam_wheel.so use_uid
pam.d dizini altindaki “Su” adli dosyayi use_uid adli parametre’nin basinda’ki diyez isaretini kaldirip dosyayi kaydedelim.Bu durumda; sadece whell grubu’na dahil olan kullanıcılar root girisi yapabilecek.Yukarida dikkat ettiyseniz whell grubun’da “root” kullanıcısı da vardi.SSH baglantı ayarlarinin bulundugu konfigurasyon dosyamizi acip bundan sonraki ssh baglantilarin da yonetici olarak giris yapilan root kullanıcısını devre dısı bırakıyoruz.
[root@localhost ~]# vi /etc/ssh/sshd_config
"vi" ile /etc/ssh/sshd_config dosyasini acip asagidaki ayarlari yapiyoruz.
- PermitRootLogin No
#Port 22 (Diyez’i kaldirip, baglanti portunu degistirebiliriz.)
Protocol 2
Bu durumda ssh portunu degistirip, “PAM” hesabi ile root hesabina giris yapabiliriz. (SSH baglanti portunu Brute Force vb atak’lari engellemek icin degistirmemiz iyi olacaktir.)Ayrica sistemde ekli olan user’lar tarafindan root hesabi sifresi bilinse dahi , PAM ayarlarindan oturu erisim saglanamayacaktir.
PAM hakkında daha detayli bilgiyi Redhat’ın sitesinden inceleyebilirsiniz.
http://www.redhat.com/docs/manuals/linux/RHL-7.2-Manual/ref-guide/s1-pam-config-files.html


