Empécher l' accès à phpmyadmin

Bonjour,
J’ heberge un site web sur mon serveur, et je souhaite ne pas donner accès à phpmyadmin à tout le monde.
Pour le moment, j’ ai suivi ce tuto : doc.ubuntu-fr.org/tutoriel/securiser_apache2
J’ ai entre autre, rajouter ces quelques lignes dans mon fichier de config :

<Directory /> Order Deny,Allow Deny from all Options None AllowOverride None </Directory> <Directory /www> Order Allow,Deny Allow from all </Directory>

Cela fonctionne, mais je ne saisi pas tout… Si je regarde ici : doc.ubuntu-fr.org/tutoriel/secur … dresses_ip , il est précisé :

[quote] Le principe est le suivant :
Allow,Deny Autorise tout le monde sauf les IP décrites dans Deny from
Deny,Allow Rejette tout le monde sauf les IP listés dans Allow from

[/quote]
Justement, au lieu de :

</Directory> <Directory /www> Order Allow,Deny Allow from all </Directory>
Cela ne devrait pas être :

</Directory> <Directory /www> Order Deny,Allow Allow from monadresseipparexemple </Directory>

Quelque chose m’ echappe. Merci de m’ eclairer ! Bonne après midi.

Up !
Bon Dimanche !

Restreindre l’accès aux seuls fichiers des répertoires WWWW (forum & agora)

Personne à la racine

Order Deny,Allow
Deny from all
Options None
Allowoverride None

Tout le monde sur “forum” personne sur le reste
<Directory /forum>
Order Allow,Deny
Allow from all

Tout le monde sur “agora” personne sur le reste
<Directory /agora>
Order Allow,Deny
Allow from all

[quote=“ungars”]Cela fonctionne, mais je ne saisi pas tout… Si je regarde ici : doc.ubuntu-fr.org/tutoriel/secur … dresses_ip , il est précisé :

[quote]
Le principe est le suivant :
Allow,Deny Autorise tout le monde sauf les IP décrites dans Deny from
Deny,Alow Rejette tout le monde sauf les IP listés dans Allow from
[/quote][/quote]
Pas vraiment ! Ça serait même plutôt l’inverse.
En pratique, c’est un poil plus compliqué, tu peux avoir plusieurs Allow from et Deny from derrière

  • Allow,Deny : L’IP doit être dans un Allow from et ne pas être dans un Deny From pour être autorisée
  • Deny,Allow : L’IP doit être dans un Allow from ou ne pas être dans un Deny From pour être autorisée

Allow,Deny est donc préférable : il interdit par défaut.

httpd.apache.org/docs/2.2/mod/mo … html#order

EDIT : du coup j’ai corrigé la doc ubuntu aussi…

Ok, merci pour tes précisions, il y avait donc une erreur sur la doc…

Pour phpmyadmin, si je ne veux pas qu’ il soit ouvert à tous, puis je mettre :

<Directory /web> Order Allow,Deny Allow from monadresseip Options -Indexes </Directory>

Bonne soirée !

Oui ! :023

Plutôt :

<Directory /web> Order Allow,Deny Deny from all Allow from monadresseip Options -Indexes </Directory>

Oui j’ en avais oublié un bout… Merci !
Et à la place de web je peux mettre phpmyadmin ?

[quote=“Glorf”]Plutôt :

<Directory /web> Order Allow,Deny Deny from all Allow from monadresseip Options -Indexes </Directory> [/quote]
Ben non !
Avec Allow, Deny, si tu mets Deny from all ton site sera interdit à tout le monde !

Soit :

<Directory /web>
   Order Allow,Deny
   Allow from <ton_ip>
</Directory>

soit :

<Directory /web>
   Order Deny,Allow
   Deny from all
   Allow from <ton_ip>
</Directory>

Ben, tu mets le chemin du dossier concerné. Tu dois avoir déjà un Directory sur la racine (/) qui l’interdit à tous, tu dois alors en créer un pour les dossiers dont tu veux autoriser l’accès…

Teste par toi-même. C’est le meilleur moyen d’être sûr !

[quote=“kna”][quote=“Glorf”]Plutôt :

<Directory /web> Order Allow,Deny Deny from all Allow from monadresseip Options -Indexes </Directory> [/quote]
Ben non !
Avec Allow, Deny, si tu mets Deny from all ton site sera interdit à tout le monde !

Soit :

