Aller plus loin avec Apache

On vérifie que le mod headers est bien actif :

a2enmod headers

On ajoute la ligne suivante au fichier /usr/sbin/apache2ctl pour générer une variable contenant le nom d’hôte :

[...]
export HOSTNAME=`hostname`

Enfin, il faut récupérer la variable en ajoutant ces deux lignes à la fin du fichier /etc/apache2/apache2.conf :

PassEnv HOSTNAME
Header add X-Server-Name "%{HOSTNAME}e"

Pour du Apache > 2.4.

Pour bloquer des IP :

Order allow,deny
Deny from 10.1.1.10
Deny from 10.1.1.11
Allow from all

Pour Autoriser seulement des IP :

Order deny,allow
Deny from all
Allow from 10.1.1.21
Allow from 10.1.1.22

Avec Apache > 2.4.

Dans la configuration du reverse proxy Nginx, on a :

proxy_set_header X-Real-IP $remote_addr;

On active le mod remoteip pour notre Apache :

a2enmod remoteip

On édite son fichier de configuration :

nano /etc/apache2/conf-available/remoteip.conf
# On récupère la vraie IP via le header
RemoteIPHeader X-Real-IP
# En faisant confiance à l'IP de notre reverse proxy 
RemoteIPTrustedProxy 10.0.0.1 ::1

On recharge la configuration dans Apache, et on relance le service :

a2enconf remoteip
service apache2 restart
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Après la directive de ProxyPass, ajouter :

Header edit Location "(^http://)([^/]+)" ""

Pour ne pas servir les ressources en http mais en https comme demandé, voir http://shaarli.guiguishow.info/?V1ejZg

Dans un .htaccess, on va rediriger l'url de la page de login Wordpress (qui n'est pas présent) vers un script de zipbomb (voir : https://blog.haschek.at/post/f2fda) :

RedirectPermanent "/wp-login.php" "/zipbomb.php"

Via https://www.linuxtricks.fr/wiki/apache-proteger-un-dossier-par-mot-de-passe On édite le fichier .htaccess du dossier à protéger et on lui ajoute :

AuthName "Restricted Content"
AuthType Basic
AuthUserFile /var/www/mysite/share/.htpasswd
Require valid-user

On génère un mot de passe pour l'utilisateur voulu :

htpasswd -cm /var/www/mysite/share/.htpasswd <my-user>
  • system/linux/debian/5.1-apache.txt
  • Dernière modification: 2023/08/05 16:22
  • (modification externe)