Script firewall

Forum sur la sécurité des réseaux, la configuration des firewalls, la mise en place de protections contre les attaques, de DMZ, de systèmes anti-intrusion ...

Modérateur: modos Ixus

Messagepar targa » 04 Juil 2003 13:05

Bonjour, <BR> <BR>C'est encore moi. <BR>Je reviens avec mon script. <BR>J'ai fait quelques modifs depuis la dernière fois. <BR>Je ne comprends je n'ai aucun logs qui s'affiche dans syslog. <BR>Comment retrouver simplement les logs ? <BR> <BR>#!/bin/sh <BR># script /etc/firewall.sh <BR> <BR>echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter <BR>echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects <BR>echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route <BR>echo 1 > /proc/sys/net/ipv4/conf/all/log_martians <BR> <BR>## Reduce DoS'ing ability by reducing timeouts <BR>echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout <BR>echo 0 > /proc/sys/net/ipv4/tcp_window_scaling <BR>echo 0 > /proc/sys/net/ipv4/tcp_timestamps <BR>echo 0 > /proc/sys/net/ipv4/tcp_sack <BR>echo 1024 > /proc/sys/net/ipv4/tcp_max_syn_backlog <BR> <BR># Activation du forwarding <BR>echo 1 > /proc/sys/net/ipv4/ip_forward <BR> <BR># Anti-spoofing <BR> <BR>if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ] <BR>then <BR> for filtre in /proc/sys/net/ipv4/conf/*/rp_filter <BR> do <BR> echo 1 > $filtre <BR> done <BR>fi <BR> <BR># Pas de icmp <BR>echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all <BR>echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts <BR> <BR> <BR># Vidage de toutes les règles <BR>/sbin/iptables -F <BR>/sbin/iptables -t nat -F <BR>/sbin/iptables -X <BR>/sbin/iptables -t nat -X <BR> <BR># Set up policies <BR>/sbin/iptables -P INPUT DROP <BR>/sbin/iptables -P FORWARD DROP <BR>/sbin/iptables -P OUTPUT ACCEPT <BR> <BR># This chain will log, then DROPs "Xmas" and Null packets which might <BR># indicate a port-scan attempt <BR>/sbin/iptables -N PSCAN <BR>/sbin/iptables -A PSCAN -p tcp -m limit --limit 10/minute -j LOG --log-prefix "TCP Scan? " <BR>/sbin/iptables -A PSCAN -p udp -m limit --limit 10/minute -j LOG --log-prefix "UDP Scan? " <BR>/sbin/iptables -A PSCAN -p icmp -m limit --limit 10/minute -j LOG --log-prefix "ICMP Scan? " <BR>/sbin/iptables -A PSCAN -f -m limit --limit 10/minute -j LOG --log-prefix "FRAG Scan? " <BR>/sbin/iptables -A PSCAN -j DROP <BR> <BR># Disallow packets frequently used by port-scanners, XMas and Null <BR>/sbin/iptables -A INPUT -p tcp --tcp-flags ALL ALL -j PSCAN <BR>/sbin/iptables -A FORWARD -p tcp --tcp-flags ALL ALL -j PSCAN <BR>/sbin/iptables -A INPUT -p tcp --tcp-flags ALL NONE -j PSCAN <BR>/sbin/iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j PSCAN <BR> <BR> <BR>## Création des logs <BR>iptables -N LOG_DROP <BR>iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP] : ' <BR>iptables -A LOG_DROP -j DROP <BR> <BR>iptables -N LOG_ACCEPT <BR>iptables -A LOG_ACCEPT -j LOG --log-prefix '[IPTABLES ACCEPT] : ' <BR>iptables -A LOG_ACCEPT -j ACCEPT <BR> <BR> <BR># Politique par défaut <BR>iptables -P FORWARD DROP <BR>iptables -P INPUT DROP <BR>iptables -P OUTPUT DROP <BR> <BR>iptables -A INPUT -i lo -j ACCEPT <BR>iptables -A OUTPUT -o lo -j ACCEPT <BR> <BR> <BR>iptables -A INPUT -i eth0 -j ACCEPT <BR>iptables -A OUTPUT -o eth0 -j ACCEPT <BR>#iptables -A FORWARD -s 10.0.1.0/24 -j ACCEPT <BR> <BR>#################################################### Masquerading ######################################### <BR> <BR>iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -j MASQUERADE <BR> <BR> <BR>################### ##################### <BR> <BR>iptables -A FORWARD -i eth0 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT <BR>iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT <BR> <BR>###################################### <BR> <BR> <BR>#iptables -A INPUT -i eth1 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT <BR>#iptables -A OUTPUT -o eth1 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT <BR>#iptables -A INPUT -i eth1 -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT <BR>#iptables -A OUTPUT -o eth1 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT <BR> <BR> <BR> <BR>Toutes critiques est la bien venue.
Avatar de l’utilisateur
targa
Contre-Amiral
Contre-Amiral
 
Messages: 371
Inscrit le: 20 Fév 2003 01:00

