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: