Accéder à un site Web via son adresse IP au lieu de son nom d'hôte

0

J'aimerais connaître les chances de ne pas être en mesure d'accéder à un site web uniquement via le nom de domaine et de refuser l'accès via son adresse IP directe.

Je souhaite attirer l’attention sur l’exemple suivant, mais la question est pertinente pour tout autre scénario: le www.kickass.tosite Web a les adresses suivantes,

  • 67.212.88.146
  • 67.212.88.10
  • 205.204.64.122
  • 68.71.58.34

Lorsque j'ai utilisé ce qui précède, j'ai reçu un message appelé «interdit», mais je peux facilement placer l'URL complète et accéder au site.

Toute adresse de domaine finit par devenir une adresse IP par le navigateur selon ma compréhension. Je suis un peu désemparé ici.

Denis
la source
1
Pourquoi voudriez-vous jamais faire ça? Les adresses IP dynamiques peuvent ne pas être aussi communes que par le passé, mais elles sont toujours présentes.
Mawg

Réponses:

4

Réponse courte? L'hébergement virtuel basé sur le nom permet aux accès aux adresses IP des serveurs Web d'être traités différemment des accès aux noms d'hôte des mêmes serveurs Web. Et de nombreux administrateurs de systèmes Web accèdent à l’adresse IP sans issue pour des raisons de sécurité élémentaires. De plus, les messages «interdits» ne sont généralement pas envoyés lorsque l'accès à une adresse IP est bloqué; Mon instinct me dit qu'un pare-feu de serveur Web détecte l'accès aux adresses IP et le stoppe complètement.

Réponse plus longue? Bien que les configurations d’hôte virtuel basées sur des noms telles que celle utilisée dans Apache permettent à plusieurs noms d’hôtes d’utiliser la même adresse IP, cela ne signifie pas en soi que vous obtiendrez un «Interdit» si vous tentez d’accéder à un serveur via adresse IP brute. Cela dit, faire curl -Ipour www.kickass.tomontrer que Nginx est utilisé:

HTTP/1.1 301 Moved Permanently
Server: nginx/1.7.8
Date: Tue, 10 Feb 2015 05:46:59 GMT
Content-Type: text/html
Content-Length: 184
Connection: keep-alive
Location: http://kickass.to/

Bien que je me réfère à mon expérience avec Apache, qui est le serveur Web le plus utilisé sur Internet, Nginx gagne du terrain et permet des comportements similaires à Apache tels que je les décris. Y compris être capable d'utiliser ModSecurity. Lisez la suite pour plus de détails. les mêmes concepts de base s'appliquent à Apache et Nginx.

Lorsque je configure des serveurs Apache avec des hôtes virtuels nommés, je fais un effort très conscient pour créer un «fossé virtuel» en ayant la defaultconfiguration Apache, souvent configurée comme 000-defaultdans lesites-enabledrépertoire: permet de lancer tous les accès non spécifiques à un nom d'hôte / IP à une page HTML vierge littérale. La logique est que de nombreux logiciels malveillants tenteront de «pirater» un site en y accédant via l'adresse IP. Pourquoi? Facile. De nombreuses configurations Apache ont une configuration de page par défaut «Ça marche!» À cette adresse. Les administrateurs système compétents se débarrasseront de cette page, car les robots / araignées cherchant à pirater un site rechercheront spécifiquement ce type de page "Ça marche!" Comme indice de base: "Hé! Cet administrateur vient de lancer un serveur en production sans vraiment nettoyer ce matériel de base. Voyons quels exploits peuvent essayer sur ce serveur. ”Croyez-le ou non, mais arrêter defaultdéfinitivement la configuration Apache est le moyen le plus simple de décourager les accès non désirés et les tentatives DDoS.

Mais comme je l'ai dit, un «interdit» ne me sent pas comme une «impasse» intentionnelle. Qui sait, peut-être l'administrateur du système a-t-il «imposé» la defaultconfiguration d'Apache dans un répertoire complètement mort ou inexistant. Mais chaque fois que je vois «Interdit» dans un cas comme celui-ci, cela me fait penser que l'administrateur a ModSecurity installé.

