Si un serveur web pare-feu bloquer sortant le trafic HTTP sur le port 80?
Je comprends la nécessité de mettre un serveur web dans une DMZ et en bloquant le trafic entrant vers tous les ports sauf le 80 et 443. Je vois aussi pourquoi vous devriez sans doute aussi de bloquer la plupart des trafic sortant dans le cas où le serveur est compromis.
Mais est-il nécessaire de bloquer la sortante le trafic HTTP sur le port 80? Si oui, pourquoi? Beaucoup d'applications web ces jours-ci reposent sur l'envoi/la récupération de données à partir de services web externes et des Api, bloquant ainsi le trafic sortant sur le port 80 permettrait d'éviter cette capacité. Est-il un problème de sécurité valide suffit pour justifier cela?
OriginalL'auteur Richard Davies | 2009-04-03
Vous devez vous connecter pour publier un commentaire.
La seule raison pour laquelle je peux penser est que si votre machine est en quelque sorte compromomised à distance, alors il ne sera pas en mesure de DDoS un autre site web sur le port 80. Ce n'est pas quelque chose que j'ai l'habitude de faire.
OriginalL'auteur Steven Robbins
Plutôt que de le bloquer, le papillon des gaz. Utiliser iptables -m limit.
OriginalL'auteur vartec
J'ai plusieurs applications web qui invoquer des services web externes, donc je dirais que c'est une mauvaise idée de bloquer la sortie du trafic HTTP. Si vous êtes concerné par la sécurité, vous pouvez le bloquer et ne permettent que certaines destinations.
Non seulement cela, il ne fonctionnera pas avec tous les sites web que jamais change d'adresse IP. C'est ainsi que le pare-feu que j'ai besoin de demander des modifications pour les œuvres - au niveau IP, pas le niveau de domaine (je le prends c'est pour des raisons d'efficacité?) C'est une vraie douleur depuis certaines adresses ip changer beaucoup de choses.
Aussi, ne pas il y a toujours un certain nombre de services qui pourraient, en théorie, être utilisé pour DDOS un autre hébergeur? Par exemple, sur mon sortante-HTTP-verrouillé hôte, table de ping pouvez toujours communiquer avec n'importe quel hôte.
OriginalL'auteur Adam Crume
En fonction de votre version SQL, vous pourriez avoir de certificat d'authentification temps des problèmes avec SQL server 2005.
OriginalL'auteur Dave Harding
Premier je suis d'accord avec @vartec sur la limitation ", Plutôt que de le bloquer, le papillon des gaz. Utiliser iptables -m limit" au moins une partie de la solution.
Cependant, je peux vous donner une autre raison de ne pas bloquer le port 80 sortant à tout moment. Si vous avez automatique des mises à jour de sécurité activée sur le serveur ne peut pas atteindre Caee sur le port 80 pour lancer une mise à jour de sécurité. Donc si vous avez automatique des mises à jour de sécurité mis en place, ils ne s'exécutent pas. Sur ubuntu automatique des mises à jour de sécurité sont activées dans l'14.04 LTS avec:
Plus gracieux des solutions serait ansible scripts d'ouverture automatiquement le port, peut-être aussi la modification d'un groupe de sécurité AWS règle via la CLI en plus de iptables si vous êtes à AWS. Je préfère la modification de mes règles de trafic sortant temporairement via AWS CLI initié par un furtif de la boîte. Cela force la journalisation de la mise à jour dans mon AWS S3 journal des seaux, mais n'apparaît jamais dans les journaux sur le serveur lui-même. Plus le serveur qui lance la mise à jour n'ont même pas à être dans le sous-réseau privé ACL.
Peut-être faire les deux? Vous avez de la figure à la fois une attaque va relais éteint une adresse IP interne de votre sous-réseau, donc il n'y a que le mérite de doubler vers le bas tout en préservant la possibilité d'automatiser les sauvegardes et les mises à jour de sécurité.
J'espère que cette aide. Si pas de réponse et de fournir plus d'exemples de code pour être plus précis et exact. #staysafe !
OriginalL'auteur eschipul
Si la machine est compromise et le trafic sortant sur le port 80 est autorisé, il serait plus facile pour intrus à envoyer des données récoltées à eux-mêmes. Permettant la circulation à la sortie signifie que vous pouvez établir une connexion à partir de votre ordinateur vers le monde extérieur. Une meilleure approche serait de permettre le trafic sortant uniquement à certains sites web ou adresses qui vous avez confiance (c'est à dire Windows Update de Microsoft, Google reCAPTCHA) plutôt que n'importe quelle destination dans le monde.
OriginalL'auteur Tony
que voulez-vous dire avec bloque le trafic sortant sur le port 80.
Vous avez deux possibilités. Gernerate Dynamique des Règles qui permettent la communication de client à votre serveur pour cette session. Recherche de règles de pare-feu Stateful.
Ou vous permettent généralement les Connexions établies à communiquer dans et sortant les uns avec les autres.
Si vous bloquer tout le trafic sortant sur le Port 80 de votre Serveur web ne peut répondre à n'importe quel client.
L'inverse, si votre Serveur a besoin d'obtenir certains d'API, par exemple, une bibliothèque jquery il l'habitude d'utiliser le port 80 comme son Port pour communiquer avec le Serveur qui détient l'API.
Votre Serveur normalement choisir un port d' > 1024 et de l'utiliser pour sa demande d'obtenir l'API du Serveur distant.
Bloquant ainsi tout le trafic sur le port 80 (port vous connectez à partir d') ne serait pas de prévenir votre Serveur à partir de l'envoi de demandes d'api et de telles choses. parce qu'il n'a pas utiliser le port 80 ans lorsqu'il agit en tant que client.
ah ok, je pensais que tu veux dire bloquer le Port 80 comme l'ouverture de port. Si vous bloquez cela, alors vous ne pouvez pas charger les api et une telle chose à partir d'autres pages. Vous pouvez probablement ajouter quelques Sites qui vous avez confiance dans vos règles. Mais je dirais bloque le Port 80 n'est généralement pas beaucoup de sens.
d'un autre point de vue, si votre serveur s'il est piraté et vous bloquer ce trafic il ne peut pas charger abituary code à partir d'autres sites. Mais qui garantit que le hacker/robot/ce qui est utilise le port 80 pour sa demande 🙂
OriginalL'auteur evildead