GNU/Linux >> Tutoriels Linux >  >> Linux

Avoir désactivé le fichier de configuration du site apache 000-default.conf, mais il semble toujours actif. Pourquoi?

Juste une question d'explication pour les futurs utilisateurs.

Votre fichier 000-default.conf est un site fourre-tout et devrait être laissé seul. C'est bon pour la sécurité. Cela peut être frustrant lorsqu'une configuration de site ne fonctionne pas et que le site par défaut est servi. Je comprends. Pourtant, laissez-le tranquille. Beaucoup de gens ne savent pas pourquoi le site par défaut existe. Voici une petite explication.

Lorsqu'Apache reçoit une requête, il essaie de la faire correspondre à une configuration qu'il connaît. Ainsi, toute demande pour example.com recherchera un example.com.conf avec une configuration appropriée. S'il n'y a pas de correspondance, le site 000-default.conf est utilisé. Si une demande pour bogussite.com est vue et qu'elle n'existe pas sur le serveur, le fichier 000-default.conf est servi. Ceci est particulièrement utile pour les demandes d'adresse IP uniquement. Et nous les détestons tous !! Cependant, s'il y a une erreur dans example.com.conf, il est toujours possible que le site 000-default.conf soit servi, ce qui rend la raison exacte pour laquelle et comment la configuration échoue un peu déroutante et très frustrante.

J'ai donné quelques exemples de configurations à partir d'un serveur en direct ici :Configuration de l'hôte virtuel :routage et utilisation des caractères génériques

Push vient à pousser, ceux-ci devraient toujours fonctionner. Vous pouvez les couper et les coller exactement, puis apporter les modifications nécessaires ou modifier votre ou vos fichiers existants. Votre option. Il est facile de loucher là-dessus, alors soyez prudent. Nous l'avons tous fait pour que vous ne soyez pas seuls.

@HighlyIrregular fait ce point dans ses commentaires qui devraient vivre.

Vous pouvez toujours vérifier la configuration dans une session shell en utilisant...

$ apachectl configtest

... qui devrait aider à résoudre les problèmes.

Vous devrez créer votre/vos site(s) nouveau(x)/supplémentaire(s) dans votre /etc/apache2/site-available/ répertoire en utilisant un format de fichier similaire à example.com.conf . Vous voudrez également vous assurer que /etc/apache2/apache2.conf a Include sites-enabled/ ou quelque chose de similaire comme l'une des dernières lignes.

Lorsqu'une modification est apportée à un fichier de configuration, Apache doit être redémarré. Apache met en cache les configurations en mémoire et les modifications ne seront pas visibles tant qu'il n'aura pas été redémarré. En de rares occasions, un redémarrage ne fonctionne pas comme prévu. Dans ce cas, pour exclure cela comme un problème, vous devrez redémarrer votre serveur. Il est très possible que les configurations valides ne soient pas visibles lors du redémarrage. Pas certain de pourquoi. Cependant, lors d'un redémarrage, Apache est obligé de remettre en cache les fichiers de configuration. C'est comme avoir un plus gros marteau. Cela vaut parfois la peine d'essayer.


Je suis d'accord avec l'utilisateur "closetnoc" qui a répondu le [2015-Aug-2 00:24:36Z] en réponse au message d'origine qui écrivait "Le 000-default.conf site est un fourre-tout pour toute requête pour laquelle le serveur n'a pas de fichier de configuration".

Et, je pense que nous pouvons utiliser ce "site fourre-tout" en dernier recours pour sauvegarder et améliorer la sécurité globale.

La chose que j'ai essayé de faire est toujours d'autoriser le site '000-default.conf ' à activer, mais faites en sorte que sa configuration soit un peu différente de celle pour supprimer constamment TOUTES les requêtes SANS envoyer de réponse, puis FERMER immédiatement la CONNEXION pour tous les accès interdits, afin que rien ne soit répondu/révélé au demandeur qui tente.

Voici mon '000-default.conf ', pour votre référence :

<VirtualHost *:80>
    # ServerName whatsoever
    ServerAdmin [email protected]
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/default_error.log
    CustomLog ${APACHE_LOG_DIR}/default_access.log combined

    <Location />
        <RequireAny>
            # Example for 'Block all':
            # Require ip 0.0.0.0/32
            Require all denied

            # Example for 'White list':
            # Require ip 172.217.24.37/32
        </RequireAny>
    </Location>

    SecRuleEngine On
    SecRule RESPONSE_STATUS "403" "phase:4,id:1,drop"
</VirtualHost>

N'oubliez pas d'installer le 'ModSecurity ' afin que les directives 'SecRuleEngine ' et 'SecRule ' peut être acceptée. Si vous avez besoin d'aide et de références supplémentaires sur le sujet de 'ModSecurity ', nous vous suggérons de rechercher sur Internet.

J'espère que ce qui précède vous aidera !


Linux
  1. J'ai ajouté un utilisateur à un groupe, mais les autorisations de groupe sur les fichiers n'ont toujours aucun effet ?

  2. Manière de rediriger la sortie d'un programme et de l'avoir toujours sur Stdout ?

  3. Pourquoi devons-nous passer deux fois le nom du fichier dans les fonctions Exec ?

  4. Comment récupérer un fichier que j'ai supprimé mais qui est toujours ouvert quelque part ?

  5. Mon site ASP.NET semble utiliser le mauvais fichier Web.config

Utilisation du fichier de configuration SSH

Pourquoi les systèmes d'exploitation ont-ils des limites de taille de fichier ?

Comment verrouiller un fichier contre la suppression tout en le rendant accessible en écriture ?

Pourquoi SUID est-il désactivé pour les scripts shell mais pas pour les binaires ?

Pourquoi Linux/POSIX a-t-il lchown mais pas lchmod ?

Centos 7 - ajouter un utilisateur au groupe sudoers - n'est toujours pas dans le fichier sudoers - pourquoi ?