web-dev-qa-db-fra.com

Règle de pare-feu HTTPS

Configuration de la règle de pare-feu pour les sites Web HTTPS sur le pare-feu du filtre de paquets STAYST de base

Cela semble être une question stupide, mais comment définir une règle de pare-feu pour permettre https sur un pare-feu de filtre de paquets de base? Le but est que je souhaite pouvoir naviguer sur des sites tels - https://twitter.com et avoir toutes les images de chargement, etc. Comment puis-je configurer cette règle?

J'ai les règles configurées comme si:

YourpC- [HighPort] -> SSLSERVER: 443

src ip      any
dest ip     any
src port    any
dst port    443
inbound     block
outbound    allow

SSLServer: 443 -> YourPC- [HighPort]

src ip      any
dest ip     any
src port    443
dst port    any
inbound     allow
outbound    block

Le trafic sortant semble correct, mais je dépose des paquets comme celui-ci (cet exemple est chargé une page Twitter, la teneur en Akamai):

23.9.229.210:443 > XXX.XXX.XXX.XXX:62712, AS Seq=###, Ack=-### -Black List Defense
  • Comment dois-je configurer la règle pour permettre la chargement de sites Web HTTPS? (N'est-ce pas en train de fonctionner à cause de l'ordre dans lequel les règles sont lues par le pare-feu?)

Autres détails:

  • ces règles sont pour le filtre de paquets intégré à mon routeur
  • ce n'est pas un pare-feu d'état

Merci beaucoup

5
jubberq

