Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Iptables et logs...

1 réponse
Avatar
Guilhem
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...

1 réponse

Avatar
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..