Artikel ini merupakan lanjutan dari artikel PAM sebelumnya http://www.yuliardi.com/2008/10/mengenal-pam-plugable-autentication-modules-1-pengantar
Melakukan Konfigurasi PAM
Proses autentikasi pada pam menggunakan modul-modul yang terdapat pada direktori /usr/lib/security, dimana modul PAM merupakan satu file eksekusi binari yang dapat dipanggil oleh interface librari PAM. Sedangkan file konfigurasinya adalah file /etc/pam.conf, tetapi untuk pam versi 0.56 keatas file konfigurasinya diletakkan pada direktori /etc/pam.d/. Satu file pada direktori tersebut mewakili satu service yang akan diberlakukan metode autentikasi dengan PAM. Hal itu tentu saja hal itu lebih baik karena memberi beberapa keuntungan yaitu :
•Meminimalkan kesalahan konfigurasi untuk sebuah applikasi.
•Memudahkan untuk maintenan suatu aplikasi sehingga salah konfigurasi tidak menggangu aplikasi lain lain.
•Memungkinan adanya link simbolik antar file konfigurasi yang berbeda menjadi satu file.
•Memudahkan dan menghemat waktu konfigurasi.
•Memungkinkan untuk membatasi akses individu menggunakan proteksi file sistem
•Manajemen paket lebih sederhana karena setiap aplikasi baru dapat dilekatkan di /etc/pam.d/
Konfigurasi umum pam.conf adalah :
nama_service type_module flag_control path_module argumen
Jika menggunakan versi 0.56 keatas karena nama service sudah di tentukan dari nama file, maka konfigurasi pada direktori /etc/pam.d tidak perlu lagi menyebutkan nama_service sehingga menjadi
type_module flag_control path_module argumen
Keterangan :
Nama service , merupakan nama aplikasi atau service yang akan diberlakukan mekanisme autentikasi oleh pam.
Type modul , menentukan tipe modul yang digunakan. Empat type modul yang bisa digunakan adalah :
auth, digunakan untuk melakukan verifikasi kemilikan sebuah account.
accounts, Melakukan verifikasi peivelege akses dan status sebuah account.
Session, sesuatu yang dibutuhkan dan harus dijalankan sebelum atau sesudah user melakukan autentikasi.
Pasword, Menjaga mekanisme yang digunakan oleh user untuk autentikasi, dan melakukan update jika terjadi perubahan password.
Flag control, digunakan untuk mengindikasi bagaimana librari pam bereaksi untuk sukses atau gagalnya penggunaan module. Type dari flag control ini sangat benyak sekali tetapi yang paling umum digunakan yaitu :
•required, kesalahan pada modul ini akan menyebabkan autentikasi ditolak, meskipun pemanggilan modul yang dibutuhkan oleh servis tersebut oleh pam akan tetapi dilakukan.
•requisite, seperti required tetapi modul yang gagal akan dikontrol langsung oleh aplikasi, sehingga kegagalannya akan meyebabkan autentikasi langsung ditolak.
•sufficient, suksesnya autentikasi oleh modul ini sudah dianggap cukup untuk oleh librari PAM, meskipun modul yang dibutuhkan sebelumnya gagal.
•optional, tanda flag kontrol modul tidak menjadi hal utama untuk sukses atau gagal untuk melayani aplikasi user.
Path module, nama path merupakan lokasi modul yang digunakan oleh pam. Secara default modul ini terletak pada direktori /usr/lib/security
Argumen , merupakan keterangan permintaan modul.
Daftar file-file konfigurasi yang terdapat pada file /etc/pam.d/ :
chfn halt other rsh xdm
chmod kbdrate passwd samba xlock
chsh limits.conf poweroff sshdxscreensaver
firewall-configlinuxconf reboot suxserver
ftp linuxconf rexec sudo
gdm linuxconf-pair-auth rhn_register sistem-auth
gnorpm-auth login rlogin vlock
Berikut adalah contoh konfigurasi pam untuk aplikasi yang membutuhkan autentikasi tapi tidak ditentukan khusus pada direktori pam.d (other).
# default; deny access
#
auth required /usr/lib/security/pam_deny.so
account required /usr/lib/security/pam_deny.so
password required /usr/lib/security/pam_deny.so
session required /usr/lib/security/pam_deny.so
Dengan konfigurasi diatas jika terjadi kegagalan dalam autentikasi user tidak akan mendapat peringatan, dan kegagalan tidak tersimpan di log sehingga admistrator tidak mengetahuinya. Penambahan modul pam_warn.so pada baris diatas akan memberikan peringatan jika autentikasi gagal baik ke user atau administrator.
#
# default; wake up! This application is not configured
#
auth required /usr/lib/security/pam_warn.so
password required /usr/lib/security/pam_warn.so
Contoh konfigurasi lain pada pam adalah untuk membatasi jumlah login sebuah account (user), misalnya ketika hanya diijinkan jumlan login user hanya satu, maka ketika ada orang lain yang login dengan nama yang sama login tersebut akan ditolak meskipun passwordnya benar, kecuali login pertama sudah keluar. Tambahkan baris berikut pada file /etc/pam.d/limits.conf
@users hard maxlogins 1
sehingga menjadi
@users hard core 0
@users hard nproc 50
@users hard rss 5000
@users hard maxlogins 1