Une base du pare-Script, Linux en tant que station de travail

Jusqu'à présent, nous avons appris pour la plupart sur l'utilisation des options de filtrage iptables. Je vais maintenant construire un petit script de pare-feu que je pense que devrait être par défaut lorsque vous installez une distribution Linux.
Par défaut, toutes les distributions Linux ont Accepter la politique par défaut sur toutes les chaînes de filtre. Aussi, sur une installation par défaut, la plupart des distributions Linux laisse un tas de services actifs. Si vous installez une ancienne distribution Linux et décident de rentrer pour le déjeuner une fois que vous venez de démarrer en place sans aucun pare-feu et avec une adresse IP publique, les chances sont bonnes que par le temps que vous avez mangé votre soupe, un rootkit est déjà installé sur votre ordinateur.
Jetons un coup d'œil au script simple suivante:

  

#! / bin / bash
# assigne la variable $ IPT avec la commande iptables
IPT = / sbin / iptables
# set politiques sur chaque chaîne
$ IPT-P INPUT DROP
$ IPT-P FORWARD DROP
$ IPT-P OUTPUT ACCEPT # par défaut, mais c'est de toute façon mis en
# vide toutes les règles dans la table filter
$ IPT-F
# autoriser le trafic sur l'interface loopback
$ IPT-A INPUT-i lo-j ACCEPT
# autoriser le trafic ICMP
$ IPT-A INPUT-p icmp-j ACCEPT
# autoriser le trafic DNS entrant
$ IPT-A INPUT-p udp - sport 53-j ACCEPT
# pour permettre des connexions TCP établies
$ IPT-A INPUT-p tcp! - syn-j ACCEPT

Alors, ce qu'on a fait ici était de mettre des chaînes INPUT et politique FORWARD à DROP. La politique de la chaîne OUTPUT est réglé pour accepter, qui est la politique par défaut pour cette chaîne.
Nous n'ajoute pas les règles dans la chaîne avant, car il s'agit d'un ordinateur personnel et non pas un routeur, et si la transmission sera désactivé. Nous allons également ajouter des pas de règles dans la chaîne OUTPUT-ce que nous leur origine est OK.
Ensuite, nous vider toutes les règles en vigueur à partir de la table de filtrage. À ce stade, rien ne fonctionne vraiment. Certaines applications utilisent les connexions TCP / IP sur l'interface de bouclage, de sorte qu'il est sécuritaire pour autoriser les paquets qui arrivent sur l'interface "lo".
Nous avons appris à propos des attaques ICMP à l'article 2. Toutefois, il est de mon avis que ICMP doit être accueilli. Filtrage ICMP ne vous permettra pas de tester votre connexion Internet en utilisant ping, traceroute, MTR, etc, et aussi Path MTU Discovery ne fonctionnera pas, qui est un protocole très important dans de nombreux cas.

Réponses DNS utilise le protocole UDP et le port source 53. Gardez à l'esprit que la ligne:

$ IPT-A INPUT-p udp - sport 53-j ACCEPT

est un trou de sécurité potentiel. Nous l'avons laissé comme ça parce que nous avons déjà déclaré que c'est ce que nous pensons que le pare-feu par défaut devrait ressembler. Toutefois, si vous n'utilisez pas un serveur DNS (qui n'est pas recommandé pour un ordinateur personnel), d'accepter les connexions entrantes avec le port UDP source 53 seulement de DNS de votre fournisseur de serveurs (ceux que vous avez dans / etc / resolv.conf). Par exemple, si les serveurs DNS du fournisseur sont 1.1.1.1 et 1.1.2.1, remplacer la ligne précédente avec:

$ IPT-A INPUT-s 1.1.1.1-p udp - sport 53-j ACCEPT
$ IPT-A INPUT-s 1.1.2.1-p udp - sport 53-j ACCEPT

De cette façon, vous serez sûr.

 

