Iptables et log sur ecran

Résolu/Fermé
kisscool_ Messages postés 48 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 10 octobre 2008 - 15 oct. 2007 à 10:58
kisscool_ Messages postés 48 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 10 octobre 2008 - 16 oct. 2007 à 11:55
Bonjour,

J'ai mi en place une passerelle internet au boulot qui marche nickel au niveau du filtrage, cependant j'ai un petit soucis.

Lorsque mon script iptable est lancé tout mes paquets dropés apparaissent sur l'ecran et je dois avouer que c'est assez genant quand on veut faire une manipulation sur la machine directement. Une astuce que j'ai j'ai trouvé c'est d'arreter soit mon firewall soit les interfaces reseaux mais c'est pas l'ideal.

J'ai essayer de modifier les log-level mais le probleme persistait, j'ai aussi essayer de passer syslog en modifiant la destination des logs du kernel mais rien a faire.

Peut etre que je mis suis mal pris pourtant je me suis basé sur differents articles que j'ai pu trouvé sur le net.
Alors si quelqu'un avait un solution pour faire disparaitre ces informations de l'ecran ca m'arrangerait enormement.

Pour info, la passerelle tourne sur une debian etch 40r1 completement a jour.

Merci d'avance :)
A voir également:

13 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
15 oct. 2007 à 11:04
Salut,

peut tu afficher to script?
0
c-moi Messages postés 81 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 6 juillet 2011 10
15 oct. 2007 à 11:23
Bonjour,

pour avoir les logs dans syslog, voici les commandes iptables à utiliser :

# creation de la chaine de log :
iptables -N LOG_DROP

# mise en place du préfixe dans les logs (utile pour trier les logs)
iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP] : '

# association de la règle à logguer
iptables -A LOG_DROP -j DROP

Ne pas oublier, en début de script, avec les divers iptables -F, un petit
iptables -X LOG_DROP


Normalement, tu devrais avoir directement les messages dans ton syslog, et non pas sur la console. Mais montre nous le script tout de même, comme l'a conseillé lami20j

En espérant avoir aidé,

c-moi
0
kisscool_ Messages postés 48 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 10 octobre 2008 1
15 oct. 2007 à 11:35
Alors le script ca donne ca

#
echo -e "\n [ Mise en place de regles Iptables ]"

#
# On vide les regles actuellement en place

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

#
# On met en place un firewall, alors le but est de tout bloquer
# On place les politiques par defaut a DROP

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#
# Et on ajoute explicitement ce qu'on autorise

#
# Tout d'abord on autorise le traffic sur la boucle local
# pour le bon fonctionnement de la machine en elle meme.

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#
# On autorise le ping vers l'exterieur

iptables -A OUTPUT -o eth0 -m state --state NEW,ESTABLISHED,RELATED -p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -p icmp --icmp-type 0 -j ACCEPT

#
# On autorise le ping vers le reseau local

iptables -A OUTPUT -o eth1 -d x.x.x.x/24 -m state --state NEW,ESTABLISHED,RELATED -p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -p icmp --icmp-type 0 -j ACCEPT

#
# On autorise le ping depuis l'exterieur

# iptables -A INPUT -i eth0 -s x.x.x.x/24 -m state --state NEW,ESTABLISHED,RELATED -p icmp --icmp-type 8 -j ACCEPT
# iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED,RELATED -p icmp --icmp-type 0 -j ACCEPT

#
# On autorise la resolution de noms

iptables -A OUTPUT -o eth0 -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state NEW,ESTABLISHED,RELATED -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -p udp --sport 53 -j ACCEPT

#
# On autorise la consultation de pages web

iptables -A OUTPUT -o eth0 -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport www -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -p tcp --sport www -j ACCEPT

#
# On autorise la consultation de pages web securisees

iptables -A OUTPUT -o eth0 -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport https -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -p tcp --sport https -j ACCEPT

#
# On autorise les connections ssh depuis l'exterieur

iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT

#
# Partie concernant le LAN
#

#
# Partage de connexion
#

#
# On active la translation d'adresse

echo 1 > /proc/sys/net/ipv4/ip_forward

#
# On cache le LAN derriere l'adresse IP public du serveur
# Sinon les machines communiqueraient vers l'exterieur avec
# leur adresse privee

