Créez votre propre pare-feu avec iptables en utilisant ce script simple

J'ai passé un certain temps à réfléchir à deux choses à propos de cet iptables: la plupart de ceux qui recherchent ces tutoriels sont des débutants et deuxièmement, beaucoup recherchent déjà quelque chose d'assez simple et déjà élaboré.

Cet exemple concerne un serveur Web, mais vous pouvez facilement ajouter d'autres règles et les adapter à vos besoins.

Lorsque vous voyez "x" changer pour votre adresse IP


#!/bin/bash

# Nous nettoyons les tables iptables -F iptables -X # Nous nettoyons NAT iptables -t nat -F iptables -t nat -X # mangle table pour des choses comme PPPoE, PPP et ATM iptables -t mangle -F iptables -t mangle -X # Politiques Je pense que c'est le meilleur moyen pour les débutants et # toujours pas mal, je vais vous expliquer la sortie (sortie) tout parce que ce sont des connexions sortantes #, l'entrée nous supprimons tout, et aucun serveur ne doit transférer. iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Conserver l'état. Tout ce qui est déjà connecté (établi) est laissé comme ceci: iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT # Loop device. iptables -A INPUT -i lo -j ACCEPT # http, https, nous ne spécifions pas l'interface car # nous voulons qu'elle soit tous iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp - dport 443 -j ACCEPT # ssh uniquement en interne et à partir de cette plage d'iptables d'ip -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT # surveillance par exemple s'ils ont zabbix ou un autre service snmp iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 10050 -j ACCEPTER # icmp, ping bien c'est à vous iptables -A INPUT -p icmp -s 192.168.xx / 24 - i $ intranet -j ACCEPTER #mysql avec postgres est le port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPTER #sendmail bueeeh si vous voulez envoyer du courrier #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # server IP - le vrai wan ip de votre serveur LAN_RANGE = "192.168.xx / 21" # LAN range de votre réseau ou de vos # Ip vlan qui ne doivent jamais entrer dans l'extranet,est d'utiliser un peu de # logique si nous avons une interface purement WAN, il ne faut jamais entrer de trafic de type LAN via cette interface SPOOF_IPS = "0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0 / 16 "# Action par défaut - à effectuer lorsqu'une règle correspond à ACTION =" DROP "# Paquets avec la même adresse IP de mon serveur via le wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION # iptables -A OUTPUT -o $ extranet -s $ SERVER_IP -j $ ACTION # Paquets avec la plage LAN pour le wan, je le mets comme ceci au cas où vous auriez # un réseau particulier, mais c'est redondant avec la règle # suivante dans la boucle " pour "iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION ## Tous les réseaux SPOOF non autorisés par le wan pour ip dans $ SPOOF_IPS faire iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ ip -j $ ACTION terminé

Comme toujours j'attends vos commentaires, restez à l'écoute dans ce blog, merci