Mis à jour le dimanche 19 juin 2016
iptables est un système de pare-feu relié au noyau Linux. Contrairement à ce que cela peut sembler IPTABLES N’EST PAS comme un serveur que nous l’initialisons ou que nous nous sommes arrêtés, il y a eu une certaine vulnérabilité qu’un DDO est autorisé, mais il sera toujours plus efficace que les applications qui écoutent dans un présent port TCP. Ipttable est intégré au noyau, il fait partie du système d’exploitation. Nous pouvons créer, modifier, supprimer toutes sortes de règles, nous proposerons ici quelques exemples.
Réinitialiser les règles de pare-feu IPTABLES
iptables -P INPUT ACCEPTiptables -P FORWARD ACCEPTiptables -P OUTPUT ACCEPTiptables -Fiptables -t nat -F
Affiche l’état de votre pare-feu et des règles de liste
Tapez la commande suivante en tant que root:
Supprimer les règles de pare-feu
iptables -L INPUT -n --line-numbersiptables -L OUTPUT -n --line-numbersiptables -L OUTPUT -n --line-numbers | lessiptables -L OUTPUT -n --line-numbers | grep 202.54.1.1
peut être supprimée par numéro de règles
iptables -D INPUT 4
ou spécifier une règle qui correspond à
Définissez les stratégies de pare-feu par défaut à Éliminer tout le trafic:
iptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROPiptables -L -v -n
bloque simplement le trafic entrant
pour supprimer tous les paquets entrants / envoyés, mais permettez le trafic sortant, le type :
Supprimer des adresses de réseau privées dans l’interface publique (en supposant que l’ETH1 en tant que public interface)
IP du bloc:
iptables -A INPUT -s 192.168.1.5 -j DROPiptables -A INPUT -s 192.114.71.13 -j DROP
Enregistrer les règles:
iptables-save > /root/iptables.fw
in centos / rhel / fedora Linux,:
service iptables save
Règles de restauration :
iptables-restore < /root/iptables.fw
restaurer dans centos / rhel / fedora linux:
service iptables restart
Vous pouvez Rechargez les règles automatiquement lors du redémarrage du serveur:
vi /etc/rc.local
in centos Vous pouvez enregistrer les règles pour les recharger automatiquement:
/etc/sysconfig/iptables
Autoriser tout le trafic de bouclage et supprimer tout le trafic sur 127/8 qui n’utilise pas lo0
iptables -A INPUT -i lo -j ACCEPTiptables -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT
Supprimer tout package TCP qui n’a pas été démarré avec le drapeau Syn Active
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
Accepter toutes les connexions entrantes établies
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Supprimer tout emballage non valide qui ne peut pas être Identifié
iptables -A INPUT -m state --state INVALID -j DROPDrop all inbound telnet trafficiptables -I INPUT -p tcp --dport 23 -j DROPDrop all outbound web trafficiptables -I OUTPUT -p tcp --dport 80 -j DROPDrop all outbound traffic to 192.168.0.1iptables -I OUTPUT -p tcp --dest 192.168.0.1 -j DROPAllow all inbound web trafficiptables -I INPUT -p tcp --dport 80 -j ACCEPTAllow inbound port traffic for localhostiptables -I INPUT -s 12.0.0.1 -p tcp --dport 2003 -j ACCEPTAllow inbound HTTPS traffic from 10.2.2.4iptables -I INPUT -s 10.2.2.4 -p tcp -m tcp --dport 443 -j DROPDeny outbound traffic to 192.2.4.0-192.2.4.255iptables -I OUTPUT -d 192.2.4.6.0/24 -j DROP
trafic de bloc sur le domaine Facebook.com, nous examinons l’adresse IP de Facebook.com, puis votre gamme IPS
host -t a www.facebook.comwhois 69.171.228.40 | grep CIDR
Nous créons la règle pour ne pas autoriser l’accès
iptables -A OUTPUT -p tcp -d 69.171.224.0/19 -j DROP
Aussi par nom de domaine, mais il n’est pas efficace à 100%.
iptables -A OUTPUT -p tcp -d www.facebook.com -j DROPiptables -A OUTPUT -p tcp -d facebook.com -j DROP
Autoriser les connexions entrantes au port 21 à partir d’une IP 11.22.33.44
iptables -A INPUT -p tcp -m state --state NEW --dport 21 --source 11.22.33.44
Autoriser tout le trafic entrant ssh
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
Autoriser sortant ssh
iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
Autoriser le trafic http
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
Autoriser les https sortants.
Rules combinant avec multiple
iptables -A INPUT -i eth0 -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT
Toutes les connexions entrantes au port 21.
iptables -A INPUT -p tcp -m state --state NEW --dport 21 -j DROP
Supprimer la première règle d’entrée
floraison Demandez ou autorisez la demande ICMP ping
iptables -A INPUT -p icmp --icmp-type echo-request -j DROPiptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j ACCEPT/// A continuación sólo acepta tipo limitado de peticiones ICMP:
### ** supposait que la stratégie d’entrée par défaut définie sur chute ** ######## ## ## IPTABLE -A INPUT -P -P -P ICMP -C-TYPE ECHO-RÉPLAY -J ACCEPTER IPTABLE -A INPUT -P -P -P ICMP -C-TYPE DESTATIONS-UNESTABLABLES -JECTABLES -J ACCEPTER IPTABLE -A INPUT-PIC ICMP -C-Type de type ICMP -ICM -J Accepter
## ** Tout notre serveur pour répondre à Pings ** ## iptables -a Entrée -P -P ICMP -C-TYPE ECHO-DEMANDE -J-ACCEPTER
iptables -Au entrée -P ICMP -C-TYPE ECHO-DEMANDE-Demande -J ACCEPTER IPTABLE -A SORPION -P ICMP – ICMP- Tapez Echo-Répondre -j Accepter
Permitir PING de dentro a fuera.
iptables -a sortie -P ICMP -C-Type de type ICMP-Demande -JEC accepte IPTABLES -A INPUT – P ICMP -Cmp-Type Echo-Répondre -J accepte
Permitir tráfico DNS saliente.
iptables -a sortie -p udp -o eth0 -dport 53 -j Accepter iptables -A Entrée – P udp -i eth0 -sport 53 -j accepte
Abrir un rango de puertos de entrada
IPTABLE -A INPUT-Etat State NE W -M TCP -P TCP DPT 7000: 7010 -J Accepter
Abrir un rango de IPs
## Accepter uniquement la connexion au port TCP 80 (Apache) IP IP est compris entre 192.168 .1.100 et 192.168.1.200 ## IPTABLE -A INPUT -P -P -P TCP de destination-Port 80-M IPRANGE SRC-Range 192.168.1.100-192.168.1.200 -J Accepter
EXEMPLE NAT ## IPTABLES – T NAT -A Postruting -J Snat -O-Source 192.168.1.20-192.168.1.25
%%%Restringir el número de conexiones concurrentes a un servidor por IP%%%Puedes utilizar el módulo connlimit para crear estas restricciones. Permitir 3 conexiones SSH por cliente:
iptables -a entrée -P TCP SYN DPORT 22 -M connlimit -connlimit-ci-dessus 3 -j Rejeter
iptables -P TCP SYN DPORT 80 – M Connlimit Connlimit-Ci-dessus 20 connlimit-masque 24 -J Drop
Donde:* --connlimit-above 3 : Match if the number of existing connections is above 3.* --connlimit-mask 24 : Group hosts using the prefix length. For IPv4, this must be a number between (including) 0 and 32.%%%Eliminar o aceptar paquetes desde una MAC Address
IPTABLE -A INPUT-MAC -MAC-Source 00: 0f: EA: 91 : 04: 08 -J DROP
## * Acceptez uniquement le trafic pour le port TCP n ° 22 de Mac 00: 0f: EA: 91: 04: 07 *# IPTABLE -A INPUT -P -P TCPDESTINUM-PORT 22-MAC MAC Mac-Source 00: 0f: EA: 91: 04: 07 -J ACCEPTER
%%%Prevenir ataques DoS* -Limit 25/minute : Limita a sólo 25 conexiones por minuto.* -Limit-burst 100: Indica que el valor de limit/minute será forzado sólo después del número de conexiones en este nivel
IPTABLE -A INPUT -P -P TCP DPORT limite limite 25 / minute -Limit-burst 100 -j accepte
%%%Permitir redirección de puertos.* Ejemplo puerto 422 redirigimos al 22, con lo que podemos tener conexiones al puerto 22 y al puerto 422 por ssh.
iptables -t NAT -A PREROUTING -P TCP -D 192.168.102.37 DPORT 422 -JD DNAT à 192.168.102.37:22 IPTABLES -A INPUT-INPUT -I Eth0 -P TCP DPORT 422 -M State State NEW, Etate -J Accepter IPTABLES -A SORTIE -O SORTIE -O ETH0 -P TCPSPORT Etat Etat Etat Créé -J Accepter
Logar y eliminar paquetes:
iptables -a entrée -IPH1 -S 10.0.0.0/8 -J journal -log-préfixe « IP_SPOOF A: » IPTABL -A INPUT -IH1 -S 10.0.0.0 / 8 -J DROP
Logar y eliminar paquetes limitando el número de entradas repetidas en el LOG
IPTABLE -A INPUT -IP-ETH1 -S 10.0.0.0/8 -M limite limite de limite 5 / m Limite-rafale 7 – J Connexion -Log-Prefix « IP_SPOOF A: » IPTABLE -A INPUT -I -A INPUT -I ETH1 -S 10.0.0.0/8 -J DROP
Sacar en el log los paquetes caídos.* Primero creamos una cadena llamada LOGGING:
IPTABLE -N Loging
Luego todas las conexiones entrantes vayan por la cadena LOGGING
IPTABL-INPUT-JOGING
Logueamos paquetes con un log-prefix
IPTABLES -Alogging -M Limite limite de liaison 2 / MIN -J Journal de journal de journal-Prefix « Paquet IPTABLES supprimé: » -Log-Niveau 7
Y los bloqueamos:
iptables -A Logging -j Drop -J Drop
%%%Listado de reglas ejemplo para puertos TCP/UDP comunes:* Replace ACCEPT with DROP to block port:
Port Open Port SSH TCP Port 22 ## IPTABLE -A Entrée – m State NEW -M TCP -P TCP DPORT 22 -J Accepter iptables -a Entrées -S -S 192.168.1.0/24-M State State Nouveau -P TCP DPORT 22 -J Accepter
(Service d’impression) Port UDP / TCP 631 pour les utilisateurs de LAN ## iptables -a entrées -s 192.168.1.0/24 -P UDP -M UDP -DPORT 631 -J Accepter iptables -a entrée -S 192.168.1.0/24 -P TCP -M TCP -DPORT 631 -J accepter
Autoriser Temps Synchronisez via NTP pour les utilisateurs de LAN (Open UDP Port 123) ## IPTABLE -A INPUT -S -S 192.168.1.0/24 -M Statstate Nouveau -P UDP DPORT 123 -J Accepter
Port TCP ouvert 25 (SMTP) pour tous ## iptables -A Entrée -M State State Nouveau -P TCP DPORT 25 -J Accepter
- Ouvrir les ports de serveur DNS pour tous ##
IPTABLES-INPUT-INPUT-Etat State State Nouveau -P UDP DPORT 53 -J Accepter iPTABL -A INPUT-INPUT STATE STATE NEW -P TCPDPORT 53 -J Accepter
(Apache) Port de serveur à tout ## iptables -A Entrée -M State State State Nouveau -P TCP DPORT 80 -J Accepter IPTABLE -A INPUT-Etat State State Nouveau -P TCP DPORT 443 -J Accepter
## OPEN PORT TCP 110 (POP3) Pour tout ## iPTABL -A INPUT-INPUT-Etat State State Nouveau -P TCP DPORT 110 -J Accepter
Port TCP ouvert 143 (IMAP) pour tout ## iptables -a entrée -M State State Nouveau -P TCP DPORT 143 -J accepter
Accès ouvert à Samba F Ile Server pour les utilisateurs de LAN uniquement ## iPTABL -A INPUT -S -S 192.168.1.0/24-M State State NEW -P TCP DPORT 137 -J Accepter IPTABL -A INPUT -S -S 192.168.1.0/24-State State Nouveau -P TCP DPPORT 138 -J Accepter iptables -a Entrées -S -S 192.168.1.0/24-M State State Nouveau -P TCP DPORT 139 -J Accepter IPTABLES -S INPUT -S -S 192.168.1.0/24 State State Nouveau -P TCP DPORT 445 -j accepte
## Accès ouvert au serveur proxy pour les utilisateurs de LAN uniquement ## iptables -a Entrées -S -S 192.168.1.0/24-Etat de l’état d’état Nouveau -P TCP DPORT 3128 -J accepte
## Accès ouvert à MySQL Server pour les utilisateurs de LAN uniquement ## iptables -I entrée -P TCP -DPORT 3306 -J accepte ///