web-dev-qa-db-fra.com

Un proxy inverse devant le serveur Web améliorera-t-il la sécurité?

Professionnel de sécurité tiers Recommande Nous exécutons un proxy inverse devant le serveur Web (tous hébergés dans la DMZ) comme mesure de sécurité de la meilleure pratique.

Je sais que c'est une architecture recommandée typique car elle fournit un autre niveau de sécurité devant une application Web pour empêcher les pirates informatiques.

Toutefois, comme un proxy inverse se retourne joyeusement http entre l'utilisateur et le serveur Web interne, il ne fournira aucune mesure de la prévention du piratage sur le serveur Web lui-même. En d'autres termes, si votre application Web a un trou de sécurité, le proxy ne va pas fournir de sécurité significative de sécurité.

Et étant donné que le risque d'attaque d'une application Web est beaucoup plus élevé que celui d'une attaque contre le proxy, est-il vraiment beaucoup gagné en ajoutant une boîte supplémentaire au milieu? Nous n'utiliserions aucune des capacités de mise en cache d'un proxy inverse - juste un outil muet pour la navette des paquets d'avant en arrière.

Y a-t-il quelque chose d'autre qui me manque ici? L'inspection de paquets HTTP de proxy inverse a-t-elle si bon qu'il peut détecter des attaques significatives sans goulots d'étranglement de performances majeurs, ou est-ce juste un autre exemple de théâtre de sécurité?

Le proxy inverse est MS ISA FWIW.

14
Darren

Apache a mod_security, qui détectera des attaques de sécurité communes. Il y a aussi mod_cband, qui peut limiter la bande passante utilisée. Je ne serais pas surpris si =ISA avait quelque chose de similaire. Sans quelque chose en train de faire des chèques sur le trafic http car il passe par le proxy, tout est un peu inutile d'un point de vue de sécurité.

Ce qu'un proxy inverse vous donnera un équilibrage de charge, une défaillance, une mise en cache, une SSL et un dépôt hors chargement, laissant ainsi vos serveurs Web pour faire ce qu'elles sont bonnes à: servir HTML.

9
David Pashley

Un proxy inverse devant le serveur Web améliorera-t-il la sécurité?

Un proxy inverse vous donne quelques choses qui peuvent rendre votre serveur plus sécurisé.

  • Un endroit pour surveiller et enregistrer ce qui se passe séparé du serveur Web
  • Un lieu de filtre ou de pare-feu séparé de votre serveur Web si vous savez que certaines zones de votre système sont vulnérables. Selon le proxy, vous pourrez peut-être filtrer au niveau de l'application.
  • Un autre endroit pour mettre en œuvre des ACL et des règles si vous ne pouvez pas être suffisamment expressif pour une raison quelconque de votre serveur Web.
  • Une pile réseau séparée qui ne sera pas vulnérable de la même manière que votre serveur Web. Cela est particulièrement vrai si votre proxy provient d'un fournisseur différent. [.____]
    • Utilisation de la configuration Apache en tant que proxy devant le serveur Apache n'est probablement pas aussi utile que quelque chose comme un calmar devant Apache.

Un proxy inverse sans filtrage ne vous protège pas automatiquement contre tout, mais si le système que vous devez protéger est de grande valeur, l'ajout d'un proxy inverse peut valoir la valeur des coûts et les coûts de performance.

8
Zoredache

ISA Server est capable de rechercher et d'empêcher divers exploits HTTP et de les empêcher d'accéder au serveur Web. Bien que la plupart des serveurs HTTP modernes ne soient plus exploitables par cela, il dispose de l'avantage supplémentaire de ne pas envoyer de ce trafic sur le serveur Web.

De plus ISA peut faciliter la tâche de faire des choses telles que l'ajout de l'accélération SSL et la pré-autorisation des utilisateurs à diverses URL. Il peut même agir comme équilibreur de charge pour vous afin que vous puissiez facilement ajouter plus Serveurs Web sans utiliser un équilibreur de charge de matériel séparé.

Assurez-vous de prendre le PRO selon lequel cette personne donne sur =ISA et le pondérez-le contre la quantité de surcharge ajoutée qu'elle coûtera pour gérer et exécuter ISA par rapport au avantages.

8
Aaron Weiker

Il pourrait protéger votre serveur d'applications des attaques basées sur de mauvaises demandes HTTP ... surtout si elle est possible sur le proxy inverse (et non sur le serveur d'applications) de configurer exactement quelle bonne demande semble et ne permet pas de mauvaises demandes. Si vous devez le dire quelles demandes de mauvaises demandes, ce sera presque certainement inutile. En d'autres termes, il pourrait protéger des attaques de débordement tampon, mais pas de l'injection SQL.

Surtout, cela ressemble à un théâtre de sécurité. Vous avez embauché un consultant en sécurité et ils doivent vous dire quelque chose à faire pour améliorer votre sécurité. Il est assez improbable qu'un attaquant tombe jamais dans le proxy inverse et s'ils le contournent simplement, ils peuvent toujours vous blâmer; C'est donc une recommandation sûre.

6
freiheit

Fondamentalement, les proxy inverse cacheront votre infrastructure du monde. Il s'agit donc principalement d'un cas de sécurité par obscurité, à moins que votre serveur Web soit vraiment ingérable et non sécurisé.

Il peut également protéger vos serveurs Web d'une sorte de DOS (déni de service distribué), en particulier si votre site Web est "lourd", agissant alors comme couche de mise en cache.

Il a également des gotchas avec elle: il va cacher votre application la vraie adresse IP du client. Il vous fera consommer plus de puissance de serveur et ajouter une couche de choses qui peut casser. N'oubliez pas que votre proxy inverse devra gérer plus de connexions (généralement deux fois plus: les connexions aux clients et aux connexions à votre serveur Web).

À la fin de la journée, un proxy inverse ne vous épargne pas d'avoir un site Web sécurisé de toute façon.

3
Xavier Nicollet

Je pense que Zorechetache a donné une très bonne réponse quant aux avantages qu'un proxy inverse peut fournir. J'ai utilisé la livre qui est un proxy inverse, un équilibreur de charge et HTTPS frontends.

http://www.absis.ch/pound/

0
ChrisNZ

Un avantage que je ne pense pas que quiconque ait parlé du fait est le fait que vous n'avez pas besoin d'ouvrir d'IP/ports externes via votre pare-feu externe. Un bon système de proxy inverse lancera la communication de l'intérieur de votre réseau sur le serveur dans le fichier DMZ protégeant les réseaux contre les attaques directes. Toutefois et d'autres personnes ont dit, ne vous protégeront pas contre une application mal écrite.

0
warchitect