Mengaktifkan Direktori Web UserDir dan Proteksi Kata Sandi di Server Web Zentyal - Bagian 10


Pada lingkungan multi-pengguna seperti Direktori Aktif PDC Zentyal, menjalankan server web bisa sangat membantu, jika Anda ingin mengizinkan setiap pengguna memiliki laman web pribadi yang dapat dihosting di rumah mereka sendiri.

Modul Webserver pada Zentyal 3.4 dapat dikonfigurasi untuk mengaktifkan Users Public HTML dan dengan bantuan beberapa skrip Linux BASH untuk secara dinamis menghasilkan beberapa konten untuk halaman web dan mengirimkan informasi yang diperlukan pengguna saat mereka masuk ke domain.

Apache juga dikirimkan dalam jangka waktu yang lama dengan fitur lain yang berkaitan dengan keamanan konten yang dikirimkan dan itu adalah melindungi direktori web dengan kata sandi dalam salah satu bentuk paling sederhana hanya dengan menggunakan .htaccess dan buat daftar pengguna yang diperlukan untuk mengakses sumber daya, bahkan melindungi konten web dari crawler mesin pencari.

Persyaratan

  1. Panduan Instalasi Zentyal
  2. Instal Layanan Web (Apache) di Server Zentyal

Langkah 1: Aktifkan Html Publik Pengguna

1. Masuk ke Alat Admin Web Zentyal PDC Anda menggunakan https://zentyal_ip.

2. Navigasikan ke Modul Server Web -> centang Aktifkan pengguna rekan public_html, tekan tombol Ubah lalu Simpan perubahan .

3. Buka browser dan masukkan di URL isi berikut ini: http://domainsaya.com/~nama_penggunaanda.

Seperti yang Anda lihat, Apache tidak memiliki izin untuk mengakses direktori per pengguna atau mengindeks rumah pengguna. Untuk memperbaiki perilaku ini kita harus memberikan www-data izin eksekusi pada direktori /home/$USER dan membuat folder public_html di bawah jalur pengguna.

Untuk menyederhanakannya sedikit kita akan menulis skrip Linux Bash yang membuat direktori public_html dan mengaktifkan izin yang benar pada semua pengguna sistem, secara otomatis menghasilkan halaman web html untuk semua pengguna dengan direktori home yang valid dan skrip lain, kali ini skrip Windows Bach, yang akan menghubungkannya ke domain default GPO sehingga setiap pengguna akan diarahkan ke halaman web pribadinya setelah masuk dengan kredensial domain dari < b>Sistem Windows digabungkan ke dalam domain.

4. Untuk menyelesaikan tugas ini, login ke Server Zentyal menggunakan Putty dengan akun administratif Zentyal Anda yang dibuat pada instalasi sistem dan buat skrip pertama menggunakan editor teks favorit Anda. Kami akan menamainya “pembuatan-dir-pengguna“.

nano user-dir-creation

5. Tambahkan konten di bawah ini pada skrip “pembuatan-pengguna”.

#!/bin/bash

for i in `ls /home | grep -v samba| grep -v lost+found`;  do

        mkdir /home/$i/public_html

## Make world readable and executable, so that www-data can access it  ##

        chmod -R 755 /home/$i

      chgrp -R www-data /home/$i/public_html/

## Next code should be on a single line ##

echo "<html><body style='background-color:#2DC612'><div align='center'><p><H1 style='color:#fff'>Welcome user $i on <a style='color:#fff' href='https://mydomain.com'>`hostname -f` </a></H1></p></div></body></html>" > /home/$i/public_html/index.html

## List /home/$USER permissions and public_html perm optional ##

echo "......................."

ls -all /home/$i

echo "......................"

ls -all /home/$i/public_html

done;

6. Simpan skrip dan buat agar dapat dieksekusi lalu jalankan dengan hak akses root.

chmod +x user-dir-creation
sudo ./user-dir-creation

7. Buka kembali browser dan arahkan ke URL yang sama seperti di atas ( lihat poin 3 ).

Direktori public_html telah dibuat dan file html dibuat untuk semua pengguna sehingga sekarang mereka semua memiliki halaman web yang dipersonalisasi (Ini hanyalah halaman pengujian sederhana tetapi bayangkan apa yang dapat Anda lakukan dengan beberapa PHP , skrip MySQL atau CGI ).

8. Jika Zentyal 3.4 Server juga merupakan Pengontrol Domain Utama, kami dapat membuat halaman web per pengguna agar terbuka secara otomatis di browser saat pengguna masuk dari host Windows yang bergabung ke domain.

Untuk mengaktifkannya, masuk ke sistem Windows yang digabungkan ke domain dan buat skrip batch windows bernama “public_html.bat” menggunakan Notepad dengan konten berikut.

explorer http://your_domain.tld/~%username%

Catatan: Harap perhatikan karakter khusus “~” dan %username% yang merupakan variabel lingkungan windows.

