GNU/Linux >> Tutoriels Linux >  >> Linux

Présentation d'iptables

Cet article explique comment utiliser les tables IP pour un pare-feu simple et décrit le processus d'ouverture de trous dans votre pare-feu vers les ports nécessaires. Une table IP est un pare-feu et un outil de mise en réseau disponible pour toutes les distributions Linux et fonctionne en analysant les paquets au niveau du noyau au fur et à mesure qu'ils sont reçus.

Pour une liste complète des commandes, paramètres et autres options des tables IP, consultez la page MAN et le guide pratique des tables IP.

Ensemble de règles de base

La commande pour lister les règles actuelles est :

  sudo iptables --list

La sortie par défaut est :

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Lire l'ensemble de règles

Dans une installation par défaut, vous voyez trois Chaînes prédéfinies , une liste de règles, qui prend en charge les trois activités principales :le trafic entrant (INPUT), le trafic transféré (FORWARD) et le trafic sortant (OUTPUT). La chose la plus importante à retenir du tableau ci-dessus est que l'ensemble de règles par défaut pour toutes les politiques est défini sur ACCEPTER .

Politiques

Les politiques disponibles et les autres options sont nombreuses. Si vous voulez en savoir plus à leur sujet, consultez la page de manuel d'IPtables. Cet article ne couvre que les règles les plus courantes :

  • Accepter transmet explicitement le trafic tant qu'aucune autre règle cible ne s'applique.

  • Refuser renvoie un paquet d'erreur en réponse au paquet correspondant. Sinon, cela équivaut à DROP il s'agit donc d'une CIBLE terminale , mettant fin à la traversée des règles.

  • Laisser tomber interrompt une connexion à un hôte sans aucune communication à moins qu'une règle cible ne s'applique.

Options disponibles

Page MAN IPtables :https://linux.die.net/man/8/iptables

Les options reconnues par iptables venez dans les groupes suivants :

  • Commandes spécifier une action à effectuer.
  • Paramètres définir des spécifications de règles pour les commandes utilisées.
  • Autres options que vous spécifiez, le cas échéant, pour les commandes utilisées.

Commandes de pare-feu simples

Autoriser les connexions déjà connectées à votre serveur.

sudo iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

Autoriser les connexions sur ServiceNet. Requis par d'autres produits Rackspace Cloud tels que Cloud Backup et Cloud Monitoring.

sudo iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

Autoriser les connexions à SSH. Vous pouvez également utiliser cette commande pour effectuer des personnalisations. La commande suivante autorise toutes les tentatives de connexion TCP au port SSH 22 .

  sudo iptables -I INPUT 1 -p tcp  --dport 22 -j ACCEPT

Autorisez uniquement les connexions provenant d'un certain sous-réseau IP en utilisant la notation CIDR (ClasslessInter Domain Routing). Dans cet exemple, nous verrouillons sur toute adresse IP comprise entre 192.168.1.0 et 192.168.1.255.

sudo iptables -I INPUT 1 -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT

Autoriser les connexions à HTTP 80 ou HTTPS 443 depuis n'importe quelle connexion.

sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT

Autoriser les connexions pour les serveurs FTP sur le port 21 .

sudo iptables -I INPUT 1 -p tcp --dport 21 -j ACCEPT

Modification de la politique par défaut pour refuser toutes les connexions, seules les connexions autorisées seront acceptées.

sudo iptables -P INPUT DROP

IMPORTANT  :Exécutez cette règle après avoir configuré vos règles d'accès pour autoriser les connexions SSH entrantes.

Liste des ports communs

À l'aide des commandes précédentes, mélangez et associez les options de la liste suivante de ports communs pour créer des règles pour tout serveur en cours d'exécution dont vous disposez.

Enregistrer votre ensemble de règles

Si le serveur redémarre pour une raison quelconque ou si vous redémarrez IPTables, les modifications seront perdues car les modifications sont stockées dans la mémoire volatile. Les commandes suivantes créent un fichier texte brut, /etc/sysconfig/iptables , avec une syntaxe lisible par l'homme. Toutes les modifications apportées à ce fichier sont actives au redémarrage d'iptables.

  • Pour CentOS et Fedora

    /etc/init.d/iptables save
    
  • Pour le système d'exploitation Ubuntu

    iptables-save > /etc/iptables.rules
    
  • Pour toutes les autres distributions

    iptables-save > /etc/sysconfig/iptables
    

Résumé

Cet article vous montre comment créer un pare-feu simple pour protéger votre serveur des attaques de base. Gardez à l'esprit qu'IPTables est un outil puissant qui aurait besoin d'un livre pour l'explorer pleinement. Si vous avez besoin d'aide pour créer plus de règles, consultez Générateur de pare-feu facile pour IPTables.

  • Tutoriel Ubuntu IPtables
  • Man IPtables

Linux
  1. Introduction aux outils automatiques GNU

  2. Configuration du pare-feu à l'aide d'Iptables sur Ubuntu 14.04

  3. Langage de programmation C - Introduction

  4. Une introduction à l'éditeur vi

  5. Plesk :Présentation

Présentation de Virtual Machine Manager

Une introduction à bpftrace pour Linux

Une introduction au navigateur Vivaldi sous Linux

Une introduction aux faits Ansible

Service d'exploitation Linux "iptables"

Refuser toutes les connexions entrantes avec iptables ?