Introduction à iptables

Si vous avez été autour de Linux depuis assez longtemps vous savez il ya plusieurs façons d'obtenir votre boîte. Ce que vous pouvez ou ne peut pas savoir, c'est qu'un certain nombre de ces moyens sont tout simplement front-ends pour les iptables-puissant outil de tous. Iptables est un outil très puissant, système complexe qui permet de contrôler le trafic de paquets sur votre système. Il ne peut nier, rejeter, de permettre, route, et faire à peu près tout ce que vous voulez faire avec ce trafic ... tous de la ligne de commande. Bien entendu, avec ce pouvoir, est une certaine complexité graves.

Cette complexité est ce un article d'introduction est nécessaire. J'ai vu beaucoup d'utilisateurs simplement essayer de sauter dans le cœur et l'âme de iptables, pour les voir échouer lamentablement. Pour bien comprendre iptables il faut d'abord comprendre comment iptables est réellement utilisée. Dans cet article je vais vous aider à comprendre les fondements de iptables si plus tard on peut en outre que les connaissances avec plus de scripts en profondeur et les commandes.

Quel est iptables?

Comme je l'ai mentionné plus tôt, iptables est un moyen puissant de contrôler le trafic de paquets en provenance et à votre boîte Linux. Mais comment fait-il cela? Il le fait en créant des tables faites de chaînes. Il existe trois types de chaînes:

  • INPUT: paquets de contrôles à venir en
  • paquets Controls va: SORTIEà.
  • FORWARD: Les paquets contrôles qui sont transmis.

Ce sont aussi appliqués à la politique par défaut. Lorsque vous installez un système d'exploitation Linux, il aura trois pré-définis chaînes iptables (une pour chacun des ci-dessus).

Maintenant, chaque chaîne peut gérer le trafic de paquets dans l'une des quatre façons différentes (actions):

  • ACCEPT: Autoriser les paquets en entrée / sortie.
  • REJECT: Le dispositif cible rejeter le paquet.
  • DROP: Le paquet est immédiatement supprimé et le périphérique cible ne voit jamais ledit paquet.
  • RETOUR: Aller à une autre chaîne dans la table comme s'il n'avait jamais vu la chaîne de rejet.

Alors maintenant, vous avez une table composée de chaînes qui utilisent ACTIONS pour acheminer le trafic. Est-ce aussi difficile? Maintenant, vous pouvez aussi avoir plus d'une table sur une machine - mais qui est beaucoup trop complexe pour un article introductif. Votre machine aura aussi un défaut d'action pour chaque chaîne (INPUT, OUTPUT, FORWARD). Par défaut ces politiques sont généralement mis à la ACCEPT action.

Vous devez aussi comprendre que quand un paquet arrive sur une machine, il doit traverser le iptables chaîne jusqu'à ce qu'elle corresponde soit à une règle chaîne ou la traverse toutes les règles indemne. En raison de ce que vous voulez créer vos chaînes avec soin. Si vous ne vous pouvez retrouver avec le trafic que vousveulent pas accepter obtenir rejetée parce que d'une chaîne de mal classés. Par exemple:

Disons que vous voulez accepter tout le trafic ssh au sein de votre passage réseau interne sécurisé à vos machines. Mais que faire si vous avez une règle qui rejette CHAINE trafic ssh en place avant cette règle interne? Si vous faites cela tous les ssh trafic interne sera rejeté. Dans ce cas, vous voulez que votre commande TABLE chaîne comme ceci:

CHAINE accepter le trafic entrant ssh LAN

CHAINE DE REJET entrant trafic WAN ssh

Jetons un regard sur la façon dont vous utilisez Itableaux comme une commande pour créer ou modifier des chaînes de politique.

Utilisation

[ : Http://dl.dropbox.com/u/21986221/iptables_l.png]

Figure 1

Si vous émettez la commande iptables-L l'ensemble de vos chaînes actuelles seront admises comme ce que vous voyez dans la figure 1. NOTE: La commande iptables doit être exécuté que soit l'utilisateur root ou avec l'aide de sudo.

Comme vous pouvez le voir, dans ma production, ma table est composée de trois chaînes de stratégie par défaut et chacun est actuellement fixé à l'ACCEPT action. Que faire si je veuxpour changer ma politique INPUT DROP? Après tout, voulez-vous le trafic entrant d'avoir un accès total à votre machine? Vous pouvez régler l'entrée POLITIQUE DROP avec la commande suivante:

sudo iptables-P INPUT DROP

Qu'est-ce que vous avez effectivement fait ci-dessus est fixé par défaut de INPUT de votre politique de rejeter. Donc, sans créer de nouvelles chaînes tout le trafic entrant sur cette machine seront rejetées. Voici le problème avec ça ... disons, par exemple, vous souhaitez autoriser le trafic ssh sur cette machine? Si vous le laisser tel que cela n'arrivera pas. Parce que vous avez la POLITIQUE INPUT réglé pour rejeter et vous n'avez pas d'autres chaînes en place, pas de trafic entrant travail. N'oubliez pas, cependant, ce que j'ai dit au sujet de la création de chaînes dans le bon ordre pour assurer la circulation nécessaire, on trouve un passage sûr.

Réflexions finales

Ainsi commence notre voyage avec iptables. Ce n'est pas le système le plus simple à utiliser, mais il est assurément très percutant. Vaut-il le temps et les efforts quand il ya tant d'outils d'interface graphique pour choisir? Cela dépend de vos besoins. Si vous travaillez sur rien de plus qu'un ordinateur de bureau - puis l'interface graphique-end sera plus que probablement être assez. Si, toutefois, vous avez un serveur avec des données critiques ou sensibles, vous pourriez avoir besoin de la puissance et la flexibilitéque iptables apporte à la table.

Commentaires

Posts les plus consultés de ce blog

Qu'est ce qu'un lien Magnet Et quelle est la différence des torrents?

Faire Firefox 3 Utiliser Windows Vista en verre, comme Internet Explorer n'affiche

Gardez vos mots de passe sous Linux, avec KeePassX