La dernière chose dont nous avons besoin pour notre connexion Internet pour travailler est de permettre le trafic entrant TCP pour les connexions déjà établies TCP. Vaudrait mieux, de refuser tout trafic TCP entrant qui n'appartient pas à une connexion TCP que cet ordinateur lancé (Refuser les paquets TCP SYN).


iproute2 et contrôle de la circulation

iproute2 est un progiciel qui fournit des outils différents pour le routage avancé, les tunnels, et le contrôle de la circulation.
iproute2 a été initialement conçu par Alexey Kuznetsov, et est bien connue pour la mise en œuvre de la QoS dans les noyaux Linux et est actuellement maintenu par Stephen Hemminger. Le site principal pour iproute2 est http://linux-net.osdl.org/index.php/Iproute2et son site de documentation principale est http://www.lartc.org.
Les outils les plus important que iproute2 fournit sont ip et TC.
Configuration du réseau: "IP" Tool

L'outil IP fournit la plupart de la configuration de la mise en réseau des besoins machine Linux. Vous pouvez configurer les interfaces, ARP, politique de routage, tunnels, etc
Maintenant, avec IPv4 et IPv6, l'IP peut tout faire à peu près (y compris beaucoup de choses que nous n'avons pas besoin dans notre cas particulier). La syntaxe de la propriété intellectuelle n'est pas difficile, et il ya donc beaucoup de documentation sur ce sujet. Toutefois, la chose la plus importante est de savoir ce que nous avons besoin et quand nous en avons besoin.
Tout d'abord, la propriété intellectuelle est le principal outil dont nous avons besoin pour les protocoles de routage dynamique (BGP, OSPF et RIP) sur Linux fournis par Zebra, qui sera examinée plus loin dans cet article.
Let's have a look à la commande ip aider à voir ce ip sait:

root @ routeur: ~ # help ip

Le lien de commandes contient les configurations IP du périphérique réseau qui peut être changé avec ip link set. Cette commande est utilisée pour modifier les propriétés de l'appareil et non l'adresse IP.
Les adresses IP peuvent être configurés en utilisant la commande ip addr. Cette commande peut être utilisée pour ajouter un (primaire ou secondaire alias) adresse IP à un périphérique réseau (ip addr add), pour afficher les adresses IP pour chaque périphérique réseau (ip addr show), ou à supprimer les adresses IP à partir d'interfaces (ip addr del). Les adresses IP peuvent également être rincé à l'aide de différents critères, par exemple, dynamique ip addr flush videra toutes les routes ajouté au noyau par un protocole de routage dynamique.
Voisin / ARP gestion de la table voisine se fait en utilisant la propriété intellectuelle, qui a quelques commandes expressément nommée ajouter, modifier, remplacer, supprimer et chasse d'eau.
ip tunnel est utilisé pour gérer les connexions par tunnel. Les tunnels peuvent être GRE, ipip, et s'asseoir. Nous allons inclure un exemple plus loin dans l'article sur la façon de construire des tunnels IP.
L'outil IP offre un moyen pour le suivi des itinéraires, adresses, et les Etats de périphériques en temps réel. Cela peut être accompli en utilisant surveiller ip, rtmon, et les commandes rtacct inclus dans le paquet iproute2.
Très important et très probablement l'objet le plus utilisé de l'outil ip est ip route, qui peut faire toutes les opérations sur le noyau de table de routage. Elle a des commandes pour ajouter, modifier, remplacer, supprimer, spectacle, chasse d'eau, et obtenir des itinéraires.
Une des choses iproute2 introduites pour Linux qui a assuré sa popularité était de routage politique. Cela peut être fait en utilisant la règle de propriété intellectuelle et ip route en quelques étapes simples.

Contrôle du trafic: tc