Messagepar tomtom » 04 Juil 2003 13:59

Je ne suis toujours pas convaincu par l'antispoofing integré, mais ca a une meilleure tete globalement maintenant <IMG SRC="images/smiles/icon_wink.gif"> <BR> <BR>T.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar targa » 04 Juil 2003 15:01

Merci, <BR> <BR>Pour cette histoire, d'antispoofing, je pense que je peux car elle ne sert à rien puisque si je ne me trompe pas la ligne <BR>"echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter " fait la même chose <BR> <BR>J'ai quelques problèmes avec les logs. <BR>Quelles sont les éléments important à logguer ? <BR>Par contre pourriez vous vérifier les logs, car dans syslog, je ne trouve pas de logs récents, les derniers datent de 2 jours.
Avatar de l’utilisateur
targa
Contre-Amiral
Contre-Amiral
 
Messages: 371
Inscrit le: 20 Fév 2003 01:00

Messagepar tomtom » 04 Juil 2003 15:17

<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR>Le 2003-07-04 15:01, targa a écrit: <BR>Merci, <BR> <BR>Pour cette histoire, d'antispoofing, je pense que je peux car elle ne sert à rien puisque si je ne me trompe pas la ligne <BR>"echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter " fait la même chose <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>Ca ca desactive l'antiospoofing, ce qui est bien à mon avis à condition de l'implementer ensuite dans ton script ce que tu ne fais pas ici....¨Par contre, plus loin, tu rajoutes de lignes qui servent à mettre l'antispoofing... <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR>J'ai quelques problèmes avec les logs. <BR>Quelles sont les éléments important à logguer ? <BR>Par contre pourriez vous vérifier les logs, car dans syslog, je ne trouve pas de logs récents, les derniers datent de 2 jours. <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>Tu as bien defini les tables de log, mais tu n'y envoies pas les paquets, donc c'est sur que tu n'as rien.. <BR> <BR>Pour logguer des trucs, tu dois remplacer le -j DROP par un -j LOG_DROP et le -j ACCEPT par un -j LOG_ACCEPT <BR> <BR>T. <BR> <BR> <BR> <BR>_________________ <BR>"Ce n'est pas parce qu'un problème n'a pas été résolu qu'il est impossible à résoudre" A. Christie<BR><BR><font size=-2></font>
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar targa » 04 Juil 2003 15:30

<BR>Quels sont les logs importants que l'on doit matcher ? <BR> <BR>Il faut connaitre les tentatives de connexions. Je ne vois pas trop ou implémenter les logs. <BR> <BR> <BR>
Avatar de l’utilisateur
targa
Contre-Amiral
Contre-Amiral
 
Messages: 371
Inscrit le: 20 Fév 2003 01:00

Messagepar tomtom » 04 Juil 2003 15:37

Ben faut dire que tu n'as pas beaucoup de trucs dans ton script.... <BR> <BR>Tu peux t'inspirer d'un de mes anciens (fait une recherche sur le forum avec mon nom) tu vas le trouver... <BR> <BR>T.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar targa » 04 Juil 2003 16:09

Tu parles de ton site générateur de script ??
Avatar de l’utilisateur
targa
Contre-Amiral
Contre-Amiral
 
Messages: 371
Inscrit le: 20 Fév 2003 01:00

Messagepar tomtom » 04 Juil 2003 16:12

non, de mon script rc.firewall <BR> <BR>c'etait dans un poste a props du bnc je crois... <BR> <BR>neanmoins, le generateur est pas mal foutu ! <BR> <BR>T.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar targa » 04 Juil 2003 16:15

Ok c'est bon je les trouvé. <BR> <BR>Ce n'est pas trop la même chose. <BR> <BR>Beau travail.
Avatar de l’utilisateur
targa
Contre-Amiral
Contre-Amiral
 
Messages: 371
Inscrit le: 20 Fév 2003 01:00

Messagepar targa » 04 Juil 2003 16:48

Dans ton script à quel niveau tu mets en place du forwarding entre le green et le red pour laisser passer les connexions de l'intérieur vers l'extérieur. <BR> <BR>Il s'agit bien de : <BR> <BR>echo -n " les connexions etablies sont suivies: " <BR>$IPTABLES -A SuiviConnexions -m state --state NEW -i ! $IFRED -j ACCEPT <BR>$IPTABLES -A SuiviConnexions -m state --state ESTABLISHED,RELATED -j ACCEPT <BR>$IPTABLES -A INPUT -j SuiviConnexions <BR>$IPTABLES -A FORWARD -j SuiviConnexions <BR> <BR>Comment ca fonctionne ? <BR> <BR>Moi je fais ainsi : <BR> <BR> <BR>iptables -A FORWARD -i eth0 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT <BR>iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT <BR> <BR>J'indique bien mes 2 interfaces, comment en suivant ton modèle je devrais faire pour mettre une DMZ en eth2 et eth0
Avatar de l’utilisateur
targa
Contre-Amiral
Contre-Amiral
 