<Directory /web>
   Order Allow,Deny
   Allow from <ton_ip>
</Directory>

soit :

<Directory /web> Order Deny,Allow Deny from all Allow from <ton_ip> </Directory> [/quote]
J’avais lu deny,allow par habitude, excuse moi !

Salut à tous.

J’ ai donc mis un :

[code] <Directory /phpmyadmin>
Order Allow,Deny
Allow from monadresseip
Options -Indexes

[/code]

Reloadé, je peux me connecter avec mon adresse ip, mais malheureusement avec une autre aussi (testé avec le hotspot de l’ hotel en face de chez moi)

Bon alors là ça se complique.
En attendant de trouver une solution, j’ avais mis ça :

<Directory /> Order Deny,Allow Deny from all Options None AllowOverride None </Directory> <Directory /www> Order Allow,Deny Allow from all </Directory>

Qui avait le mérite d’ empécher d’ accéder à phpmyadmin, mais à moi aussi, et maintenant, cela a beau être là, je peux y accéder… Même après avoir reloadé.

<Directory /www> Order Deny,Allow Deny from all Allow from mon_ip </Directory>
Ça devrait marcher comme ça

Non plus… Toujours pareil, je peux me connecter avec n’ importe quelle adresse IP.

Par contre chose bizarre, connecté au hotspot, si je consulte mon IP (la nouvelle, attribuée par le hotspot) , via le site www.mon-ip.com, je suis toujours avec mon adresse IP de free, pourtant, si je regarde la liste des personnes connectées sur mon forum, l’ adresse IP est bien celle du hotspot.
J’ ai essayé via ce proxy : alexswhateversite.info/ , je peux toujours me connecter sur phpmyadmin.

J’ ai reloadé, restaré…

Et si tu mets le chemin de manière absolue ?
<Directory /chemin/vers/phpmyadmin>
au lieu de <Directory /web>

J’ ai mis au début :

[quote] <Directory /phpmyadmin>
[/quote]

Puis j’ ai essayé (pour voir) :

<Directory /www>

Je te donne ici mon fichier complet :

[code] <VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
	Options FollowSymLinks
	AllowOverride None
</Directory>
<Directory /var/www/>
	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

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

Options -FollowSymLinks

AccessFileName .httpdoverride
<Files ~ “^.ht”>
Order allow,deny
Deny from all
Satisfy All

<Directory /www>
Order Deny,Allow
Deny from all
Allow from monadresseip

[/code]

Merci de ton aide.

C’est bien une erreur de chemin : quand tu indiques

<Directory /www>
Order Deny,Allow
Deny from all
Allow from monadresseip

il cherche le répertoire /www à la racine du disque.
Si tu veux que ça marche, ajoute un :
Alias /www/ "/chemin/vers/phpmyadmin"
au début de ton vhost

Super ! Merci pour tes supers conseils ! Cela fonctionne désormais comme je le souhaitais. Avec mon adresse Ip je peux me connecter, mais via une adresse Ip fournie par un proxy, j’ ai une magnifique erreur 403, c’ est bien la première fois ou je suis content d’ en avoir une !

Juste pour finir :

[quote] Si tu veux que ça marche, ajoute un :
Alias /www/ "/chemin/vers/phpmyadmin"
au début de ton vhost [/quote]
Je n’ ai pas tout saisi ce que tu voulais que je fasse, j’ ai rajouté :

A la place de :
Directory /phpmyadmin
Je ne pense pas que c’ était ça que tu voulais exactement que je fasse, mais cela fonctionne.

J’ ai tenté ensuite de changer le fichier tel que j’ ai voulu le faire au début (mais vu que le chemin n’ était pas bon…) , cela donne :

<Directory /usr/share/phpmyadmin> Order Allow,Deny Allow from XXXXXXXX </Directory>
Cela fonctionne aussi comme ça.

@+

Alias /phpmyadmin “/usr/share/phpmyadmin” crée un lien symbolique pour apache, à chaque fois que tu indiqueras /phpmyadmin, apache comprendra /usr/share/phpmyadmin/
..., c’est pas une IP de hotspot sinon ?
Glorf

Ok, merci pour tes précisions.
Non, c’ est mon adresse Ip, je n’ avais pas fait gaffe… Je viens de l’ effacer, si tu pouvais en faire autant dans ton message…

Merci en tout cas à tous de m’ être venu en aide !

Bonne soirée !