Zentyal Web Sunucusunda UserDir ve Parola Korumasını Etkinleştirme Web Dizinleri - Bölüm 10


Zentyal PDC Active Directory gibi çok kullanıcılı bir ortamda bir web sunucusu çalıştırmak, her kullanıcının kendi evlerinde barındırılabilecek kişisel web sayfasına sahip olmasına izin vermek istiyorsanız çok yardımcı olabilir.

Zentyal 3.4'teki Web sunucusu modülü, Kullanıcıların Genel HTML'sini etkinleştirecek şekilde ve bazı Linux BASH komut dosyalarının yardımıyla yapılandırılabilir Web sayfası için bazı içerikleri dinamik olarak oluşturmak ve kullanıcılara oturum açmalarıyla ilgili gerekli bilgileri etki alanına iletmek.

Ayrıca Apache, güvenlikle sağlanan içerikle ilgili başka bir özellik ile uzun süredir birlikte geliyor ve bu da bir web dizinini şifreyle korumaktır. Bu özellik, yalnızca kullanarak en basit formlardan birindedir. .htaccess dosyalarına erişebilir ve kaynaklara erişmek için gereken kullanıcıların bir listesini oluşturabilir, hatta web içeriğini arama motoru tarayıcılarından koruyabilirsiniz.

Gereksinimler

  1. Zentyal Kurulum Kılavuzu
  2. Zentyal Sunucusuna Web Hizmetlerini (Apache) Kurun

1. Adım: Kullanıcı Genel Html'sini Etkinleştirin

1. https://zentyal_ip kullanarak Zentyal PDC Web Yönetici Aracınıza giriş yapın.

2. Web Sunucusu Modülü'ne gidin -> Eş kullanıcı public_html'yi etkinleştir'i işaretleyin, Değiştir düğmesine basın ve ardından değişiklikleri Kaydet'e basın .

3. Bir tarayıcı açın ve aşağıdaki URL dosyasına girin: http://mydomain.com/~kullanıcı_adınız.

Gördüğünüz gibi Apache'nin kullanıcı dizini veya indeks kullanıcısının evine erişim için herhangi bir izni yoktur. Bu davranışı düzeltmek için www-data'ye /home/$USER dizininde yürütme izinleri sağlamalı ve kullanıcı yolu altında bir public_html klasörü oluşturmalıyız.

İşleri biraz basitleştirmek için, public_html dizini oluşturan ve tüm sistem kullanıcıları için doğru izinlere izin veren, herkes için html web sayfalarını otomatik olarak oluşturan bir Linux Bash betiği yazacağız. geçerli bir ana dizine ve başka bir komut dosyasına (bu sefer bir Windows Bach komut dosyası) sahip kullanıcılar, bunu Varsayılan etki alanı GPO'suna bağlayacak, böylece her kullanıcıya, < alan adı kimlik bilgileriyle oturum açtıktan sonra kendi kişisel web sayfası sorulacaktır. b>Windows sistemleri etki alanına katıldı.

4. Bu görevi tamamlamak için Putty kullanarak sistem kurulumunda oluşturulan Zentyal yönetici hesabınızla Zentyal Sunucusuna giriş yapın ve favori metin düzenleyicinizi kullanarak ilk komut dosyasını oluşturun. Buna “kullanıcı-dizini-oluşturma” adını vereceğiz.

nano user-dir-creation

5. Aşağıdaki içeriği “user-dir-creation” betiğine ekleyin.

#!/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. Komut dosyasını kaydedin ve yürütülebilir hale getirin, ardından kök ayrıcalıklarıyla çalıştırın.

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

7. Tekrar bir tarayıcı açın ve yukarıdakiyle aynı URL'ye yönlendirin (3. maddeye bakın).

public_html dizini oluşturuldu ve tüm kullanıcılar için bir html dosyası oluşturuldu, böylece artık hepsi kişiselleştirilmiş bir web sayfasına sahip oldu ( Bu sadece basit bir test sayfası ama bazı PHP ile neler yapabileceğinizi bir düşünün , MySQL veya CGI komut dosyaları).

8. Eğer Zentyal 3.4 Sunucusu aynı zamanda bir Birincil Etki Alanı Denetleyicisi ise, kullanıcılar etki alanına katılan Windows ana bilgisayarlarından oturum açtığında, kullanıcı başına web sayfasının bir tarayıcıda otomatik olarak açılmasını sağlayabiliriz.

Etkinleştirmek için etki alanına katılmış bir Windows sisteminde oturum açın ve aşağıdaki içerikle Not Defteri'ni kullanarak “public_html.bat” adlı bir Windows toplu komut dosyası oluşturun.

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

Not: Lütfen “~” özel karakterine ve bir Windows ortam değişkeni olan %username%'ye dikkat edin.

9. Zentyal Web Yönetim Aracı'nı (https://zentyal_IP) açın ve Etki Alanı -> Grup İlkesi Nesneleri -> Varsayılan'a gidin. Etki Alanı Politikası -> GPO Düzenleyicisi.

10. Düzenle'ye tıklayın, Kullanıcı Yapılandırması –> Yeni Oturum Açma Komut Dosyası Ekle'ye gidin, komut dosyanızın oluşturulduğu yola göz atın ve <'ye basın. b>EKLE'yi seçin.