ModSecurity est un module de niveau de service Web Apache qui agit comme un pare-feu entre un serveur Web et le trafic indésirable. Il utilise des «ensembles de règles» pour analyser le trafic en temps réel (au moment de la demande HTTP réelle). Si une configuration d'accès / de comportement est vérifiée comme «mauvaise», un «Interdit» est créé pour cet accès. Et dans le cas des adresses IP brutes, l’une des règles principales du jeu de règles de base ModSecurity consiste à «interdire» tout accès / aux adresses IP RAW.

Donc, à mon humble avis, un serveur Web utilisant ModSecurity, ou un pare-feu similaire, réagit à une demande IP brute en la bloquant entièrement en tant que "Interdit".

De plus, vous indiquez que vous avez www.kickass.toplusieurs adresses IP. Cela me dit qu'une sorte d'équilibrage de la charge est en train de se produire lorsque des demandes sont adressées à www.kickass.to. Quiconque configure un cluster à charge équilibrée s'assure que ses nœuds enfants sont à toute épreuve et inaccessibles aux demandes indésirables. Donc, exactement ce que je décris ci-dessus, mais encore plus.

JakeGould
la source
Server: nginx/1.7.8Peut-être le serveur est-il réellement nginx?
Rakslice
@rakslice je mentionne Nginxdans ma réponse et indique que les concepts généraux sont à 100% les mêmes.
JakeGould
4

Souvent, les serveurs Web sont configurés pour utiliser un hébergement virtuel basé sur le nom, le contenu servi dépend du nom de domaine demandé dans l'en- tête de l' hôte .

L'hébergement virtuel basé sur les noms est nécessaire pour presque tous les hébergements partagés , ainsi que pour la plupart des applications Web qui utilisent plus d'un nom de domaine dans leurs opérations. Comme il est si souvent utilisé, il n’est pas rare qu’il soit activé, même sur un serveur Web ne servant que des requêtes pour un seul nom de domaine, que ce soit pour des redirections de nom de domaine sophistiquées, comme celle-ci, ou simplement en raison de normes organisationnelles et / ou un oubli par les administrateurs.

Plus d'informations:

Cette approche a été développée pour permettre aux sites Web de différents noms de domaine d’être hébergés sur le même serveur Web. Lorsque vous visitez un site dans un navigateur Web, celui-ci envoie un en-tête d'hôte avec le nom de domaine à partir de l'URL qu'il tente de charger, et le serveur envoie le contenu du site approprié.

Par exemple, le navigateur envoie:

GET / HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36
Host: www.kickass.to
Accept: */*

réponses du serveur:

HTTP/1.1 301 Moved Permanently
Server: nginx/1.7.8
Date: Tue, 10 Feb 2015 05:50:25 GMT
Content-Type: text/html
Content-Length: 184
Connection: keep-alive
Location: http://kickass.to/

<html>

[... snip ...]

(Dans ce cas, le serveur vient de m'envoyer une redirection à la http://kickass.to/place d'une page http://www.kickass.to/)

Lorsque vous accédez au serveur à l'aide d'une URL ne contenant que l'adresse IP du serveur, l'adresse IP sera envoyée dans l'en-tête de l'hôte au lieu d'un nom de domaine.

GET / HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36
Host: 67.212.88.10
Accept: */*

Si le serveur est configuré pour un hébergement virtuel basé sur un nom, il peut, en fonction des détails de la configuration, vous servir un site particulier défini comme site par défaut à héberger à l'adresse IP ou vous donner une réponse erronée.

HTTP/1.1 403 Forbidden
Server: nginx/1.7.8

[... snip ...]

rakslice
la source
Comme l'a souligné JakeGould, la 403 constitue un élément d'information important. Cela nous donne probablement un indice sur la configuration de leur serveur: serverfault.com/questions/610305/…
rakslice