9. Buka Alat Administrasi Web Zentyal (https://zentyal_IP) dan buka Domain -> Objek Kebijakan Grup -> Default Kebijakan Domain -> Editor GPO.

10. Klik Edit, gulir ke bawah ke Konfigurasi Pengguna –> Tambahkan Skrip Masuk Baru, Telusuri jalur tempat skrip Anda dibuat dan tekan < b>TAMBAHKAN.

Selamat! Sekarang, saat berikutnya Anda masuk ke domain, browser default Anda akan membuka halaman web yang dipersonalisasi terkait dengan nama pengguna Anda.

Langkah 2: Direktori Web Lindungi Kata Sandi

Bagian ini memerlukan konfigurasi lebih lanjut pada modul Apache yang tidak dapat dicapai dari Antarmuka Web Zentyal tetapi hanya dari baris perintah dan memodifikasi beberapa templat modul Apache Zentyal.

Jika Anda mencoba memodifikasi konfigurasi Apache secara langsung seperti yang biasa Anda lakukan di server Linux, semua konfigurasi yang dibuat akan hilang karena Zentyal menggunakan beberapa formulir templat yang menulis ulang setiap file konfigurasi layanan setelah reboot atau restart layanan.

Untuk benar-benar melindungi folder web menggunakan autentikasi Apache dan membuat perubahan permanen, perintah “AllowOverride” perlu diubah dan modul “auth_basic” perlu dimuat dan diaktifkan di server web Apache .

11. Untuk mengaktifkan semua konfigurasi diperlukan login pertama melalui baris perintah menggunakan Putty di Zentyal Server dengan akun root.

12. Aktifkan “auth_basic” dengan mengeluarkan perintah berikut dan kemudian restart layanan web zentyal.

a2enmod auth_basic
service zentyal webserver restart

13. Setelah modul dimuat saatnya memodifikasi template Zentyal Apache Vhost yang terletak di jalur “/usr/share/zentyal/stubs/webserver/” dan menyiapkan “IzinkanOverride“.

File vhost.mas cadangan pertama.

cp /usr/share/zentyal/stubs/webserver/vhost.mas  /usr/share/zentyal/stubs/webserver/vhost.mas.bak

Kemudian buka editor, navigasikan ke bawah pada file dan ganti “Tidak Ada” dengan “Semua” pada baris perintah “Izinkan Override” seperti pada tangkapan layar .

14. Setelah Anda selesai mengedit, restart modul Zentyal Webserver untuk menerapkan perubahan baru.

service zentyal webserver restart

Tujuan utama direktif AllowOverride adalah untuk secara dinamis mengubah konfigurasi Apache dari file lain yang berbeda dari yang digunakan di root Apache (/etc/apache2/) pada basis per jalur menggunakan file .htacess.

15. Sekarang saatnya membuat beberapa pengguna yang diperbolehkan menelusuri direktori konten web yang dilindungi kata sandi. Pertama kita perlu membuat direktori yang ditempatkan di luar jalur subdomain tempat file .htpasswd akan dihosting dan dilindungi.

mkdir /srv/www/htpass
chmod –R 750 /srv/www/htpass
chgrp –R www-data /srv/www/htpass

16. Sekarang saatnya membuat file .htpasswd dan menambahkan beberapa pengguna menggunakan perintah htpasswd. Saat pengguna pertama dibuat, tambahkan tombol perintah “–c ” (buat) untuk membuat file dan menambahkan pengguna, lalu masukkan dan konfirmasi kata sandi pengguna.

htpasswd –c /srv/www/htpass/.htpasswd first_user
htpasswd /srv/www/htpass/.htpasswd second_user

17. Sekarang file .htpasswd dibuat dan dienkripsi menggunakan algoritma garam MD5 dan Anda dapat menambahkan pengguna sebanyak yang diperlukan untuk mengakses konten folder web sesuai kebutuhan.

18. Sekarang anggaplah Anda ingin melindungi URL http://www.mydomain.com dari pengguna lain selain pengguna yang dibuat di file htpasswd Anda untuk mengakses subdomain. Untuk mengaktifkan perilaku ini, buat file .htaccess di jalur sistem www.mydomain.com dan tambahkan konten berikut.

AuthType basic
AuthName “What ever message you want”
AuthBasicProvider file
AuthUserFile  /path/to/.htpassd file created
Require user  your_user1 user2 userN

Pastikan juga bahwa file .htacces dilindungi kata-kata yang dapat dibaca.

nano /srv/www/www.mydomain.com/.htaccess
chmod 750  /srv/www/www.mydomain.com/.htaccess
chgrp www-data /srv/www/www.mydomain.com/.htaccess

Selamat! Anda sekarang telah berhasil melindungi kata sandi subdomain www.mydomain.com di situs web Anda dan pengguna akan diminta memasukkan kredensial mereka untuk mengakses konten situs web.

Juga jika Anda ingin melindungi domain atau subdomain lain yang dibuat di server Anda dengan kredensial yang sudah dibuat, cukup salin file .htaccess di jalur Apache subdomain Anda dan pastikan www-data memiliki akses baca.

Dengan bantuan Perlindungan Kata Sandi Direcory Web Apache Zentyal Weberver dapat ditempa dengan beberapa lapisan keamanan tambahan dalam mengungkap informasi sensitif yang diposting di domain Anda, namun perlu diingat bahwa metode ini hanya melindungi direktori dan bukan file dan kata sandi yang dikirimkan jelas oleh browser jadi coba gunakan protokol HTTPS untuk melindungi kredensial pengguna agar tidak disadap.