Tebrikler! Artık etki alanına bir sonraki girişinizde, varsayılan tarayıcınız kullanıcı adınızla ilgili kişiselleştirilmiş bir web sayfası açacaktır.

Adım 2: Web Dizinini Parolayla Koruyun

Bu bölüm, Apache modülünde Zentyal Web Arayüzü'nden elde edilemeyen, yalnızca komut satırından ve bazı Zentyal Apache modülü şablonunun değiştirilmesinden elde edilen daha gelişmiş yapılandırma gerektirir.

Normalde bir Linux sunucusunda yaptığınız gibi Apache yapılandırmasını doğrudan değiştirmeye çalışırsanız, yapılan tüm yapılandırmalar kaybolacaktır çünkü Zentyal, yeniden başlatma veya hizmetin yeniden başlatılmasından sonra her hizmet yapılandırma dosyasını yeniden yazan bazı şablon formları kullanır.

Apache kimlik doğrulamasını kullanarak bir web klasörünü gerçekten korumak ve değişiklikleri kalıcı hale getirmek için “AllowOverride” yönergesinin değiştirilmesi ve “auth_basic” modülünün Apache web sunucusuna yüklenip etkinleştirilmesi gerekir .

11. Gerekli tüm yapılandırmaları etkinleştirmek için, root hesabıyla Zentyal Sunucusu üzerinde Putty kullanarak komut satırından ilk giriş yapın.

12. Aşağıdaki komutu vererek “auth_basic”i etkinleştirin ve ardından zentyal web servisini yeniden başlatın.

a2enmod auth_basic
service zentyal webserver restart

13. Modül yüklendikten sonra “/usr/share/zentyal/stubs/webserver/” yolunda bulunan Zentyal Apache Vhost şablonunu değiştirme ve “Geçersiz Kılmaya İzin Ver“.

İlk yedek vhost.mas dosyası.

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

Ardından bir düzenleyici açın, dosyanın en altına gidin ve ekran görüntüsündeki gibi "Geçersiz Kılmaya İzin Ver" yönerge satırındaki "Yok" ifadesini "Tümü" ile değiştirin .

14. Düzenlemeyi tamamladıktan sonra yeni değişiklikleri uygulamak için Zentyal Web sunucusu modülünü yeniden başlatın.

service zentyal webserver restart

AllowOverride yönergesinin ana hedefi, Apache yapılandırmalarını, Apache kökünde (/etc/apache2/) kullanılan dosyalardan farklı dosyalardan yola göre dinamik olarak değiştirmektir. .htacess dosyası.

15. Şimdi, şifre korumalı bir web içerik dizinine göz atmasına izin verilen bazı kullanıcılar oluşturmanın zamanı geldi. Öncelikle .htpasswd dosyasının barındırılacağı ve korunacağı alt alan adı yolunun dışına yerleştirilmiş bir dizin oluşturmamız gerekiyor.

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

16. Şimdi .htpasswd dosyasını oluşturmanın ve htpasswd komutunu kullanarak bazı kullanıcıları eklemenin zamanı geldi. İlk kullanıcı oluşturulduğunda dosyayı oluşturmak ve kullanıcıyı eklemek için “–c ” (oluştur) komut anahtarını ekleyin, ardından kullanıcı şifresini girip onaylayın.

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

17. Artık .htpasswd dosyası MD5 tuz algoritması kullanılarak oluşturuldu ve şifrelendi; web klasörü içeriğine erişmek için gereken sayıda kullanıcıyı gerektiği kadar ekleyebilirsiniz.

18. Şimdi http://www.mydomain.com URL'sini diğer kullanıcılardan ve alt alan adına erişmek için htpasswd dosyanızda oluşturulan kullanıcılardan korumak istediğinizi varsayalım. Bu davranışı etkinleştirmek için www.mydomain.com sistem yolunda bir .htaccess dosyası oluşturun ve aşağıdaki içeriği ekleyin.

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

Ayrıca .htacces dosyasının sözcükle okunabilir korumalı olduğundan emin olun.

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

Tebrikler! Artık web sitenizdeki www.mydomain.com alt alan adını başarılı bir şekilde şifre korumalı ettiniz ve kullanıcılardan web sitesi içeriğine erişim için kimlik bilgilerini girmeleri istenecek.

Ayrıca, sunucunuzda oluşturulan diğer etki alanlarını veya alt etki alanlarını önceden oluşturulmuş kimlik bilgileriyle korumak istiyorsanız, .htaccess dosyasını alt alan adınızın Apache yoluna kopyalayın ve www-data okuma erişimi var.

Apache Web Dizini Parola Koruması'nın yardımıyla Zentyal Weberver, etki alanlarınıza gönderilen hassas bilgilerin açığa çıkarılmasına yönelik bazı ekstra güvenlik katmanlarıyla donatılabilir ancak bu yöntemin yalnızca dizinleri koruduğunu, dosya ve parolaların iletilmediğini unutmayın. tarayıcı tarafından net bir şekilde görüntülendiğinden, kullanıcı kimlik bilgilerini ele geçirilmeye karşı korumak için HTTPS protokolünü kullanmayı deneyin.