Strona 1 z 1

[+] apache2 htdigset

: 14 maja 2017, 21:37
autor: b0l5
Witam,
postawiłem u siebie apache2 (debian jessie) i do jednego z folderów chciałem zrobić zabezpieczenie na hasło, ale coś hasło się nie pojawia. Męczę się już z tym z pół dnia i brakuje mi pomysłów jak rozwiązać ten problem. Tak więc od początku. Włączyłem moduł auth_digest

Kod: Zaznacz cały

root@dedi-par-63159:/etc/apache2/sites-available$ ls /etc/apache2/mods-enabled/
access_compat.load  authn_file.load  deflate.load  mpm_prefork.conf  reqtimeout.load     status.conf
alias.conf          authz_core.load  dir.conf      mpm_prefork.load  rewrite.load        status.load
alias.load          authz_host.load  dir.load      negotiation.conf  setenvif.conf
auth_basic.load     authz_user.load  env.load      negotiation.load  setenvif.load
auth_digest.load    autoindex.conf   filter.load   php5.conf         socache_shmcb.load
authn_core.load     autoindex.load   mime.conf     php5.load         ssl.conf
authn_dbm.load      deflate.conf     mime.load     reqtimeout.conf   ssl.load
Później edytowałem pliczek w /etc/apache2/sites-available/default

Kod: Zaznacz cały

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/html
<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>
<Directory /var/www/html/>
  Options -Indexes FollowSymLinks MultiViews
  AllowOverride None
  Order allow,deny
  allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
  AllowOverride None
  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

<Location /test>
  AuthType Digest
  AuthName "test"
  AuthDigestDomain /var/www/html/test/ http://62.*.*.*/test
  AuthDigestProvider file
  AuthUserFile /etc/apache2/.htdigset
  Require valid-user
  SetEnv R_ENV "/var/www/html/test"
</Location>
</VirtualHost>

<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName 62.*.*.*:443

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem

DocumentRoot /var/www/html/
<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>
<Directory /var/www/html/>
  Options -Indexes FollowSymLinks MultiViews
  AllowOverride None
  Order allow,deny
  allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

<Location /test>
  AuthType Digest
  AuthName "test"
  AuthDigestDomain /var/www/html/test/ http://62.*.*.*/test
  AuthDigestProvider file
  AuthUserFile /etc/apache2/.htdigset
  Require valid-user
  SetEnv R_ENV "/var/www/html/test"
</Location>
</VirtualHost>
Na koniec ustawiłem hasło:
sudo htdigest -c /etc/apache2/.htdigset test root

I jeszcze zrobiłem w tym folderze test plik .htaccess, ale i to nic nie dało. Okno logowania w dalszym ciągu się nie pojawia i po http i po https

Re: apache2 htdigset

: 15 maja 2017, 07:44
autor: pawkrol
Nie lepiej ssl + Auth Basic ?

Kod: Zaznacz cały

.
.
         AuthName "Nagios Access"
         AuthType Basic
         AuthUserFile /usr/local/sign/htpasswd.users
         Require valid-user
.
.
Jak wygląda url po którym chcesz wejść. Czy tak http://domain.com/test ?

Re: apache2 htdigset

: 15 maja 2017, 22:03
autor: b0l5
@pawkrol, dokładnie tak wygląda adres. Czyli to co zamieściłeś dać w .htaccess a tamto z pliku /etc/apache2/sites-available/default usunąć?

Re: apache2 htdigset

: 16 maja 2017, 07:41
autor: pawkrol
Daj tak w konfiguracji apache i zobacz czy zadziała(Swoją usuń):

Kod: Zaznacz cały

<Location /test>
         AuthName "Nagios Access"
         AuthType Basic
         AuthUserFile /usr/local/sign/htpasswd.users
         Require valid-user
</Location>
Ścieżki do własnej edycji. Co masz w pliku .htaccess?

Re: apache2 htdigset

: 16 maja 2017, 21:24
autor: b0l5
Dałem tak jak powiedziałeś czyli:
mój default wygląda tak:

Kod: Zaznacz cały

<VirtualHost *:80>
ServerAdmin webmaster@localhost

<Location /test>
         AuthName "Nagios Access"
         AuthType Basic
         AuthUserFile /etc/apache2/.htpasswd
         Require valid-user
</Location>

</VirtualHost>
.htaccess siedzi w folderze test i wygląda tak:

Kod: Zaznacz cały

<Directory "/var/www/html/test">
    AuthType Basic
    AuthName Documents
    AuthBasicProvider file
    AuthUserFile "/etc/apache2/.htpasswd"
    Require valid-user
</Directory>
poszedł restart apache
I w dalszym ciągu nie ma autoryzacji.

Nie mam pojęcia o co już chodzi i czemu nie działa. Niby wszystko mam moduły etc. a nic nie chce chodzić.

Re: apache2 htdigset

: 17 maja 2017, 07:51
autor: pawkrol
Zastanów się najpierw jak chcesz ograniczyć dostęp:
Po URL - Location
Względem ścieżki - Directory
Usuń ten wpis z .htaccess i w konfiguracji apache2 daj albo wpis z Location albo Directory. Musi działać
Na czym sprawdzasz czy jest autoryzacja?
Co mówią logi ?

Re: apache2 htdigset

: 01 lipca 2017, 13:15
autor: b0l5
problem rozwiązany dzięki