Lewati ke isi

OpenLDAP dan phpLDAPadmin

OpenLDAP

# update repositori ubuntu lalu install openldap dan utilitasnya
sudo apt update
sudo apt install slapd ldap-utils
# saat proses instalasi masukkan informasi yang dibutuhkan
# untuk memastikan pengaturan sesuai jalankan perintah untuk konfigurasi ulang
sudo dpkg-reconfigure slapd
  • Omit OpenLDAP server configuration? No
  • DNS domain name? ldap.proxsis.xyz
  • Organization name? PROXSIS Consulting Group
  • Administrator password? ProxsisLDAP
  • Database backend? HDB
  • Remove the database when slapd is purged? No
  • Move old database? Yes
  • Allow LDAPv2 protocol? No

phpLDAPadmin

# install phpLDAPadmin
sudo apt-get install phpldapadmin
# sunting berkas config.php
sudo nano /etc/phpldapadmin/config.php
// Ubah pengaturan pada phpLDAPadmin seuaikan dengan pengaturan ldap server
// yang baru kita buat
$servers->setValue('server','host','ldap.proxsis.xyz');
$servers->setValue('server','base',array('dc=ldap,dc=proxsis,dc=xyz'));
$servers->setValue('login','bind_id','cn=admin,dc=ldap,dc=proxsis,dc=xyz');
$config->custom->appearance['hide_template_warning'] = true;

Buat self-certificate SSL

# buat direktori untuk menampung berkas sertifikat
sudo mkdir /etc/apache2/ssl
# buat sertifikan dan keluarkan ke berkas tujuan
sudo openssl req -x509 -nodes -days 365 -newkey rsa:4096 \
    -keyout /etc/apache2/ssl/ldap_server.key \
    -out /etc/apache2/ssl/ldap_server.crt

Mengamankan phpLDAPadmin dan Apache

Membuat akses dan mengamankan URL instalasi phpLDAPadmin

# Instal htpasswd
sudo apt install apache2-utils
# membuat pengguna dan sandi
sudo htpasswd -c /etc/apache2/htpasswd biztech
# bizTechOK

Karena phpLDAPadmin secara bawaan menggunakan Apache sebagai webservernya maka kita perlu mengubah alias yang digunakan untuk mengurangi kemungkinan percobaan penyusupan oleh bot

sudo a2enmod ssl
# Modify the phpLDAPadmin Apache Configuration
sudo nano /etc/phpldapadmin/apache.conf

alias phpLDAPadmin

<IfModule mod_alias.c>
    Alias /ldmin /usr/share/phpldapadmin/htdocs
</IfModule>

Pengaturan virtual host

# buat dan isi pengaturan untuk virtual host ldap.proxsis.xyz yang secara langsung akan meng
sudo nano /etc/apache2/sites-available/ldap.proxsis.xyz.conf
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html
    ServerName ldap.proxsis.xyz
    Redirect permanent / https://ldap.proxsis.xyz/ldmin
    ErrorLog ${APACHE_LOG_DIR}/proxsis.xyz/ldap_error.log
    CustomLog ${APACHE_LOG_DIR}/proxsis.xyz/ldap_access.log combined
</VirtualHost>
# pengaturan untuk https dan penggunaan sertifikat SSL yang sudah dibuat sebelumnya
sudo nano /etc/apache2/site-available/ldap.proxsis.xyz-ssl.conf
<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerAdmin [email protected]
        ServerName ldap.proxsis.xyz
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/proxsis.xyz/ldap_error.log
        CustomLog ${APACHE_LOG_DIR}/proxsis.xyz/ldap_access.log combined
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/ldap_server.crt
        SSLCertificateKeyFile /etc/apache2/ssl/ldap_server.key
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
        </Directory>
        <Location /ldmin>
            AuthType Basic
            AuthName "Restricted Files"
            AuthUserFile /etc/apache2/htpasswd
            Require valid-user
        </Location>
    </VirtualHost>
</IfModule>

Buat direktori dan berkas untuk log

sudo mkdir /var/log/apache2/proxsis.xyz
sudo touch /var/log/apache2/proxsis.xyz/ldap_error.log
sudo touch /var/log/apache2/proxsis.xyz/ldap_access.log

Lalu jalankan untuk menerapkan perubahan konfigurasi yang sudah dilakukan, sekaligus untuk memeriksa jika konfigurasi sudah baik.

sudo service apache2 reload

Terakhir jalan perintah

sudo service apache restart

Silakan langsung mengunjungi http://ldap.proxsis.xyz ini akan langsung diarahkan ke https://ldap.proxsis.xyz/ldmin, ini artinya pengaturan redirect sudah berhasil dilakukan, untuk URL maupun https

Rujukan: