web-dev-qa-db-fra.com

Quels ports doivent être ouverts sur un pare-feu pour accéder à Internet?

Disons que l'exemple que j'ai un pare-feu qui bloque tous les ports de toutes les sources/destinations.

Quels ports aurais-je besoin d'ouvrir pour pouvoir exécuter avec succès:

ping google.com

... et y a-t-il d'autres ports que je devrais ouvrir pour pouvoir naviguer sur google.com via un navigateur?

J'ai essayé d'ouvrir le port 53 (DNS) 80 (http) et 443 (HTTPS); Cela ne suffit pas, j'utilise des iptables mais je ne demande pas comment configurer cela sur IPTABLES, je demande simplement quels ports doivent être ouverts quel que soit le pare-feu basé sur le port que vous pouvez utiliser.

6
Cestarian

Pour DNS, vous devez autoriser des paquets UDP entre tout port sur une adresse IP à l'intérieur du pare-feu et le port 53 sur une adresse IP en dehors du pare-feu.

Pour HTTPS, vous devez autoriser TCP paquets entre tout port sur une adresse IP à l'intérieur du pare-feu et Port 443 en dehors du pare-feu, ou plus rarement de tout port à l'extérieur du pare-feu (certains sites Web ne sont pas sur Le port par défaut). Pour HTTP, c'est la même chose avec le port 80.

TCP est un protocole connecté; Les deux extrémités de la connexion ne sont pas symétriques et les pare-feu font généralement une différence entre. Il y a rarement une raison de sécurité pour prévenir les connexions sortantes, sauf peut-être forcer le courrier électronique sortant à passer par un relais dédié (pour empêcher les machines infectées d'envoyer des spams non détectés). Un pare-feu de base typique d'une machine client permet toutes les connexions ou la plupart des connexions sortantes et bloque les connexions entrantes.

Pour Ping, autorisez ICMP. Vous devez autoriser tout ICMP à moins que vous n'ayez une raison spécifique de bloquer certains types de paquets. Le blocage de ICMP sans distinction peut rendre des problèmes de réseau difficiles à diagnostiquer et peut provoquer des inondations dues aux applications qui ne répondent pas à des réponses d'erreur appropriées.

Voici une simple configuration de pare-feu Linux appropriée pour une machine client typique, qui permet de suraller tout sauf SMTP à une machine autre que smtp.example.com et blocs entrants TCP connexions sauf sur le port 22 (SSH).

iptables -F INPUT
# Accept everything on localhost
iptables -A INPUT -i lo -j ACCEPT
# Accept incoming packets on existing connections
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# Accept DNS replies
iptables -A INPUT -p udp --sport 53 -j ACCEPT
# Accept incoming SSH connections
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Reject everything else that's incoming
iptables -A INPUT -j REJECT
iptables -F OUTPUT
# Forbid outgoing SMTP except to a known relay
iptables -A OUTPUT -p tcp --dport 22 ! -Host smtp.example.com -j REJECT
# Allow everything else that's outgoing
iptables -P OUTPUT -j ALLOW