Messages: 371
Inscrit le: 20 Fév 2003 01:00

Messagepar tomtom » 04 Juil 2003 17:44

<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR>echo -n " les connexions etablies sont suivies: " <BR>$IPTABLES -A SuiviConnexions -m state --state NEW -i ! $IFRED -j ACCEPT <BR>$IPTABLES -A SuiviConnexions -m state --state ESTABLISHED,RELATED -j ACCEPT <BR>$IPTABLES -A INPUT -j SuiviConnexions <BR>$IPTABLES -A FORWARD -j SuiviConnexions <BR> <BR>Comment ca fonctionne ? <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>Qu'est-ce qui te choque ? <BR>je lis en français : <BR> <BR>iptables ajouter à la table suiviConnexions la règle : <BR>les paquets dont l'etat est NEW (--state NEW) qui n'arrivent pas par l'interface red (-i ! $IFRED ) sont acceptés.... <BR>Ca veut dire : tout le monde a le droit d'etablir une connexion, sauf depuis Internet... (c'est une approche assez cool du firewall, mais ca fe suffisait à l'epoque). <BR>la deuxième règle : tout ce qui est deja etabli ou related est accepté.... <BR> <BR>ligne 3 et 4 : j'ajoute ces règles dans les tables INPUT et FORWARD. <BR> <BR>Apres ça : toutes les connexions emises soit par le firewall soit par le lan ou une dmz sont autorisées... par contre, toute nouvelle connexion depuis internet est rejetée... <BR> <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR>Moi je fais ainsi : <BR> <BR>iptables -A FORWARD -i eth0 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT <BR>iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR>c'est une autre approche... Je prefère la mienne car elle est plus generale et aussi plus claire dans ma tête. <BR> <BR><!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR>J'indique bien mes 2 interfaces, comment en suivant ton modèle je devrais faire pour mettre une DMZ en eth2 et eth0 <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>Tu n'as rien à faire avec mes règles pour autoriser une dmz. C'est deja inclus dedans... Economie de règles <IMG SRC="images/smiles/icon_smile.gif"> et de CPU aussi <IMG SRC="images/smiles/icon_biggrin.gif"> <BR> <BR>T.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar targa » 04 Juil 2003 18:16

Je commence à comprendre. Vraiment bien. <BR> <BR>Si je peux encore me permettre, j'ai essayé ton script et il ne loggue rien. Il n'arrive pas à charger tous les modules au démarrage. <BR>Qu'est ce que j'ai pas fait ? <BR> <BR>En tout cas merci beaucoup de m'accorder autant de temps. <BR>
Avatar de l’utilisateur
targa
Contre-Amiral
Contre-Amiral
 
Messages: 371
Inscrit le: 20 Fév 2003 01:00

Messagepar tomtom » 04 Juil 2003 18:19

Il n'y a aucune log dans ce script, c'est pour ça <IMG SRC="images/smiles/icon_wink.gif"> <BR> <BR>Si tu veux ajouter des logs : <BR> <BR>reprends la syntaxe de ton script <BR> <BR>iptables -N LOG_DROP <BR>iptables -A LOG_DROP -j LOG --log-prefix [IPTABLES DROP] <BR>iptables -A LOAG_DROP -j DROP <BR> <BR> <BR>ensuite, pour tout ce que tu veux logguer, tu remplaces le -j DROP par un -j LOG_drop. <BR> <BR> <BR>et aussi, tu ajoutes à la fin de chaque chaine un LOG. <BR> <BR>ex apres toutes les règles, <BR> <BR>iptables -A INPUT -j LOG <BR>iptables -A FORWARD -j LOG <BR> <BR> <BR>voila tes logs vont réapparaitre... <BR> <BR>T.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar DgSe95 » 06 Juil 2003 06:05

que pensez vous de ça ? <BR> <BR><!-- BBCode auto-link start --><a href="http://securityfocus.org/infocus/unix?topic=fwrules" target="_blank">http://securityfocus.org/infocus/unix?topic=fwrules</a><!-- BBCode auto-link end --> <BR> <BR>il y a pas mal de choses a reprendre dedans je crois....
DgSe95 est de retour :)
Avatar de l’utilisateur
DgSe95
Vice-Amiral
Vice-Amiral
 
Messages: 666
Inscrit le: 03 Mars 2003 01:00
Localisation: Genève, Suisse

Messagepar targa » 07 Juil 2003 11:42

Bonjour, <BR> <BR>Pas mal ton site DgSe95, il y a quelques trucs à récupérer. <BR> <BR>Comment je dois faire pour limiter que le traffic web de ma dmz avec le script de tomtom. <BR>Dans mon cas j'utilise une dmz en 10.0.0.0/24 et avec épatement elle est accessible sans rien changer au script.
Avatar de l’utilisateur
targa
Contre-Amiral
Contre-Amiral
 
Messages: 371
Inscrit le: 20 Fév 2003 01:00

Suivant

Retour vers Sécurité et réseaux

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invité(s)

cron