<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jmanteau &#187; iptables</title>
	<atom:link href="http://www.jmanteau.fr/tag/iptables/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jmanteau.fr</link>
	<description>Photos, blog, CV &#38; Co : le "coin de Toile" de Julien Manteau</description>
	<lastBuildDate>Wed, 08 Feb 2012 13:49:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Règles Iptables</title>
		<link>http://www.jmanteau.fr/informatique/linux/regles-iptables/</link>
		<comments>http://www.jmanteau.fr/informatique/linux/regles-iptables/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 12:55:37 +0000</pubDate>
		<dc:creator>jmanteau</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[filtrage]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[iptables]]></category>

		<guid isPermaLink="false">http://jmanteau.free.fr/blog/?p=14</guid>
		<description><![CDATA[IPtables (associé à Netfilter) est un des meilleurs firewalls pour Linux, et certainement le plus répandu. Vous pourrez trouver de nombreux scripts de configuration à son sujet. En voici un, à adapter à votre configuration. A tout instant, utilisez la commande iptables -L -v pour lister les règles en place. Celles-ci portent sur 3 chaînes [...]]]></description>
			<content:encoded><![CDATA[<p>IPtables (associé à Netfilter) est un des meilleurs firewalls pour Linux, et certainement le plus répandu. Vous pourrez trouver de nombreux scripts de configuration à son sujet. En voici un, à adapter à votre configuration. A tout instant, utilisez la commande iptables -L -v pour lister les règles en place.</p>
<p>Celles-ci portent sur 3 chaînes : INPUT (en entrée), FORWARD (dans le cas d&#8217;un routage réseau) et OUPUT (en sortie). Les actions à entreprendre sont ACCEPT (accepter le paquet), DROP (le jeter), QUEUE et RETURN.</p>
<p>Arguments utilisés :</p>
<p>* i : interface d&#8217;entrée (input)<br />
* i : interface de sortie (output)<br />
* t : table (par défaut filter contenant les chaînes INPUT, FORWARD, OUTPUT)<br />
* j : règle à appliquer (Jump)<br />
* A : ajoute la règle à la fin de la chaîne (Append)<br />
* I : insère la règle au début de la chaîne (Insert)<br />
* R : remplace une règle dans la chaîne (Replace)<br />
* D : efface une règle (Delete)<br />
* F : efface toutes les règles (Flush)<br />
* X : efface la chaîne<br />
* P : règle par défaut (Policy)</p>
<p># lo : localhost (ou 127.0.0.1, machine locale)</p>
<p>Nous allons créer un script qui sera lancé à chaque démarrage pour mettre en place des règles de base</p>
<p>vi /etc/init.d/firewall</p>
<p>#!/bin/sh</p>
<p># Vider les tables actuelles<br />
iptables -t filter -F</p>
<p># Vider les règles personnelles<br />
iptables -t filter -X</p>
<p># Interdire toute connexion entrante et sortante<br />
iptables -t filter -P INPUT DROP<br />
iptables -t filter -P FORWARD DROP<br />
iptables -t filter -P OUTPUT DROP</p>
<p># &#8212;</p>
<p># Ne pas casser les connexions etablies<br />
iptables -A INPUT -m state &#8211;state RELATED,ESTABLISHED -j ACCEPT<br />
iptables -A OUTPUT -m state &#8211;state RELATED,ESTABLISHED -j ACCEPT</p>
<p># Autoriser loopback<br />
iptables -t filter -A INPUT -i lo -j ACCEPT<br />
iptables -t filter -A OUTPUT -o lo -j ACCEPT</p>
<p># ICMP (Ping)<br />
iptables -t filter -A INPUT -p icmp -j ACCEPT<br />
iptables -t filter -A OUTPUT -p icmp -j ACCEPT</p>
<p># &#8212;</p>
<p># SSH In<br />
iptables -t filter -A INPUT -p tcp &#8211;dport 2222 -j ACCEPT</p>
<p># SSH Out<br />
iptables -t filter -A OUTPUT -p tcp &#8211;dport 2222 -j ACCEPT</p>
<p># DNS In/Out<br />
iptables -t filter -A OUTPUT -p tcp &#8211;dport 53 -j ACCEPT<br />
iptables -t filter -A OUTPUT -p udp &#8211;dport 53 -j ACCEPT<br />
iptables -t filter -A INPUT -p tcp &#8211;dport 53 -j ACCEPT<br />
iptables -t filter -A INPUT -p udp &#8211;dport 53 -j ACCEPT</p>
<p># NTP Out<br />
iptables -t filter -A OUTPUT -p udp &#8211;dport 123 -j ACCEPT</p>
<p>#Si vous hébergez un sevreur web (Apache) :</p>
<p># HTTP + HTTPS Out<br />
iptables -t filter -A OUTPUT -p tcp &#8211;dport 80 -j ACCEPT<br />
iptables -t filter -A OUTPUT -p tcp &#8211;dport 443 -j ACCEPT</p>
<p># HTTP + HTTPS In<br />
iptables -t filter -A INPUT -p tcp &#8211;dport 80 -j ACCEPT<br />
iptables -t filter -A INPUT -p tcp &#8211;dport 443 -j ACCEPT<br />
iptables -t filter -A INPUT -p tcp &#8211;dport 8443 -j ACCEPT</p>
<p>#Si vous hébergez un serveur FTP :</p>
<p># FTP Out<br />
iptables -t filter -A OUTPUT -p tcp &#8211;dport 20:21 -j ACCEPT</p>
<p># FTP In<br />
modprobe ip_conntrack_ftp<br />
iptables -t filter -A INPUT -p tcp &#8211;dport 20:21 -j ACCEPT<br />
iptables -t filter -A INPUT -m state &#8211;state ESTABLISHED,RELATED -j ACCEPT</p>
<p>#Si vous hébergez un serveur de mail avec SMTP, POP3 et IMAP :</p>
<p># Mail SMTP:25<br />
iptables -t filter -A INPUT -p tcp &#8211;dport 25 -j ACCEPT<br />
iptables -t filter -A OUTPUT -p tcp &#8211;dport 25 -j ACCEPT</p>
<p># Mail POP3:110<br />
iptables -t filter -A INPUT -p tcp &#8211;dport 110 -j ACCEPT<br />
iptables -t filter -A OUTPUT -p tcp &#8211;dport 110 -j ACCEPT</p>
<p># Mail IMAP:143<br />
iptables -t filter -A INPUT -p tcp &#8211;dport 143 -j ACCEPT<br />
iptables -t filter -A OUTPUT -p tcp &#8211;dport 143 -j ACCEPT</p>
<p># Mail POP3S:995<br />
iptables -t filter -A INPUT -p tcp &#8211;dport 995 -j ACCEPT<br />
iptables -t filter -A OUTPUT -p tcp &#8211;dport 995 -j ACCEPT</p>
<p>Lorsque vous avez défini toutes les règles, rendez ce fichier exécutable :</p>
<p>chmod +x /etc/init.d/firewall</p>
<p>Vous pourrez le tester en l&#8217;exécutant directement en ligne de commande. Assurez-vous d&#8217;avoir toujours le contrôle de votre machine (reconnectez-vous en SSH, vérifiez la disponibilité des services web, ftp, mail&#8230;). En cas d&#8217;erreur, redémarrez le serveur, les règles seront oubliées et vous permettront de reprendre la main. En revanche, si les tests s&#8217;avèrent concluants, ajoutez le script au démarrage pour que celui-ci protège le serveur dès le boot.</p>
<p>Afin de l&#8217;ajouter aux scripts appelés au démarrage :</p>
<p>update-rc.d firewall defaults (DEBIAN)<br />
chkconfig &#8211;levels 345 firewall on (CENTOS,RHEL)</p>
<p>Pour le retirer, vous pouvez utiliser la commande suivante :</p>
<p>update-rc.d -f firewall remove<br />
chkconfig &#8211;levels 345 firewall off (CENTOS,RHEL)</p>
<p>Redémarrez, ou exécutez /etc/init.d/firewall pour activer le filtrage.</p>
<p>N&#8217;oubliez pas de tester vos règles. Un mauvais choix peut entraîner une indisponibilité de votre serveur ou une perte de contrôle sur celui-ci avec le blocage de votre connexion SSH.</p>
<p>Vous pouvez utiliser IPtables sans passer par un script de démarrage et entrer directement les instructions en mode console. Pour bannir temporairement une adresse IP en cas de nécessité, utilisez la commande iptables -A INPUT -s adresse_ip -j DROP</p>
<p>via <a href="http://css.alsacreations.com/Administration-serveur-dedie/Securite-firewall-iptables"> Alsa Créations</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jmanteau.fr/informatique/linux/regles-iptables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

