Bonjour,
Je viens d'écrire un script 'iptables' que j'ai placé dans
/etc/rc.d/init.d/.
Ce script est le suivant:
. /etc/rc.d/init.d/functions
# Suppression de toutes les chaines pre-definies de la table FILTER
iptables -t filter -F
# Suppression de toutes les chaines utilisateur de la table FILTER
iptables -t filter -X
# Par defaut, toute les paquets sont detruits
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP
# Autorise l'interface loopback a dialoguer avec elle-meme
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
#Connexion a internet (dns, http, ...). Les reponses ne sont envoyees
#seulement lorsque je les demande
iptables -t filter -A OUTPUT -o ppp0 -p all -m state --state ! INVALID
-j ACCEPT
iptables -t filter -A INPUT -i ppp0 -p all -m state --state
RELATED,ESTABLISHED -j ACCEPT
Que pensez-vous de ce script ? Permet-il de bien sécurisé l'ordinateur ?
Que dois-je rajouter pour loguer tout ce qui est refusé ?
Comment appliquer ce script après une modification sans avoir à
redémarrer l'ordinateur ?
Merci à tous de vos réponses !
Cordialement.
Guilhem.
[edit] Je ne vois pas très bien la différence entre
/etc/init.d/rc.d/iptables et /etc/sysconfig/iptables...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Xavier Roche
Guilhem wrote:
Je viens d'écrire un script 'iptables' que j'ai placé dans /etc/rc.d/init.d/. Que pensez-vous de ce script ? Permet-il de bien sécurisé l'ordinateur ?
Humm, déja, posée comme ça, la question contient la réponse: vous ne semblez pas maitriser totalement les problèmes de firewalling (ce n'est pas grave!), donc la sécurisation est potentiellement très aléatoire.
Maintenant, il y a deux approches:
1- Vous voulez avant tout apprendre.
Je vous conseille vivement de lire les FAQ, et surtout comparer votre script avec d'autres scripts, comprendre les éventuelles choix et différences, et ainsi vous faire une opinion. Coupez tous les services inutiles, histoire qu'un petit malin ne puisse pas vous ennuyer si votre fiewall est une passoire (en gros, aucun service ouvert, sauf le SSH éventuellement, avec des règles d'accès strictes)
L'idéal, c'est aussi d'avoir une autre machine distante, et les logs de iptables au maximum, pour voir "ce qui passe" quand vous chatouillez le firewall depuis l'exterieur.
La FAQ de Netfilter: <http://www.netfilter.org/documentation/FAQ/fr/netfilter-faq.html>
Un petit exemple chez Léa Linux: <http://lea-linux.org/reseau/secu/iptables.html>
2- Vous voulez sécuriser votre réseau
Mon conseil, c'est de laisser faire le boulot délicat (filtrage des paquets entrants selon les flags TCP, par exemple, pour autoriser le retour des connexions vers l'exterieur ; ou encore les problèmes de connection tracking sur le ftp) par des scripts "faits pour". Ne cherchez surtout pas à réinventer la roue, c'est inutile et potentiellement dangereux.
Exemple: firehol, qui est très simple et très extensible, et permet d'éviter de faire des bêtises. C'est AMHA l'un des meilleurs scripts de backend pour iptables (qui est en fait un script shell générant des règles iptables). On peut au passage lui faire lister ces règles générées, histoire de voir comment fonctionne la bête.
<http://firehol.sourceforge.net/>
C'est tellement simple et extensible d'ailleurs que c'est celui que j'utilise le plus. J'ai longtemps utilisé un script "fait main", mais c'est tellement facile de se vautrer parce qu'on a oublié une règle à la con quelque part en voulant modifier à l'arrache un truc, que j'ai switché sur une solution plus "zen".
Que dois-je rajouter pour loguer tout ce qui est refusé ?
Humm, placer une règle LOG en tout dernier ? iptables -A INPUT -j LOG
Comment appliquer ce script après une modification sans avoir à redémarrer l'ordinateur ?
Relancer le script..
Guilhem wrote:
Je viens d'écrire un script 'iptables' que j'ai placé dans
/etc/rc.d/init.d/.
Que pensez-vous de ce script ? Permet-il de bien sécurisé l'ordinateur ?
Humm, déja, posée comme ça, la question contient la réponse: vous ne
semblez pas maitriser totalement les problèmes de firewalling (ce n'est
pas grave!), donc la sécurisation est potentiellement très aléatoire.
Maintenant, il y a deux approches:
1- Vous voulez avant tout apprendre.
Je vous conseille vivement de lire les FAQ, et surtout comparer votre
script avec d'autres scripts, comprendre les éventuelles choix et
différences, et ainsi vous faire une opinion. Coupez tous les services
inutiles, histoire qu'un petit malin ne puisse pas vous ennuyer si votre
fiewall est une passoire (en gros, aucun service ouvert, sauf le SSH
éventuellement, avec des règles d'accès strictes)
L'idéal, c'est aussi d'avoir une autre machine distante, et les logs de
iptables au maximum, pour voir "ce qui passe" quand vous chatouillez le
firewall depuis l'exterieur.
La FAQ de Netfilter:
<http://www.netfilter.org/documentation/FAQ/fr/netfilter-faq.html>
Un petit exemple chez Léa Linux:
<http://lea-linux.org/reseau/secu/iptables.html>
2- Vous voulez sécuriser votre réseau
Mon conseil, c'est de laisser faire le boulot délicat (filtrage des
paquets entrants selon les flags TCP, par exemple, pour autoriser le
retour des connexions vers l'exterieur ; ou encore les problèmes de
connection tracking sur le ftp) par des scripts "faits pour". Ne
cherchez surtout pas à réinventer la roue, c'est inutile et
potentiellement dangereux.
Exemple: firehol, qui est très simple et très extensible, et permet
d'éviter de faire des bêtises. C'est AMHA l'un des meilleurs scripts de
backend pour iptables (qui est en fait un script shell générant des
règles iptables). On peut au passage lui faire lister ces règles
générées, histoire de voir comment fonctionne la bête.
<http://firehol.sourceforge.net/>
C'est tellement simple et extensible d'ailleurs que c'est celui que
j'utilise le plus. J'ai longtemps utilisé un script "fait main", mais
c'est tellement facile de se vautrer parce qu'on a oublié une règle à la
con quelque part en voulant modifier à l'arrache un truc, que j'ai
switché sur une solution plus "zen".
Que dois-je rajouter pour loguer tout ce qui est refusé ?
Humm, placer une règle LOG en tout dernier ?
iptables -A INPUT -j LOG
Comment appliquer ce script après une modification sans avoir à
redémarrer l'ordinateur ?
Je viens d'écrire un script 'iptables' que j'ai placé dans /etc/rc.d/init.d/. Que pensez-vous de ce script ? Permet-il de bien sécurisé l'ordinateur ?
Humm, déja, posée comme ça, la question contient la réponse: vous ne semblez pas maitriser totalement les problèmes de firewalling (ce n'est pas grave!), donc la sécurisation est potentiellement très aléatoire.
Maintenant, il y a deux approches:
1- Vous voulez avant tout apprendre.
Je vous conseille vivement de lire les FAQ, et surtout comparer votre script avec d'autres scripts, comprendre les éventuelles choix et différences, et ainsi vous faire une opinion. Coupez tous les services inutiles, histoire qu'un petit malin ne puisse pas vous ennuyer si votre fiewall est une passoire (en gros, aucun service ouvert, sauf le SSH éventuellement, avec des règles d'accès strictes)
L'idéal, c'est aussi d'avoir une autre machine distante, et les logs de iptables au maximum, pour voir "ce qui passe" quand vous chatouillez le firewall depuis l'exterieur.
La FAQ de Netfilter: <http://www.netfilter.org/documentation/FAQ/fr/netfilter-faq.html>
Un petit exemple chez Léa Linux: <http://lea-linux.org/reseau/secu/iptables.html>
2- Vous voulez sécuriser votre réseau
Mon conseil, c'est de laisser faire le boulot délicat (filtrage des paquets entrants selon les flags TCP, par exemple, pour autoriser le retour des connexions vers l'exterieur ; ou encore les problèmes de connection tracking sur le ftp) par des scripts "faits pour". Ne cherchez surtout pas à réinventer la roue, c'est inutile et potentiellement dangereux.
Exemple: firehol, qui est très simple et très extensible, et permet d'éviter de faire des bêtises. C'est AMHA l'un des meilleurs scripts de backend pour iptables (qui est en fait un script shell générant des règles iptables). On peut au passage lui faire lister ces règles générées, histoire de voir comment fonctionne la bête.
<http://firehol.sourceforge.net/>
C'est tellement simple et extensible d'ailleurs que c'est celui que j'utilise le plus. J'ai longtemps utilisé un script "fait main", mais c'est tellement facile de se vautrer parce qu'on a oublié une règle à la con quelque part en voulant modifier à l'arrache un truc, que j'ai switché sur une solution plus "zen".
Que dois-je rajouter pour loguer tout ce qui est refusé ?
Humm, placer une règle LOG en tout dernier ? iptables -A INPUT -j LOG
Comment appliquer ce script après une modification sans avoir à redémarrer l'ordinateur ?