Security Researcher, Entrepreneur, Senior Linux Admin

19 Nisan 2016 Salı

Nginx Dizin Şifreleme

Nginx web sunucumuzda bir dizine girişte parola işlemi yapmak istediğimizde Apache gibi .htpasswd oluşturma işlemi gibi yapılmıyor. Htaccess erişim kontrolü olarak biliyor Apache'de.

Nginx'te bunu yapmak için VirtualHost dosyasında ekleme yapmamız gerekiyor. Ayrıca htpasswd gibi bir dosyayı biz oluşturup istediğimiz dizine atarak tanımlama yapacağız.

Şifremizi openssl marifeti ile oluşturacağız.

openssl passwd

yazıp enter dediğimizde giriş için kullanacağımız şifreyi iki kere girdirecek ve karmaşık bir görünüm oluşturacak girdiğimiz parola için.

root@salih:~# openssl passwd
Password:                                123456 Girdim
Verifying - Password:              123456 Girdim
6i60Qf3fCAO4c

123456 şifresi için 6i60Qf3fCAO4c dizisini üretti.

Phpmyadmin dizinini güvene almak istiyorum. buda genelde pma olarak bağlanılır. Bundan dolayı sunucuya http://sunucu/pma olarak erişmek istenecek. Dışarıdan direk giriş yerin öncesinde bir şifre ekranı gelecek. Ben /etc/nginx/ dizini altında pma_sifre diye bir dosya içinde kullanıcımı ve şifremi tutacağım. Yukarıda ürettiğim şifre karşılığındaki diziyi salih kullanıcısı ile eşleştireceğim.

mcedit /etc/nginx/pma_sifre

salih:6i60Qf3fCAO4c

ekleyip çıkıyoruz.

salih kullanıcısı ve 123456 şifresi ile giriş yapacağım bilgiyi girdim.

Nginx config dosyasında server{ altında bir yere ayarları eklemeniz gerekiyor.

mcedit /etc/nginx/sites-available/default

server  {
. . .

    location / {
        try_files $uri $uri/ =404;
    }

    location /pma {
        auth_basic "Pma Giriş Ekranı";
        auth_basic_user_file /etc/nginx/pma_sifre;
    }


kaydedip çıkıyoruz ve nginx sunucusunu yeniden başlattık mı artık /pma ile erişimde şifre sorucak. 

0 yorum:

Yorum Gönder

Etiketler