1
Sicurezza / Forzare richiesta autenticazione per tutti i servizi che girano su Apache
« il: 12 Gennaio 2015, 17:18:48 »
Salve a tutti, mi sto affacciando al mondo server e ho deciso di "adottare" centos come mia distro preferita. In realtà il problema che andrò ad esporvi non riguarda la distribuzione in se, ma Apache.
Ho costruito un serverino che deve avere dei servizi attivi e devono poter essere accessibili da remoto. Ho configurato no-ip.com e il router, tutti i servizi e funziona tutto correttamente. Ora però devo mettere tutto in sicurezza e vorrei poter richiedere l'autenticazione tramite apache ad ogni servizio che ho attivo.
I servizi attualmente attivi sono:
webmin
seafile
plex media server
transmission
mediawiki
Ecco il file httpd.conf
Poi ho creato un file .htaccess e l'ho messo in /var/www/html/
Poi ho creato il file /etc/httpd/conf/users
Ora:
- se mi collego alla porta 80 mi richiede l'autenticazione e quindi OK.
- se mi collego a mediawiki (//ip_address/mediawiki) mi richiede l'autenticazione e quindi OK
- se mi collego a webmin/seafile/plex entro e vorrei rimediare.
C'è un modo per far richiedere ad Apache l'autenticazione anche se il servizio non è disponibile sulla porta 80 ma su altra porta? (esempio la 10000 di webmin)
Spero di essermi spiegato bene, comunque rimango a disposizione se avete bisogno di altri dettagli. Il mio sistema è:
Ho costruito un serverino che deve avere dei servizi attivi e devono poter essere accessibili da remoto. Ho configurato no-ip.com e il router, tutti i servizi e funziona tutto correttamente. Ora però devo mettere tutto in sicurezza e vorrei poter richiedere l'autenticazione tramite apache ad ogni servizio che ho attivo.
I servizi attualmente attivi sono:
webmin
seafile
plex media server
transmission
mediawiki
Ecco il file httpd.conf
Codice: [Seleziona]
ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
<Directory />
AllowOverride none
Require all denied
</Directory>
DocumentRoot "/var/www/html"
#
# Relax access to content within /var/www.
#
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ".ht*">
Require all denied
</Files>
ErrorLog "logs/error_log"
LogLevel warn
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
# You need to enable mod_logio.c to use %I and %O
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "logs/access_log" combined
</IfModule>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
<IfModule mime_module>
TypesConfig /etc/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</IfModule>
AddDefaultCharset UTF-8
<IfModule mime_magic_module>
MIMEMagicFile conf/magic
</IfModule>
EnableSendfile on
IncludeOptional conf.d/*.conf
Poi ho creato un file .htaccess e l'ho messo in /var/www/html/
Codice: [Seleziona]
AuthUserFile /etc/httpd/conf/users
AuthGroupFile /dev/null
AuthName "Please Enter Password"
AuthType Basic
Require valid-user
Poi ho creato il file /etc/httpd/conf/users
Codice: [Seleziona]
# htpasswd -c /etc/httpd/conf/users utente
Ora:
- se mi collego alla porta 80 mi richiede l'autenticazione e quindi OK.
- se mi collego a mediawiki (//ip_address/mediawiki) mi richiede l'autenticazione e quindi OK
- se mi collego a webmin/seafile/plex entro e vorrei rimediare.
C'è un modo per far richiedere ad Apache l'autenticazione anche se il servizio non è disponibile sulla porta 80 ma su altra porta? (esempio la 10000 di webmin)
Spero di essermi spiegato bene, comunque rimango a disposizione se avete bisogno di altri dettagli. Il mio sistema è:
Codice: [Seleziona]
Linux version 3.10.0-123.el7.x86_64
CentOS Linux release 7.0.1406 (Core)