Rabu, 20 April 2016

SSH Authentication Menggunakan LDAP

SSH Authentication Menggunakan LDAP

  1. Dalam konfigurasi ini ada beberapa paket-paket yang diperlukan diantaranya sebagai berikut:
    – openldapclients
    – glibc
    – glibc-common
    – nscd
    – nss-pam-ldapd
    – pam_ldap
  2. Sebelum install paket-paket diatas, pastikan selinux dalam keadaan mati agar nantinya lebih mempermudah konfigurasi
  3. Install paket-paket yang dibutuhkan pada server
    [root@ssh-server ~]#yum install openldap-clients nss-pam-ldapd pam_ldap nscd 
    glibc glibc-common
  4. Konfigurasi file ldap.conf untuk mengarahkannya ke alamat LDAP Server
    [root@ssh-server ~]#vi /etc/openldap/ldap.conf
    Tambahkan konfigurasi berikut
    ## LDAP server's URI
    ## Masukkan Alamat Server LDAP pada baris berikut:
    URI ldap://202.152.9.88/
    
    ## Specify Suffix
    ## Masukkan pula base domain dari Server LDAP pada baris berikut:
    BASE dc=ldap,dc=lintasmediadanawa,dc=com
    
  5. Konfigurasi file nscld.conf
    [root@ssh-server ~]#vi /etc/nslcd.conf
    Tambahkan konfigurasi berikut
    uri ldap://202.152.9.88/
    base dc=ldap,dc=lintasmediadanawa,dc=com
    ssl no
    
  6. Konfigurasi juga file pam_ldap.conf
    [root@ssh-server ~]#vi /etc/pam_ldap.conf
    Tambahkan konfigurasi berikut
    base dc=ldap,dc=lintasmediadanawa,dc=com
    uri ldap://202.152.9.88/
    ssl no
    
  7. Konfigurasi system-auth agar dapat melakukan autentikasi menggunakan ldap
    [root@ssh-server ~]#vi /etc/nslcd.conf
    Tambahkan konfigurasi berikut sesuai baris berwarna merah:
    auth     required     pam_env.so
    auth     sufficient   pam_fprintd.so
    auth     sufficient   pam_unix.so nullok try_first_pass
    auth     requisite    pam_succeed_if.so uid >= 500 quiet
    auth     sufficient   pam_ldap.so use_first_pass
    auth     required     pam_deny.so
    
    account  required     pam_unix.so
    account  sufficient   pam_localuser.so
    account  sufficient   pam_succeed_if.so uid < 500 quiet
    account  [default=bad success=ok user_unknown=ignore] pam_ldap.so
    account  required     pam_permit.so
    
    password requisite    pam_cracklib.so try_first_pass retry=3 type=
    password sufficient   pam_unix.so sha512 shadow nullok try_first_pass use_authok
    password sufficient   pam_ldap.so use_authtok
    password required     pam_deny.so
    
    session  optional     pam_keyinit.so revoke
    session  required     pam_limits.so
    session  [success=1 default=ignore] pam_succeed_if.so service in crond quiet 
    use_uid
    session  required     pam_unix.so
    session  optional     pam_ldap.so
  8. Terakhir konfigurasi file nsswitch.conf agar menggunakan ldap
    [root@ssh-server ~]#vi /etc/nsswitch.conf
    Edit baris-baris berikut
    passwd : files ldap
    shadow : files ldap
    group : files ldap
    netgroup : ldap
    automount : files ldap
    
  9. Aktifkan authconfig ldap agar secara default bisa melakukan ssh menggunakan user-user dalam ldap
    [root@ssh-server ~]#authconfig --enableldapauth --update
    Starting nslcd:                                             [OK]
  10. Pastikan server sudh sinkron dengan user-user dalam Server LDAP
    [root@ssh-server ~]#getent passwd | grep firman
    uid=1003(firman)gid=10(ssh_user)groups=10(ssh_user)
    Atau dapat memeriksanya dengan perintah berikut
    [root@ssh-server ~]#id firman
    uid=1003(firman)gid=10(ssh_user)groups=10(ssh_user)
    
  11. Agar service nslcd berjalan setiap kali server melakukan booting, maka gunakan perintah chkconfig
    [root@ssh-server ~]#chkconfig nslcd on
    
  12. Satu hal lagi yang perlu diperhatikan, saat user  akan melakukan SSH ke server ini, user tersebut memerlukan home directory, untuk itu konfigurasi terlebih dahulu agar saat user login SSH dapat dibuat home directory secara otomatis
    [root@ssh-server ~]#vi /etc/pam.d/sshd
    Tambahkan baris berikut di baris kedua dari file sshd
    session    required    pam_mkhomedir.so umask=0022 skel=/etc/skel
    auth       sufficient  pam_ldap.so
    account    sufficient  pam_permit.so
  13. Sebelummengujinya pastikan bahwa konfigurasi SSH mengizinkan password autentikasi lalu restart service ssh
    [root@ssh-server ~]#vi /etc/ssh/sshd_config
    Konfirmasi baris berikut apakah sudah benar
    PasswordAuthentication yes
  14. Restart service SSH
    [root@ssh-server ~]#service sshd restart
  15. Sekarang saatnya untuk melakukan uji coba Server SSH tersebut
    [root@pc-client001 ~]#ssh firman@ssh-server
    firman@ssh-server's password:
    Creating directory '/home/users/firman'.
    -sh-4.1$

Tidak ada komentar:

Posting Komentar