Vous configurez-vous ce pare-feu sur votre serveur ou votre client? Vos règles (sortantes uniquement, destination restreintes) suggèrent des paramètres du client [et l'apparence de BTW corrects], mais vous interrogez et commencez suggérez des paramètres de serveur.

Je sais très peu de pare-feu, et il y a quelque temps, a demandé cette question sur SF pour adresser un doute élémentaire de la mienne. Depuis les réponses que j'ai reçues, je peux dire que votre pare-feu de serveur devrait avoir:

src ip (any)
src port (443)
inbound allow

Interdire à quiconque d'essayer de se connecter à celui d'un port autre que 443 (( AVERTISSEMENT: Vous devez également activer le port SSH/etc, ou vous serez verrouillé de votre serveur). Faites ceci si votre souci est avec protégeant le serveur . Les règles sortantes et Destbands limiteront les demandes de votre serveur à ailleurs sera disponible, alors définissez-les en fonction de vos besoins.

Si votre souci est avec protégeant le client , vous devez alors restreindre le port de destination (et, encore mieux, l'IP également) à 443 et interdire les connexions entrantes (en supposant que votre client ne les attend pas). Donc, votre clientèle devrait donc avoir:

dest ip (any [or your server's])
dstn port (443)
inbound block
outbound allow

Remarque: a également expliqué dans cette autre question, a Stateful Le pare-feu permettra à une machine qui a reçu une demande d'envoi d'une réponse à la même adresse IP/Port quel que soit le même titre. Les paramètres sortants , et inversement, c'est pourquoi votre configuration n'a pas besoin de s'inquiéter des ports éphémères. Ex.: Le client envoie un paquet au serveur (SRC: 55680, DEST: 443), le pare-feu client accepte (Outbound OK, DSTN OK), le paquet est envoyé; La réponse se présente sur le même port 55680, mais le pare-feu le laisse passer à travers - la règle de bloquer l'entrant ne s'applique pas s'applique ici, car c'est une réponse à une demande à une demande que initié dans la machine client.

C'est pourquoi, contre-intuitivement, vous utilisez les règles suivantes pour protéger le client , même si vous êtes inquiet pour des paquets entrants . Tout en bloquant également tous paquets entrants et qui comptent toujours ceux qui comptent - les réponses à vos demandes - arrivant normalement.

2
mgibsonbr

Les ports arbitraires que vous constatez dans vos journaux sont appelés ports éphémères .

Ce n'est pas une situation spécifique au HTTPS. Toute communication avec un serveur impliquera votre client à l'aide d'un port éphémère pour communiquer avec un port défini sur le côté serveur.

Si vous souhaitez limiter l'accès aux serveurs Web écoutant sur le port 443, dirigez simplement votre pare-feu pour supprimer des paquets avec un port source de 443. Pourquoi vous voudriez faire cela est un mystère pour moi.

1
user10211

Cela semble être une question stupide, mais comment définir une règle de pare-feu pour permettre à HTTPS sur un pare-feu de filtre de paquets de base?

Il n'y a généralement pas de questions stupides et il s'agit d'une question assez légitime à poser, alors aucun besoin de s'excuser. Laissez-moi essayer d'expliquer cela comme clairement que possible, sans nécessairement sacrifier la clarté et l'exactitude.

Remarque: Pendant que vous demandez une solution, je vous fournirai de fond sur la raison pour laquelle vous ne voudrez peut-être pas faire ce que vous essayez. Si vous comprenez pleinement les conséquences de votre question et que tout ce que cela implique, je soupçonne que ma réponse ne soit peut-être pas celle que vous recherchez. Si vous voulez cependant comprendre pourquoi la configuration n'est pas si grande, par tous les moyens, continuez de lire.

Il a déjà été expliqué que ce que vous voyez sont les ports aussi éphémères. Celles-ci sont attribuées dynamiquement par la pile réseau dans votre système d'exploitation. Pourquoi mon système d'exploitation utilise-t-il ces ports à haute compresse au lieu de 443 que vous pouvez demander?

Il y a plusieurs raisons, permettez-moi de mettre en évidence quelques-uns qui peuvent vous aider à comprendre pourquoi ce n'est pas nécessairement un problème.

  1. Efficacité de navigation (réseau)
  2. Sécurité (autorisations)

Si vous souhaitez appliquer votre système d'exploitation (et votre logiciel client) pour utiliser uniquement le port 443, vous réduisiez de manière significative l'occasion pour le système d'exploitation et le navigateur d'utiliser le parallélisme de réseau, quelque chose qui est utilisé pour augmenter la vitesse de chargement de la page. Vous voyez, il existe un certain nombre de limitations dans la manière dont HTTP fonctionne comme un protocole tel qu'une seule demande à la fois. Utiliser plusieurs connexions pour télécharger le contenu est un moyen d'aider à surmonter cette limitation; comme est http-pipelining.

La deuxième raison mentionnée ci-dessus concerne la sécurité. La plupart des systèmes d'exploitation considèrent les ports inférieurs à 1024 (0-1023) privilégiés. Pour qu'une application d'utilisation de l'utilisateur lie (utilisez) l'un de ces ports, des privilèges supplémentaires sont requis par l'application (telle que fonctionnant avec des privilèges administratifs, ou en utilisant une capacité particulière à Linux, voir ceci . ).

Ce que vous avez identifié n'est généralement pas considéré comme un problème (pour http) avec des systèmes d'exploitation modernes, car leurs piles réseau respectives sauront quels paquets sont liés à quelles paquets.

Si vous êtes toujours préoccupé et tout simplement pas convaincu par l'une des réponses fournies pour votre question, vous pouvez essayer de tenter ce qui suit. Enquête si votre navigateur peut être limité à une certaine gamme de ports éphémères tels que 51000-51100. Ensuite, créez une règle pour autoriser uniquement ces ports à utiliser comme port SRC en combinaison avec DST-Port 443.

Toutefois, noter que la limitation de votre système d'exploitation et de votre logiciel client sur ces ports peut avoir des conséquences imprévues, car d'autres applications utilisent ces ports éphémères que vous venez de vous attribuer.

TL; DR - Ne vous inquiétez pas des ports éphémères utilisés lors de la navigation, faites confiance au système d'exploitation qui traite correctement les paquets associés. Appliquer le port de DST et être heureux avec cela. :-)

1
Christoffer