web-dev-qa-db-fra.com

Verrouillage d'un serveur Apache - Empêche la page «/» d'être visible par tous

J'ai d'abord installé Apache dans le cadre d'une configuration de ZoneMinder. J'ai ensuite ajouté au serveur avec une configuration ownCloud. Tout cela n'est accessible qu'au LAN ou au WAN-through-ssh et cette partie fonctionne très bien.

Je souhaite maintenant rendre mon service ownCloud visible par WAN afin que la famille puisse en profiter; cela nécessite qu'il soit sur http normal. J'ai réussi dans une certaine mesure, mais certaines demandes à mon serveur reçoit une liste de répertoires que je n'aime pas du tout. Par exemple, http://mysite.cloudns.pro:1234/ renvoie ce qui suit:

Index of /

[ICO]   Name    Last modified   Size    Description
[DIR]   html/   2015-06-24 11:20    -    
[DIR]   owncloud/   2015-06-04 09:43    -    
Apache/2.4.7 (Ubuntu) Server at mysite.cloudns.pro Port 1234

J'ai déjà verrouillé avec succès /zm de WAN en ajoutant ce qui suit dans /etc/zm/Apache.conf:

Order deny,allow
Deny from all
Allow from 192.168 localhost

Comment puis-je faire de même pour la page Apache par défaut (index.html) et la racine / pages?

1
Tfb9

Avec l'aide de https://stackoverflow.com/questions/2530372/how-do-i-disable-directory-browsing

Les opérations suivantes peuvent être effectuées pour que seul le service ownCloud soit disponible pour le WAN. Ils peuvent être redondants, mais combinés, ils ne peuvent que rendre le système plus sûr.

1) En supposant que ce n'est pas nécessaire, la page d'accueil par défaut d'Apache peut être déplacée vers un emplacement de stockage (et hors des sites actifs):

$ Sudo mv /var/www/html/index.html ~/index.html.orig

2) Pour empêcher ZoneMinder d'être accessible à partir du WAN, changer /etc/zm/Apache.conf pour contenir les éléments suivants, le serveur répondra par Forbidden sauf si la page est demandée à partir du réseau local:

Order deny,allow
Deny from all
Allow from 192.168 localhost

3a) Pour empêcher / d'afficher une liste de répertoires et d'afficher Frobidden à la place, ajoutez le mot clé Indexes dans l'entrée '/' de /etc/Apache2/Apache2.conf:

<Directory />
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

3b) Et supprimez le mot clé Indexes dans tous les autres <Directory> Annonces.

Enfin, redémarrez Apache2:

$ Sudo service Apache2 restart
1
Tfb9