Bonjour à tous,
j’évolue sur sur un proxmox 1.7 et je virtualise des VM debian lenny. jusque là aucun problème mais j’ai récemment fait une migration de serveur et depuis je n’ai plus accès ni en entrée ni en sortie,pas de ssh, pas de http… J’ai penché pour iptables mais je ne trouve pas malgré et il faut dire que j’ai un peu de mal avec iptables :
je vous joins mon script firewall.sh qui s’exécute dès le démarrage de la machine (/etc/init.d/firewall.sh).
J’ai le même script pour toutes les machines et les autres fonctionnent sauf 2 VM.
Je n’y comprends rien et même quand je vide totalement iptables (iptables -F) rien en passe.
J’ai lu deux trois tutos sur iptables mais si jamais vous avez une adresse de tuto assez bien fait ou un livre à me conseiller je suis preneur
J’ai essayé en vidant iptables -F et ensuite en forcant
iptables -A INPUT ACCEPT
iptables -A OUTPUT ACCEPT
mais pas mieux
Merci par avance pour vos conseils et coups de main
Auriez vous un début de piste pour un débutant d’iptables ?
script firewall.sh :
#!/bin/sh
INET_IFACE="venet0"
INET_IP=“XX.XX.XX.XX”
LO_IFACE="lo"
LO_IP=“127.0.0.1”
IPTABLES="/sbin/iptables"
Supprime toutes les regles en service
$IPTABLES -F
Regle les politiques par defaut
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
##############
CHAINS
##############
Cree les nouvelles chaines
$IPTABLES -N bad_tcp_packets
$IPTABLES -N blocked_ips
$IPTABLES -N allowed
$IPTABLES -N tcp_packets
$IPTABLES -N udp_packets
$IPTABLES -N icmp_packets
###################
blocked_ips
###################
$IPTABLES -A blocked_ips -s xxx.xxx.xxx.xxx -j DROP
#######################
bad_tcp_packets
#######################
loging bad packets
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix “New not syn:”
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
###############
allowed
###############
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP
########################
opened tcp ports
########################
ftp
#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 20:21 -j allowed
ssh
#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
ssh avec limitation a 5 tentatives de connection par heure
$IPTABLES -A INPUT -p tcp -m tcp -m limit --dport 22 --limit 5/hour -j allowed
smtp
#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 25 -j allowed
dns
#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 53 -j allowed
http
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
pop3
#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 110 -j allowed
imap
#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 143 -j allowed
https
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 443 -j allowed
webmin
#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 10000 -j allowed
Nagios NRPE server
#$IPTABLES -A tcp_packets -p tcp -m tcp --dport 5666 -j allowed
Zope
#$IPTABLES -A tcp_packets -p tcp -m tcp --dport 9673 -j allowed
###########################################
opened tcp ports for specified IP’s
###########################################
Nagios
$IPTABLES -A tcp_packets -p TCP -s XX.XX.XX.XX --dport 5666 -j allowed
$IPTABLES -A tcp_packets -s XX.XX.XX.XX -p tcp -m tcp --dport 3306 -j allowed
Infolegale Lyon
$IPTABLES -A tcp_packets -p TCP -s XX.XX.XX.XX --dport 22 -j allowed
$IPTABLES -A tcp_packets -p TCP -s XX.XX.XX.XX --dport 3306 -j allowed
Serveur Dom
$IPTABLES -A tcp_packets -p TCP -s XX.XX.XX.XX --dport 22 -j allowed
Serveur DEV
$IPTABLES -A tcp_packets -p TCP -s XX.XX.XX.XX --dport 22 -j allowed
serveur prod
$IPTABLES -A tcp_packets -p TCP -s XX.XX.XX.XX --dport 22 -j allowed
$IPTABLES -A tcp_packets -p TCP -s XX.XX.XX.XX --dport 3306 -j allowed
Clone
$IPTABLES -A tcp_packets -p TCP -s XX.XX.XX.XX --dport 3306 -j allowed
integration
$IPTABLES -A tcp_packets -s XX.XX.XX.XX -p tcp -m tcp --dport 3306 -j allowed
$IPTABLES -A tcp_packets -s XX.XX.XX.XX -p tcp -m tcp --dport 22 -j allowed
transdb
$IPTABLES -A tcp_packets -p TCP -s XX.XX.XX.XX --dport 22 -j allowed
intranet
$IPTABLES -A tcp_packets -s XX.XX.XX.XX -p tcp -m tcp --dport 3306 -j allowed
$IPTABLES -A tcp_packets -s XX.XX.XX.XX -p tcp -m tcp --dport 22 -j allowed
########################
opened udp ports
########################
dns
#$IPTABLES -A udp_packets -p UDP -s 0/0 --dport 53 -j allowed
###########################################
opened udp ports for specified IP’s
###########################################
$IPTABLES -A udp_packets -p UDP -s xxx.xxx.xxx.xxx/32 --dport 22 -j allowed
#########################################
drop DHCP requests from the world
#########################################
###$IPTABLES -A udp_packets -p UDP -i $INET_IFACE -d 255.255.255.255 --destination-port 67:68 -j DROP
####################
icmp_packets
####################
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
#########################
INPUT CHAIN
#########################
$IPTABLES -A INPUT -j blocked_ips
$IPTABLES -A INPUT -p TCP -j bad_tcp_packets
lo
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
packets from internet
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
drop multicats
$IPTABLES -A INPUT -i $INET_IFACE -d 224.0.0.0/8 -j DROP
logging strange packets
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "
###########################
FORWARD CHAIN
###########################
$IPTABLES -A FORWARD -p TCP -j bad_tcp_packets
logging strange packets
$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packet died: "
##########################
OUTPUT CHAIN
##########################
$IPTABLES -A OUTPUT -p TCP -j bad_tcp_packets
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
logging strange packets
$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "
FIXME:
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -p UDP -s $INET_IP -j ACCEPT