La commande tc permet aux administrateurs de construire des différentes politiques de la QoS dans les réseaux utilisant Linux au lieu de machines très coûteuses QoS dédiée. Utiliser Linux, vous pouvez mettre en œuvre de la QoS dans toutes les façons toute machine dédiée QoS peut et même plus. En outre, on peut faire un pont à l'aide d'un PC fonctionnant sous Linux bien qui peut être transformé en un très puissant et très bon marché QoS machine dédiée.
Pour cela, la qualité de service de soutien doit être configuré dans le noyau Linux (CONFIG_NET_QOS = "Y" et CONFIG_NET_SCHED = "Y").

Disciplines Classless Queuing (Classless gestionnaires basés sur)

Gestionnaires basés sur Classless sont les plus simples, car ils n'acceptent que, goutte, de retarder ou reporter des données. Ils peuvent être attachés à une seule interface et ne peut façonner l'interface entière.

Il existe plusieurs implémentations qdisc sur Linux, la plupart d'entre eux inclus dans le noyau Linux.

  1. FIFO (pfifo et bfifo): Le plus simple gestionnaire, qui fonctionne par l'En premier lieu, d'abord éliminer. Algorithmes FIFO ont une taille limite de file d'attente (taille du buffer), qui peut être défini en paquets pour pfifo ou en octets pour bfifo.
  2. pfifo_fast: Le qdisc Linux par défaut sur toutes les interfaces. Il est important de savoir comment fonctionne pfifo_fast; donc nous allons l'expliquer prochainement.
  3. Token Bucket Filter (tbf): D'un gestionnaire simple qui est parfait pour ralentir une interface avec un taux spécifié. Elle peut permettre de courtes rafales sur le taux et du processeur est très conviviale.
  4. Stochastic Fair Queuing (SFQ): Un des gestionnaires basés sur la plus largement utilisée. SFQ tente de répartir équitablement les transmissions de données entre un certain nombre de flux.
  5. Enhanced Stochastic Fair Queuing (ESFQ): Non inclus dans le noyau Linux, il fonctionne de la même manière que SFQ, à l'exception que l'utilisateur peut contrôler plus de paramètres de l'algorithme comme la profondeur (flux) de limiter, hash table options de taille (en dur dans l'original SFQ) et de hachage types.
  6. Random Early Detection and Generic Random Early Detection (RED et GRED): gestionnaires basés sur des données adaptées épine dorsale de files d'attente, avec des débits de données plus de 100 Mbps.

Il ya des gestionnaires basés sur plus de ceux que j'ai indiqués ici. Toutefois, de mon expérience, SFQ et ESFQ font un excellent travail, et sont les gestionnaires basés sur ce que j'ai obtenu les meilleurs résultats avec.
Comme je l'ai dit précédemment, la qdisc défaut sur Linux pour toutes les interfaces est pfifo_fast. Normalement, on pourrait penser que c'est juste comme pfifo, signifiant qu'il ya un tampon et paquets passent par l'intermédiaire du tampon en utilisant la règle First In First Out. En fait, c'est pas tout à fait vrai. pfifo_fast a 3 bandes-0, 1 et 2 dans lequel les paquets sont placés en fonction de leur octet TOS. Les paquets sont envoyés à partir de ces bandes comme suit:

  1. Les paquets dans la bande 0, ont la plus haute priorité
  2. Les paquets dans la bande 1 sont envoyées que s'il n'y a pas de paquets dans la bande 0
  3. Les paquets dans la bande 2 sont les moins prioritaires et sont envoyés que si il n'ya pas de paquets dans le 0 et 1 bandes.

Il est important de le savoir parce que cela peut être un moyen d'optimiser la façon dont les paquets Voyage à travers le réseau des interfaces de nos routeurs Linux.

un article présenté par Philip A Clare


Disclaimer:Notre site n'est pas responsable du contenu de cet article. Webarticles est une ressource d'information gratuite.
Important: Cet article "Une base du pare-Script, Linux en tant que station de travail» a été traduit par un logiciel automatique. Nous nous sentons désolés pour les fautes d'orthographe que mai ont eu lieu. Nous vous remercions de votre compréhension.


Online: 425 users browsing the articles directory