Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/10/2015, à 12:24

catskan

iptables bloque apt-get et internet

Bonjour,

Je suis en train de mettre iptables en place sur un nouveau serveur web.

J'ai ce fichier :

#!/bin/sh

### BEGIN INIT INFO
# Provides:          firewall
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Regles acceptation ports firewall iptables
### END INIT INFO

#Make sure NEW incoming tcp connections are SYN packets
sudo iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

#Packets with incoming fragments
sudo iptables -A INPUT -f -j DROP

#incoming malformed XMAS packets
sudo iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

#Incoming malformed NULL packets
sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

#Autoriser DNS
sudo iptables -A OUTPUT --protocol udp --destination-port 53 -j ACCEPT

#Sortie web
sudo iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -j ACCEPT


#Réinitialisation des règles
sudo iptables -t filter -F
sudo iptables -t filter -X

#Bloquage de tout le trafic
sudo iptables -t filter -P INPUT DROP
sudo iptables -t filter -P FORWARD DROP
sudo iptables -t filter -P OUTPUT DROP

#Autorisation des connexions déjà établies et du localhost
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -t filter -A INPUT -i lo -j ACCEPT
sudo iptables -t filter -A OUTPUT -o lo -j ACCEPT

#Autorisation du ping (ICMP)
sudo iptables -t filter -A INPUT -p icmp -j ACCEPT
sudo iptables -t filter -A OUTPUT -p icmp -j ACCEPT

#Autorisaion SSH
sudo iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
 
#Autorisation DNS
sudo iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
sudo iptables -A OUTPUT --protocol udp --destination-port 53 -j ACCEPT
sudo iptables -t filter -A INPUT -p udp --sport 53 --dport 1024:65535 -j ACCEPT
#Autorisation HTTP
sudo iptables -t filter -A INPUT -p tcp -m multiport --dport 80 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp -m multiport --dport 80 -j ACCEPT
sudo iptables -t filter -A INPUT -p udp -m multiport --dport 80 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p udp -m multiport --dport 80 -j ACCEPT

sudo iptables -t filter -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 80 -m state --state ESTABLISHED -j ACCEPT
#Autorisation HTTPS
sudo iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -t filter -A INPUT -p udp --dport 443 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p udp --dport 443 -j ACCEPT

#Autorisation FTP
sudo iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 20 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -t filter -A INPUT -p udp --dport 161 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p udp --dport 161 -j ACCEPT

#Autorisation NTP
sudo iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT

#Protection contre DDOS
sudo iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
sudo iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
sudo iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT

#Protection contre le scan de ports
sudo iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/second -j ACCEPT

Mais je ne peux pas faire de apt-get, le apt-get update ne passe pas. Connexion refusée pour chaque accès.

J'ai également essayé avec le fichier d'un utilisateur du forum, mais sans succès.

Je ne vois pas trop ce qui m’empêche de faire les mises à jours dans mon fichier.

Merci par avance pour votre aide.

Catskan

Dernière modification par catskan (Le 16/10/2015, à 11:22)

Hors ligne

#2 Le 14/10/2015, à 13:02

Alex10336

Re : iptables bloque apt-get et internet

J'suis pas pro sur iptables, mais le

#Réinitialisation des règles
sudo iptables -t filter -F
sudo iptables -t filter -X

#Bloquage de tout le trafic
sudo iptables -t filter -P INPUT DROP
sudo iptables -t filter -P FORWARD DROP
sudo iptables -t filter -P OUTPUT DROP

En plein milieux ?
Puis certaines règles sont doublé/triplé.

Dernière modification par Alex10336 (Le 14/10/2015, à 13:03)


« On ne répond pas à une question par une autre question. » (moi ;-) )

Hors ligne

#3 Le 14/10/2015, à 13:56

catskan

Re : iptables bloque apt-get et internet

Ah oui effectivement, c'était un mix des deux fichiers en fait.

Voici le vrai fichiers :

#!/bin/sh

### BEGIN INIT INFO
# Provides:          firewall
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Regles acceptation ports firewall iptables
### END INIT INFO

#Bloquage de tout le trafic
sudo iptables -t filter -P INPUT DROP
sudo iptables -t filter -P FORWARD DROP
sudo iptables -t filter -P OUTPUT DROP

#Autorisation des connexions déjà établies et du localhost
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -t filter -A INPUT -i lo -j ACCEPT
sudo iptables -t filter -A OUTPUT -o lo -j ACCEPT

#Autorisation du ping (ICMP)
sudo iptables -t filter -A INPUT -p icmp -j ACCEPT
sudo iptables -t filter -A OUTPUT -p icmp -j ACCEPT

#Autorisaion SSH
sudo iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
 
#Autorisation DNS
sudo iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT

#Autorisation HTTP
sudo iptables -t filter -A INPUT -p tcp -m multiport --dport 80 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp -m multiport --dport 80 -j ACCEPT
sudo iptables -t filter -A INPUT -p udp -m multiport --dport 80 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p udp -m multiport --dport 80 -j ACCEPT

#Autorisation HTTPS
sudo iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -t filter -A INPUT -p udp --dport 443 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p udp --dport 443 -j ACCEPT

#Autorisation FTP
sudo iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 20 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -t filter -A INPUT -p udp --dport 161 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p udp --dport 161 -j ACCEPT

#Autorisation NTP
sudo iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT

#Protection contre DDOS
sudo iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
sudo iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
sudo iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT

#Protection contre le scan de ports
sudo iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/second -j ACCEPT

Hors ligne

#4 Le 16/10/2015, à 11:20

catskan

Re : iptables bloque apt-get et internet

Bonjour,

Bon j'ai un autre soucis, j'ai désactivé le firewal "service ufw stop" et supprimé mon fichier script avec les règles du firewall mais je n'arrive toujours pas à faire les mises à jours.

En fait, je viens de voir que je n'ai plus du tout accàs au web. J'ai bien une connexion (icone ok) mais aucune connexion au web.

Par contre, en réseau local ça fonctionne, et l'accès http depuis l'exterieur fonctionne également.

Les paramètres réseaux sont identiques par rapport à une autre VM sous linux.

C'est normal qu'il m'est tout bloqué comme ça ?

Edit : J'ai viré ufw et iptables (apt-get purge -f), j'ai reboot et j'ai de nouveaux internet. Je comprend pas alors que ufw était désactivé ...

Dernière modification par catskan (Le 16/10/2015, à 11:23)

Hors ligne

#5 Le 16/10/2015, à 13:47

Alex10336

Re : iptables bloque apt-get et internet

ufw définit des règles sur iptable. (pour autant que je sache, si non, ça change pas ma dernière phrase)
ton script manipule iptable.

Le coter doublon doit pas être très "top" pour configurer ce genre de chose.


« On ne répond pas à une question par une autre question. » (moi ;-) )

Hors ligne

#6 Le 17/10/2015, à 01:17

pires57

Re : iptables bloque apt-get et internet

Ufw est plus haut niveau que iptables, tu peut le désactiver autant de fois que tu le souhaites,  tant que tes règles iptables existeront ce sera bloqué.
Et si tu nous expliquer d'abord ce quetu cherches a faire? J'ai l'impression que "ton script iptables" c'est un copié collé voire même un condensé de plusieurs commandes que tu as trouvé a droite à gauche et que ne te sont pas forcément utile.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne