Outils pour utilisateurs

Outils du site


public:linux:firewall

Ceci est une ancienne révision du document !


Firewall sur iptables

Script bash

#!/bin/bash
 
IPTABLES=/sbin/iptables
 
# Nous vidons les chaines
$IPTABLES -F
 
# Nous supprimons d'eventuelles chaines personnelles
$IPTABLES -X
 
# Par defaut, on interdit tout
$IPTABLES -P INPUT   DROP
$IPTABLES -P OUTPUT  DROP
$IPTABLES -P FORWARD DROP
 
# Definition d'un logger sur le drop
$IPTABLES -N LOGDROP
$IPTABLES -A LOGDROP -j LOG  --log-prefix '[IPTABLES DROP] : '
$IPTABLES -A LOGDROP -j DROP
 
# Definition d'un logger sur le accept (attention c'est verbeux)
#$IPTABLES -N LOGACCEPT
#$IPTABLES -A LOGACCEPT -j LOG  --log-prefix '[IPTABLES ACCEPT] : '
#$IPTABLES -A LOGACCEPT -j ACCEPT
 
# Accepter ce qu'il se passe en local
$IPTABLES -A INPUT  -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
 
# Accepter la resolution DNS
$IPTABLES -A INPUT  -i eth0 -p udp --sport 53 -j ACCEPT
$IPTABLES -A OUTPUT -o eth0 -p udp --dport 53 -j ACCEPT
$IPTABLES -A INPUT  -i eth0 -p tcp --sport 53 -j ACCEPT
$IPTABLES -A OUTPUT -o eth0 -p tcp --dport 53 -j ACCEPT
 
# On autorise tout en sortie
$IPTABLES -A INPUT  -i eth0 -m state --state ESTABLISHED     -j ACCEPT
$IPTABLES -A OUTPUT -o eth0 -m state --state NEW,ESTABLISHED -j ACCEPT
 
# On autorise en entree
#http
$IPTABLES -A INPUT  -i eth0 -m state --state NEW,ESTABLISHED -p tcp --dport 80 -j ACCEPT
$IPTABLES -A OUTPUT -o eth0 -m state --state ESTABLISHED     -p tcp --sport 80 -j ACCEPT
 
#https
$IPTABLES -A INPUT  -i eth0 -m state --state NEW,ESTABLISHED -p tcp --dport 443 -j ACCEPT
$IPTABLES -A OUTPUT -o eth0 -m state --state ESTABLISHED     -p tcp --sport 443 -j ACCEPT
 
#ssh (autorisé par knock)
#$IPTABLES -A INPUT  -i eth0 -m state --state NEW,ESTABLISHED -p tcp --dport 22 -j LOGACCEPT
#$IPTABLES -A OUTPUT -o eth0 -m state --state ESTABLISHED     -p tcp --sport 22 -j LOGACCEPT
 
# ftp
$IPTABLES -A INPUT  -m state --state NEW,ESTABLISHED -p tcp --dport 21 -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED     -p tcp --sport 21 -j ACCEPT 
 
# ftp actif
$IPTABLES -A INPUT  -m state --state ESTABLISHED,RELATED -p tcp --dport 20 -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED         -p tcp --sport 20 -j ACCEPT 
 
# ftp passif
$IPTABLES -A INPUT  -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED         -j ACCEPT 
 
#Multiposte 31336:31337 (pas trouvé la synthaxe exacte)
#$IPTABLES -A INPUT -p udp -s mafreebox.freebox.fr -j ACCEPT
#$IPTABLES -A INPUT  -i eth0 -m state --state NEW,ESTABLISHED -p udp --dport 31336:31337 -j ACCEPT
#$IPTABLES -A OUTPUT -o eth0 -m state --state ESTABLISHED     -p udp --sport 31336:31337 -j ACCEPT
#$IPTABLES -A INPUT  -p udp --dport 31336:31337 -j ACCEPT
#$IPTABLES -A INPUT -p udp -s 212.27.38.253 -j ACCEPT
#$IPTABLES -A OUTPUT -p udp --dport 554 -j ACCEPT
 
# Enfin, on refuse tout le reste et on le log
$IPTABLES -A INPUT   -j LOGDROP
$IPTABLES -A OUTPUT  -j LOGDROP
$IPTABLES -A FORWARD -j LOGDROP
public/linux/firewall.1220787960.txt.gz · Dernière modification : 2023/02/13 13:39 (modification externe)