iptables -t nat -A POSTROUTING -s x.x.x.x/24 -j MASQUERADE

#
# Fin du partage de connexion
#

#
# On autorise les requetes DNS provenant du LAN

iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT

# On autorise les machines du LAN a consulter les pages web

iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT

#
# On met en place un proxy transparent pour les utilisateur du LAN

# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.26.0.1:3128

#
# On autorise les machines du LAN a consulter les pages web securisees

iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport https -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp --sport https -m state --state ESTABLISHED,RELATED -j ACCEPT

#
# On autorise les machines du LAN a acceder aux sites ftp ( mode actif )

# iptables -A FORWARD -i eth1 -o eth0 -p tcp -m multiport --dports ftp,ftp-data -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# iptables -A FORWARD -i eth0 -o eth1 -p tcp -m multiport --sports ftp,ftp-data -m state --state ESTABLISHED,RELATED -j ACCEPT

#
# On autorise le ping depuis le reseau local

iptables -A INPUT -i eth1 -d x.x.x.x -m state --state NEW,ESTABLISHED,RELATED -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -o eth1 -m state --state ESTABLISHED,RELATED -p icmp --icmp-type 0 -j ACCEPT

#
# On autorise les connections ssh depuis le LAN

iptables -A INPUT -i eth1 -p tcp --dport 22 -s x.x.x.x/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp --sport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT

#
# On prepare iptables pour l'utilisation de logs

iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP : ] ' --log-level warn
iptables -A LOG_DROP -j DROP

#
# On log ce qui a ete droppé

iptables -A INPUT -j LOG_DROP
iptables -A OUTPUT -j LOG_DROP
iptables -A FORWARD -j LOG_DROP

echo -e " [ Terminé ]\n"


Je sais qu'il est pas parfait mais il a le merite de fonctionner et je le paufinerai quand j'aurai un peu plus de temps. Je suis preneur de toute remarques pour l'amliorer :)
0
c-moi Messages postés 81 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 6 juillet 2011 10
15 oct. 2007 à 12:12
Re bonjour,

as tu essayé sans le --log-level warn ? A noter qu'il vaut mieux utiliser warning que warn (cf https://inetdoc.net/guides/iptables-tutorial/logtarget.html ). Regarde au cas où ton fichier /var/syslog.conf pour voir si tu as une règle au niveau kern.=warning


Sinon, je ne sais plus s'il y a une notion d'état de connexion pour le protocole ICMP, au sujet du
 -m state --state NEW,ESTABLISHED,RELATED
mais rien de bien grave.

Tu pourrais, peut être, directement autoriser les connexions déjà existantes (
 -m state --state ESTABLISHED,RELATED
) par défaut, non ?

c-moi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kisscool_ Messages postés 48 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 10 octobre 2008 1
15 oct. 2007 à 13:10
Pour le log-level j'ai essayer un peu tout warn, warning, info etc ... mais le resultat n'etait toujours pas ce que je voulais. J'avait un doute a un moment sur ma syntaxe mais je crois que de ce coté la c'est bon.

Dans le fichier de conf de syslog, j'ai positionner un peu partout le kern.=warn mais l'affichage se fesai toujours sur la console. Je viens de me rendre compte que ma redirection vers un autre fichier que /var/log/messages que j'avais fait a fonctionner jusqu'a il y a pas tres longtemps parce que la derniere ecriture qui a ete faite dans le fichier /var/log/iptables date d'aujourdhui a 12h39.

Ca ne regles pas le probleme meme si je cherchais parallelement a changer de fichier aussi :)


Les related established j'en ai mis un peu a toutes les sauces, il faudrai que je replonge dans les proto pour ameliorer ca mais il me semble que reellement il n'y a besoin d'un related que pour le ftp actif.

Je vais essayer de jouer encore avec les logs-level de iptables parce que je sens que je suis pas loin de la solution :)
0
c-moi Messages postés 81 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 6 juillet 2011 10
15 oct. 2007 à 14:19
Si ma mémoire est bonne, c'est plus le
RELATED
qui est utile à ftp (lancement d'une autre connexion sur un autre port lors d'une transfert, ou après validation de la connexion, je crois)
Pour
ESTABLISHED
c'est pour éviter que les réponses à une demande de connexion ne soient bloquées, ou que les connexions déjà existantes le soient aussi. Tout ceci est évidemment à vérifier (je n'ai pas de pc sous Linux à triturer sous la main).

