Linux'da PAM Kullanarak Kullanıcı Bazlı Engelleme Nasıl Koyulur?
Merhaba,
Linux’da çeşitli yöntemlerle makinelere, domainlere ve kullanıcılara erişim engellemeleri koymak mümkün. Biz burada linux altında oluşturulan bir kullanıcıya PAM’ın pam_listfile.so modülünü kullanarak nasıl engelleme koyulacağını göreceğiz. Bu işlemi ssh protokolüne erişimi engelleyen bir örnekle anlatmaya çalışacağım.
Öncelikle PAM altındaki sshd konfigürasyon dosyasına modülümüzü eklememiz gerekiyor.
Bunun içinaşağıdaki dosyayı vi editörü ile açıyoruz.
# vi /etc/pam.d/sshd
Bu dosyanın son satırına aşağıdaki gibi bir satır ekliyoruz.
auth required pam_listfile.so item=user sense=deny file=/etc/sshd/sshd.deny
onerr=succeed
Burada ki parametreleri incelersek
auth required pam_listfile.so : Kullanıcılara yetki vermeyi sağlayacak PAM modülü.
item=user : Kullanıcı adına bakılacak
sense=deny : Dosyada adı olan kullanıcıyı engelle
file=/etc/sshd/sshd.deny : İşlem görecek kullanıcıların bulunduğu dosya
onerr=succeed : Bir hata meydana geldiğinde PAM bize PAM_SUCCESS durumunu gösterecek.
Bu işlemden sonra erişim engellemesi verilecek kullanıcıların bulunduğu dosyayı oluşturmamız gerekiyor. Aşağıdaki komutla ilgili dosya açılır.
# vi /etc/sshd/sshd.deny
Dosya içerisine sırayla engel koyulacak kullanıcıların kullanıcı adları yazılır. Dosya kaydedilip çıkılır.
Örneğin;
ali
veli
ahmet
Son olarakda sshd servisi yeniden başlatılır.
service sshd restart
Artık sshd.deny dosyasında dı geçen kullanıcılar ssh servisini kullanamayacaklar.
Ek bilgi olarak bu işlemin tersini uygulayarak, sadece dosyada adı yazan kullanıcılara hak vermekde mümkün.
Bunu sağlamak için /etc/pam.d/sshd dosyasındaki modül parametrelerini aşağıdaki şekilde vermeliyiz.
auth required pam_listfile.so item=user sense=allow file=/etc/sshd/sshd.allow
onerr=fail
Kullanıcıları engelleyen sshd.deny dosyası yerine bu seferde sshd.allow dosyası oluşturup içine kullanıcıların adlarını yazıyoruz ve servisi yeniden başlatıyoruz.
Hepinize kolay gelsin.
Seyhan Tekelioğlu