Quand au log-level, c'est certainement là dedans que le problème réside, mais personnellement, sous debian etch et sid, je n'ai jamais mis aucun log-level explicitement et tous les logs arrivaient sur syslog...

Bonne investigation,

c-moi
0
kisscool_ Messages postés 48 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 10 octobre 2008 1
15 oct. 2007 à 15:34
Mes logs arrivent bien dans syslog, ils sont inscrits dans /var/log/messages et pendant un temps dans /var/log/iptables suite a ma redirection. Parallelement a cette inscription les logs s'affichaient egalement sur la console ce qui est vraiment genant quand je dois manipuler physiquement sur la passerelle.

Heureusement je crois etre arrivé a stopper l'affichage des logs sur la console en passant --log-level a debug mais ( y'a toujours un mais ^^ ) j'ai l'impression que j'ai plus du tout d'inscription dans les fichiers de logs :s
0
bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 473
15 oct. 2007 à 20:03
Bonjour,

Qu'indique le fichier proc/sys/kernel/printk
chez moi
[root@bob ~]# cat /proc/sys/kernel/printk
3       4       1       7
[root@bob ~]#  



:-))
0
kisscool_ Messages postés 48 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 10 octobre 2008 1
15 oct. 2007 à 20:33
Je suis plus chez moi actuellement
Je regarderais ca demain quand j'aurai le temps :)
0
bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 473
15 oct. 2007 à 20:50
Voilà l'idée : c'est parti d'ici :

How do I stop iptables logging to the console
https://lists.samba.org/archive/linux/2002-January/001726.html


j'avoue que c'est juste pour aider n'y connaissant rien ! Désolé mais c'est anglais !

2002 c'est un peu vieux mais je retrouve les mêmes choses sur mon noyau 2.6.22.6. On y parle de voir du côté du fichier dont je parlais plus haut ! (lire toutes les réponses car une autre solution est indiquée dans ce même lien).

et ce passage intéressant :
The four numbers in /proc/sys/kernel/printk control the ``verbosity'' level of the printk kernel function, and the first number is the console_loglevel: kernel messages with priority less than or equal to the specified one will be printed to the system console (the active virtual console, unless you changed it). The parameter doesn't affect operation of klogd, which received all the messages in any case. The following commands show how to change the loglevel:

morgana.root# cat kernel/printk
6 4 1 7
morgana.root# echo 8 > kernel/printk
morgana.root# cat kernel/printk
8 4 1 7

a level of 8 corresponds to debugging messages: they are not printed on the console by default, but the previous session changes the behaviour to print every message, even the debugging ones..

source : http://www.linux.it/~rubini/docs/sysctl/

Voilà en recoupant les infos ...si ça peut aider.

bon courage.

:-))


0
kisscool_ Messages postés 48 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 10 octobre 2008 1
15 oct. 2007 à 23:10
Merci pour le lien j'ai pas du taper les bon mots dans google :D

Je regarderai ca de plus pres demain c'est toujours bon pour sa culture perso :)
0
tlep Messages postés 596 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 25 octobre 2012 118
15 oct. 2007 à 23:30
J'ai l'impression que le problème n'est pas spécifiquement lié à iptables, mais au noyau et à ses appels modifiables dans /proc :

man proc

C'est un problème que j'ai déjà rencontré: genre un cd illisible, une clé usb mal formatée, et les messages du noyau envahissent tous les écrans de toutes les consoles, qui deviennent inutilisables.

Je suis preneur de la solution; peut-être du côté de /proc/sys/kernel/printk comme cité plus haut ?

:-)
0
kisscool_ Messages postés 48 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 10 octobre 2008 1
16 oct. 2007 à 11:55
Je crois avoir resolu mon probleme.

En fait j'ai profiter d'un moment d'inutilisation de la passerelle pour la rebooter et l'inscription dans les fichiers de log est repartie.

J'ai aussi passer dans iptables le --log-level a debug, il n'apparaissent plus sur l'ecran et conformement a syslog ils sont maintenant dans le fichier /var/log/debug.

Ce n'est pas encore idealement ce que je souhaiterai mais pour le moment je vais me contenter de cette configuration.

Merci a ceux qui auront pris la peine de m'aider :)

A bientot
0